One of the more paining decisions we are faced during development of a product is deciding on default behaviors. Whether it is specific values we need to consider or more generic logic inside our product. again and again I find that choosing defaults are always harder and more time consuming then we expected.
At least from my experience the reason for this is quite simple. Choosing a default is the type of decision that we always try (and told) to avoid:
1. You will always be wrong.
By default 😉 there will always be users that will need the exact opposite . And if that’s not enough this will probably be the only feedback that will be arriving (after all only these encounter issues with the defaults)
2. Its almost never based on real knowledge.
At the time of choice we don’t really know what the users need. Gathering this kind information is very time consuming and costly, to the point that I’ve yet to see it happen. At the end we make this decision based on gut feeling or educated guesses at best.
3. Its a hard to change decision.
Changing the defaults will always affect part of the user base. More likely since the first decision was not made using a coin, it will affect a substantial part of them. At the end this means that changing the default will always be substantial.
In short we end with a decision that is always based on partial knowledge (at best) we will always make it wrong (for some users) and it will cost a lot to change it.
i.e. a decision to avoid at all cost (or at least postpone to the far future).
But the real question is how to approach these?
I’m not really sure. What I try to do is:
1) First decide. A decision must be made, and I find it easier to make it after I remind myself that it cant be avoided.
2) Stick with it - as much as possible, to the point that it become an absurd not to change it. this is also easier done if I constantly remind myself that for every request to change ti there are ten more that will come once it is changed.
3) Be consistent – and this I think is the key point here. Defaults are constantly challenged. if the default behavior is consistent it will be much easier to explain and defend. if however it is not consistent it will be so much harder to do so and for some reason that will be the exact path the users will go with.
and ill end up with a question:
What practical approaches do you use to decide on the default?