Software Annoyances and Software Delights

Windows Behaving Badly on an Airport Kiosk

On a recent flight, I was amused to see the following message displayed on an Airport Kiosk:

There are unused icons on your desktop.

Besides looking exceedingly silly on a airport departure gate display, it also totally obliterated the status of the current flight (presumably "On Time", in this case). No airline personnel had access to the computer to update the display and dismiss the unwanted dialog. This is also a fairly common occurance as a quick search on Flickr reveals here and here. This is just one of the reasons that people can find software so frustrating. But it reminded me of a categorization of software annoyances I've been thinking about:

The Eight Levels of Software Annoyance

When people become annoyed and frustrated with their computers, I think it can be traced to a mismatch between the users intention, and what the computer/program does.

  1. I don't know if the computer can do what I want (and I don't know how to find out).
  2. I think the computer can do what I want, but I don't know how to tell it to do so.
  3. I know how to tell the computer what I want, but it does something different (or nothing at all).
  4. The computer did something "on its own" without my having requested it (possibly interrupting me).
  5. The computer is doing what I want - but it is doing it unreasonably slowly.
  6. The computer demands that I do extra work (like repeating myself) in order to get what I want accomplished.
  7. The computer loses data/work that I have invested my time in.
  8. The computer crashes/dies.

Our frustrations come from anthropomorphizing the computer, whom we feel is acting like a very stupid or very rude person. We certainly expect the computer to be subservient to us, and not the other way around. The example above is a Level IV failure. At some point, a (misguided) programmer at Microsoft felt that too many icons on the desktop was a problem that users needed some help correcting; so they added this nagging feature when Windows XP was introduced. Amazingly, there is even a user-settable option that allows you to turn this behavior on and off. No wonder Windows is so bloated.

The Seven Levels of Software Delight

Since I'm an optimist, I thought I would create a parallel list for the ways that computers and software can delight us as well:

  1. Programs that tell me how to accomplish something, exactly when I am looking for it.
  2. Programs that do exactly what I want/think they will.
  3. Programs that pleasantly surprise me by doing something I wanted, but had not asked for.
  4. Programs that are Fast.
  5. Programs that do all the work for me without my having to repeat myself.
  6. Programs that reliably retain all of my data.
  7. Programs that don't crash.

Note that Delight III is pretty close to Annoyance IV. As I'm a conservative fellow, I'd recommend that any software designer think hard about trying to achieve delight in their users by doing something they don't explicitly ask for.

Ohhhh. So many extensions to the delights column! Software is a tool. The user experience is bound by that metaphor.
  • Simple - Root: No more than what I need. My toolbox has ten simple tools I use a lot, while my MultiTool sits forever in its nylon pouch. People are like that; software tools should work like people do.
  • Simple -> Rhythm: Provide simple tools that are easy to handle and work together well to fit human rhythms. A complex function that you wait for is more tiring to use than the three simple functions it replaces - if the act of using the simple functions keeps the person in a natural rhythm.
  • Simple -> Craft: Provide tools that work together, allowing the person to combine them to suit. Owning the potential to craft new solutions is empowering even though most people won't do it. Providing an avalanche of complex, pre-digested solutions makes the user feel impotent.
- Brad

Post new comment

The content of this field is kept private and will not be shown publicly.
  • Lines and paragraphs break automatically.
  • Web page addresses and e-mail addresses turn into links automatically.

More information about formatting options