The Design of Everyday Things

Have you ever approached a door that you thought should be pushed when actually it needed to be pulled? The design elements of the door suggested the wrong functionality. The door pictured above opens into Kansas State University's Cardwell Hall. The flat panel suggests that the door is to be pushed, when actually the door needs to be pulled in order to open. When first encountering this door, I routinely made the mistake of pushing. Lot's of people do. Even when taking the picture above, I witnessed a student attempting to open the door incorrectly. In the design world, this is known as a Norman Door after Don Norman; cognitive scientist, usability engineer, and author of The Design of Everyday Things.

Encounters with Norman Doors can be frustrating and even embarrassing as you falsely attempt a simple and routine action. But are you at fault or is the design? In The Design of Everyday Things, Don Norman proposes the fault lies not on us but in design that ignores the needs and psychology of people. Norman is an advocate for people-oriented design which when followed, can make things more understandable, usable, and enjoyable. Below are 3 of my greatest takeaways from the book which I hope to incorporate into the projects I develop as a software engineer.

1) Discoverability And Understanding...
...are two of the most important characteristics of design according to Norman. "Discoverability: Is it possible to even figure out what actions are possible and where and how to perform them? Understanding: What does it all mean? How is the product supposed to be used?" (page 3). The doors entering into K-State's Cardwell Hall are an example of when discoverability fails. The doors open inward, so there should be a handle for patrons to pull, not a panel to push.

Below are some questions regarding discoverability and understanding that I would be concerned with as a software developer creating user interfaces. The best input would come from potential users.
  • Does the app effectively communicate the possible actions and how they are to be performed through labels or icons for example?
  • Are the actions arranged sensibly? For instance, are the most frequent actions conveniently located the way the "compose tweet" button in the Twitter app for Android is always located in the lower right corner?
  • Does an action follow the expectations of the user or were they expecting some other outcome?
  • Does an action effectively communicate to the user what just happened? Like the way YouTube displays a small notification to confirm a video was added to a playlist.
  • If the user is attempting an incorrect action, are they presented with useful information to guide them onto the right track? For example, when a user performs an incorrect login is the app telling them more than just, "incorrect login", or is it also mentioning that the email isn't even registered on our platform?

2) Designing For Error... just as important as designing for when things go as planned. Norman heavily emphasizes why this is so necessary for safety. He cites several examples from manufacturing and aviation where poor design can lead to error and cause serious harm. It'd be easy to only consider the situation where everything goes right and the user only performs actions as intended, but users aren't perfect.

Imagine if when you deleted something from your computer, the computer immediately deleted that item forever. It didn't ask you to confirm that you really wanted to delete it. It didn't put the item in a trash can where it could be recovered. The item would be permanently gone. There would be no room for you to make mistakes as a user. Today, there are several design decisions that developers make to help users avoid errors such as accidental deletion. Below are 4 tips from Norman on designing for error that I plan to keep in mind as I develop software applications.
  • "Do sensibility checks. Does the action pass the 'common sense' test?"
  • "Make it possible to reverse actions - to 'undo' them - or make it harder to do what cannot be reversed."
  • "Make it easier for people to discover the errors that do occur, and make them easier to correct."
  • "Don't treat the action as an error; rather, try to help the person complete the action properly. Think of the action as an approximation to what is desired" (page 199). 

3) Human-Centered Design...
...begins with solving the correct problem. Norman claims that good designers don't start by solving the problem they're given. Rather, they observe and study people to understand why the problem exists in the first place. Norman defines Human-Centered Design as, "the process of ensuring that people's needs are met, that the resulting product is understandable and usable, that it accomplishes the desired tasks, and that the experience of use is positive and enjoyable" (page 219).

Pictured below is the Iterative Cycle of Human-Centered Design. "Make observations on the intended target population, generate ideas, produce prototypes and test them. Repeat until satisfied" (page 222). Good design involves repeated study and testing. Each time the cycle starts over again, observe the design elements that worked and those that failed then begin the process again. Consider failures as learning experiences and an essential part of exploration and creativity. With each iteration, the solution will become clearer and more defined.

I hope you enjoyed reading about some of the things I learned from The Design of Everyday Things, which I highly recommend. There's a great deal to learn even beyond the 3 points above. Don Norman's teachings will forever inform my work as a software developer. 


Popular posts from this blog

Overcooked (PS4)

Batman: Arkham Knight (PS4)