
A decent intro to UI design for non-designers.
The good:
- Targeted at programmers.
- Tries to dispel the notion that UI design is magic.
- A nice, quick intro to a variety of important design issues, such as the user models, personas, user laziness (e.g. users don’t read), and focusing on activities rather than features.
The bad:
- The book is a bit dated (it first came out in 2001). That means it has a funny obsession with a) desktop apps and b) Microsoft design from the days when some people still though Microsoft designers knew what they were doing.
- Not enough examples. There are screenshots, but it feels like they were tossed in at random, rather than systematically to demonstrate each point.
- Doesn’t demonstrate the process. What examples and screenshots are included show the end result. They don’t show the process of creating a design from scratch, trying out multiple revisions, and making incremental improvements. To be fair, most design books fail at this task, and without it, it’s much harder to learn.
- Although a good overview of the design space, for each of the topics discussed, you can find books that go deeper. For example, to learn about usability studies and the fact that users don’t read, “Don’t Make Me Think” is a better choice. To learn about affordances, “The Design of Everyday Things” is the gold standard. And to learn about fonts, layout, and alignment, most of which are on glanced over by this book, see “The Non-Designer’s Design Book” instead.
Some of my favorite quotes from this book:
“Even something which seems like a tiny, inconsequential frustration affects your mood. Your emotions don’t seem to care about the magnitude of the event, only the quality.”
“The cardinal axiom of all user interface design: A user interface is well-designed when the program behaves exactly how the user thought it would.”
“Even smart, experienced, advanced users will appreciate things that you do to make it easy for the distracted, inexperienced, beginner users. Hotel bathtubs have big grab bars. They’re just there to help disabled people, but everybody uses them anyway to get out of the bathtub. They make life easier even for the physically fit.”
“Historically, providing a complete menu of available commands replaced the old command-line interfaces, where you had to memorize the commands you wanted to use. And this is, fundamentally, the reason why command line interfaces are just not better than GUI interfaces, no matter what your UNIX friends tell you. Using a command line interface is like having to learn Korean to order food in a Seoul branch of McDonalds. Using a menu based interface is like being able to point to the food you want and nod your head vigorously: it conveys the same information with no learning curve.”
“To summarize, designing good software takes about six steps:
- Invent some users
- Figure out the important activities
- Figure out the user model – how the user will expect to accomplish those activities
- Sketch out the first draft of the design
- Iterate over your design again and again, making it easier and easier until it’s well within the capabilities of your imaginary users
- Watch real humans trying to use your software. Note the areas where people have trouble, which probably demonstrate areas where the program model isn’t matching the user model.”
Rating: 3 stars
Yevgeniy Brikman
If you enjoyed this post, you may also like my books. If you need help with DevOps, reach out to me at Gruntwork.