Author: Alan Cooper
Recommendation: An interesting read for software developers who do user interface design.
Summary: The Inmates are Running the Asylum spends most of its pages expounding on the importance of interaction design and provides insight into some interesting techniques interaction designers use to create user interfaces.
Reactions: I've been highly recommended this book, and to my surprise actually found the reading going at a good pace, whereas I tend to drag my feet a lot with non-fiction books. This book is a bit repetitive in its message, but since it's written in a fairly entertaining manner, the reading goes smoothly.
Beware, if you are a software engineer reading this book. The author does not take kindly to programmers in this tome despite being one himself. His stereotypical approach to programmers did rub me the wrong way as I was reading the book for being overly stereotypical and condescending. Cooper calls developers "Homo Logicus" for seeking complex problems and insists that most programmers emphasize with the computer they are programming rather than with the users. Certainly there are grains of truth to both of these statements, but I would certainly not agree with all the claims presented in the book to the extent they have been expounded.
Most of the book goes to show how programmers are the last people who should be designing the software interaction and how programmers have fostered a lot of unusable software on the poor humans already. The last fact is hard to argue as there IS a lot of bad software out there, but I would personally claim programmers get affected by bad software just as much as anyone else and I would have really liked a little less vilification on that point.
The author's primary suggestion in the book is to institute a mandatory design phase for each software project that happens before any programming is done and is completed entirely by a team trained in interaction design. This idea does seem to have merit and I found it fairly interesting to read the 3 chapters where Cooper describes the types of techniques interaction designers use to create interaction specifications. In particular he goes into detail on specifying personas, goal-oriented design, and creating scenarios.
The book is a bit dated, having been published in 2004. Some particular references are especially amusing as they are forward looking. For example, he bemoans a lack of a mail system that would thread pieces of mail together based on replies and speaks of Apple needing that one good product to turn its luck around. Overall though, the book presented some food for thought and I feel that reading the book made me question how I approach certain design decisions myself. I would definitely recommend it to others interested in the subject of user interaction design.