2012-01-05

The Importance of Usability in Regards to Fire Fighting

For Christmas, my parents thoughtfully presented me with a copy of Web Operations, a book in which a number of well-known people in, well, the web operations field write about... web operations.

Anyways, one of the chapters contains an essay by Richard Cook entitled "How Complex Systems Fail", with commentary from John Allspaw. The thing that struck me the most out of those points was the comment that humans under stress make decicions that are often suboptimal; this struck home for me in relation to a recent experience.

An Anecdote

As part of my Christmas vacation, I stayed at my grandparents' house for a few days. They've lived there for some time, so the house has a few issues - like poor plumbing.

Before taking a shower one morning, I used the toilet in, uh, a manner that would strain their poor pipes. However, flushing seemed to do the trick at first glance, so I continued on with my morning regimen. Some time later, I noticed that not everything had been successfully evacuated from the toilet bowl, so I did what any normal person would do - flushed it.

As the tank failed to drain and the water levels rapidly rose, panic rose within me.

My first thought was to hold down the seat cover. Thankfully, I realized rather quickly that this was a silly idea that wouldn't really work. :)

Dismissing that, the only other option I saw was to plunge the toilet. Unfortunately, by the time I found a plunger, water had spilled onto the bathroom floor and made a mess of things.

Later, my grandpa asked me why I hadn't just turned off the water. My answer:

It didn't even occur to me.

And Here Comes Usability

The Design of Everyday Things is a wonderful book on general, everyday usability. In it, Donald Norman explains his idea of the process a user goes through to perform an action, termed "The Seven Stages of Action".

One of the stages is translating an intention into an action that can actually be performed; this becomes difficult if the user is not aware of all the available actions or is presented with so many that they cannot easily choose the one that maps correctly to their intention. The former was my issue with the overflowing toilet - the "right" action was one that I never even considered, so how was I to be expected to choose it?

Now, I don't mean to excuse myself by blaming the poor UI design of the bathroom, but I think it serves as a simple, but useful, example.

Think about your own software - when faced with an emergency, will a user be able to easily identify the options available to them (and then choose the correct one)? Or are they left floundering in a sea of choices, trying every reasonable option until one works?

Often we neglect polishing our internal tools - if it doesn't affect the customer, it's not particularly important. But I say to you that it does affect our customers, for it increases our mean time to repair in states of emergency.

Dear Princess Celestia

  1. Make a list of all the tools you use when firefighting.
  2. Improve their usability.
  3. ???
  4. Profit.