Review by Dennis Schleicher (November 29, 2000)

The Inmates are Running the Asylum: Why High Tech Products Drive Us Crazy and How To Restore The Sanity

The Inmates are Running the Asylum is an evangelical calling for interaction design in software development. Currently, there is much discussion regarding interaction design in information architecture circles. Cooper, who is known as an interaction designer, gives information architects a wonderful non-technical introduction to what the current situation is, where his firm is going, and why it's important to do good interaction design.

Alan Cooper argues that interaction design methods can help us develop more powerful yet simpler software products that users will get more pleasure using. To do this he asserts that interactive products need to be designed by interaction designers instead of by software engineers.

Starting off with basic ideas about computers and how they have changed products and how products are used, he then goes through a litany of examples and common mistakes, such as "dancing bears," made in software product development. The book finishes by giving us three methods of his "Goal-directed design" methodology, which we can use to start incorporating interaction design in software development projects. Cooper's three methods are designing for pleasure using personas, designing for power using goals, and designing for people using scenarios.

Cooper is trying to solve the problem of bad software design, or software that makes people feel like they are idiots. He also rails against the current mentality in which the user is constantly apologizing that it must be their fault instead of the infallible, perfect computer. Cooper lays the blame of users' difficulties firmly on bad software design.

To me he trounces on the usability "straw man," saying it has been co-opted into the bug-testing phase of development. In the world according to Cooper, only "DESIGN" (done before anyone starts programming a line of code) will save the day. He wisely notes that although management BELIEVES programmers can do interaction design as a part of programming (as well as information architecture), this is a wild fantasy. Unfortunately, the result is bad interaction design (or information architecture) that is designed solely to please the programmers who wrote it, and not at all pleasing to the people who actually use the software.

In general, there were too many times I felt his arguments were forwarded by zealous opinions rather than scientific results or at least measured accounts. I think his heart is in the right place, but his logical path is paved over with so much ethos that it chokes me even though I do really want to swallow his argument.

If you are wondering what battles interaction designers are currently fighting, this is a great introduction. I recommend paying attention to his war stories so that hopefully we can avoid the same mistakes and protect software development from the characters he warns us of, such as the "computer apologist" or "jock programmer."

My favorite part of the book was Cooper's list of users' "personal goals" that software should not violate (pp. 154-6). The product interaction should not fail any of these four tests.

  • Not feel stupid.
  • Not make mistakes.
  • Get an adequate amount of work done.
  • Have fun (or at least not be too bored).

Quotes from the Text

On why software is hard to use (p. 17):
"[Programmers'] frame of reference is themselves, so they only make it easy to use for other software engineers, not for normal human beings."

On defining interaction design (p. 16):
"Interaction designers focus directly on the way users see and interact with software-based products."

On design goals (p. 150):
"…good interaction design is devising interactions that let users achieve their practical goals without violating their personal goals."

On apologists or survivors (p. 29):
"[Bad software] either makes [people] feel frustrated and stupid for failing, or giddy with power at overcoming the extreme difficulty…These powerful emotions force people into being either an 'apologist' or a 'survivor.'"

On programmers (p. 161):
"[Programmers] struggle with this idea of making computers behave more like humans, because they see humans as weak and imperfect computing devices."

On differences between programmers & information architects (p 119):
"Developers are conditioned to ask themselves, 'Can we fit it in? Will it respond fast enough? What non-essentials can we discard to make it more efficient?' It [scarcity thinking] forces out of consideration more relevant questions, such as, 'Will the user understand it? Can we present this information in a way that makes sense? Is the sequence of instructions appropriate for what the user wants? What information does the user need most?'"