Alan Cooper is Still Wrong
Three and a half years ago I wrote an unflattering article responding to Alan Cooper’s book The Inmates Are Running the Asylum. Recently, I had an instructor in one of my HCI courses recommend Cooper’s books and I wondered if I should give them another chance. I started reading Inmates again and found it to be every bit as inane today as I found it in 2004. I quietly put Alan’s books aside again and continued reading other software interface design books.
In October, I started on Jeff Johnson’s GUI Bloopers 2.0. Due to the “cookbook”-esque layout of the content, I had been delightfully jumping around the book as time and interest permitted. Today I decided to read the book properly from the beginning. That led to me read pages 28-29 about how imposing arbitrary restrictions is a Bad Thing™. Johnson provides these examples of arbitrary restrictions that some software imposes on its users:
- limiting person names to 16 characters
- allowing table rows to be sorted by at most 3 columns
- providing Undo for only the last three actions
- requiring a fax number in all address book entries even though some users don’t have fax machines
Okay. I understand why limitations like those exist in software applications, but I also understand how they can seem arbitrary and counterproductive to users. Reading on, I got to page 34 where Johnson references Alan Cooper.
He [Alan Cooper] points out that programmers are trained to handle all cases that can arise in a software system and so often spend inordinate amounts of time and effort designing GUIs that cover low probability cases as well as higher probability ones.
Low probability cases like… persons with more than 16 characters in their names? sorting tables by more than three columns? This is the crux of the problem: An unsupported “low probability case” for one user is an “arbitrary restriction” to another user.
It’s unfair to complain about programmers spending time on “low probability cases” and then complain that your low probabality case wasn’t implemented. (Sorting on more than three columns? Seriously? If you have those kinds of needs, maybe you shouldn’t be using an Excel sheet as a database. Just a thought.)