... or at the very least, annoying.
It has become increasingly difficult to avoid choices in our daily lives, to an extent which many of us find intrusive and counterproductive. — Software developer Matt Legend Gemmel on Engineer Thinking
Plus one. This is true in every day life as well as software design. This is particularly bad when the choices presented are inscrutable or have unforeseeable consequences. What will happen if I “Automatically create drawing canvas when inserting AutoShapes”, as Word would have me decide? How can I tell the primary effect, much less any side-effects, if I can’t understand what the sentence means? I know what all the words mean, but put all together like that, I haven’t a clue.
The paralysis of choice is especially bad when I am required to wade through many options, most of which are bad alternatives for the one answer that would be best for me — for most people in most situations. Sadly, this is not often the default answer. My life is already filled with choices the consequences of which I do not fully understand, and which may come back to bite me later. Which college should my daughter attend? Minivan or SUV? Itemized or standard deductions?
When software bothers me to make choices that the experts who built the software should have made on my behalf, it only adds to the noise in my life. I do not know which port, protocol, profile, parameter, or pattern — and I don’t want to. My life is already filled with enough noise that I must sift through to find the music.
Software developers and designers:
- As Mr. Spock said, there are always possibilities. Nevertheless, that does not mean that I as a user should be bothered to know about all of them. The existence of a choice does not mean I should have to choose.
- You are the expert. You built the system, and you know how it should operate in most situations. If you don’t, you should figure that out, pronto. You’re just guessing (and I know how much you hate that).
- If there must be a setting, make the usual thing the default. Don’t include any dangerous, stupid, or useless options. I am not dangerous, stupid, or useless, but relative to you I am stunningly ignorant of the inner workings of your software. I appreciate that you built something wonderful; but I don’t want to understand it, I want to use it.
- Put the options in the order you want me to choose them, or in the order you think they are likely to make me happy. “Just put them in alphabetical order” is the sound of you admitting that you don’t know what you’re talking about (and I know how much you hate that). The alphabet is not an ordering principle, it is a randomizing one.
- My cat is stuck in a tree. I don’t need enough rope to hang myself with. What I need is a ladder.
- If you don’t know why I would need it, don’t build it. You won’t do a good job, and you should focus your time and energy on things that will bring you success, not disappointment. I’m just looking out for you, man.
- Memento mori. Remember that I have a finite amount of time on this earth, and I have a lot of really urgent things to do besides running your software. Every time you make me learn about something I don’t need to know, you rob me of moments I could spend with my children. (They grow up so fast!)
- And above all, remember that
[t]he Real Work is not formatting the margins, installing the printer driver, uploading the document, finishing the PowerPoint slides, running the software update or reinstalling the OS. The Real Work is teaching the child, healing the patient, selling the house, logging the road defects, fixing the car at the roadside, capturing the table’s order, designing the house and organising the party. — Fraser Speirs, Future Shock