The Psychology of Everyday Things by Donald A. Norman.

Norman argues for user-centered design (of anything), as it is human to err and designers should always strive to limit the range of errors possible. With this Containment Policy regard for human fallibility, he lays out his understanding of the basic theory behind humans and their interactions with their environment.

As haphazardly programmed thinking machines, our interactions with the world around us can be quite humorous (just think of someone walking into a door). The first question is why did the door not open? Was it a pull the door instead of a push the door situation? If so, why didn't the person realize that? Were there not enough hints? Norman argues that if pushing is needed, only have a flat panel, as it's really difficult to do anything but push. And if pulling is needed, put a large obvious vertical handle on door.

Intrinsic to the above door example is the notion that humans operate in an iterative manner consisting of:

  1. having an idea
  2. evaluating the actions needed to accomplish the idea
  3. acting on the evaluated option
  4. evaluating the results of the action
Central to the second step is that in order to evaluate our options, we generate (or borrow) a mental model of the system we are trying to manipulate. I.e. upon seeing a door, we call up our model of how a door works, and try to use it to work our way through the door. If the mental model chosen is incorrect for the situation, or the environmental hints are ambiguous, you end up walking into the door.

Of course, the door could just be broken, but regardless, this book is an enjoyable topical read which luckily contains pointers to more illuminating readings.