Today is our next edition of the Cimetrix Book Club. Our employees are always striving to develop their skills, share information, and keep up to date with the industry. Part of this effort includes an employee book club that involves many of our team members each month. We will cover some of their favorites from time-to-time here on our blog!
Today's book is called "Don't Make Me Think (Revisited)" by Steve Krug. The book review is by Gabe Hanson, a Software Engineer based in Salt Lake City, UT, USA.
This short but dense book was written to guide software developers through their journey of building user interfaces. While it was targeted specifically for web and mobile user interfaces, the general topics and suggestions presented will benefit almost anyone developing any kind of software. The general theme of the book ties directly with the title: make the end user think as little as possible while using your software.
The book covers topics ranging from general design philosophies, to optimal user interface experiences, and even more nuanced topics like accessibility considerations and color themes. Each of the 13 chapters presents common usability issues found throughout the stages of building a website or mobile application, and discusses how a developer might approach mitigating such problems. For example, chapter 6 discusses how one might build a website that is easy to navigate by using the concepts of "street signs" to help guide the user through your website. This chapter explains simple ways of constructing web pages with easily-locatable buttons and other kinds of navigation techniques to prevent the user from getting lost, frustrated, and eventually leaving your website.
We found chapters like these most valuable because these same ideas can apply to almost every piece of software we build for the manufacturing industry. Given the potentially complicated nature of navigating through an equipment's control software, it is important we design our software to be easy to use and navigate. Not just for convenience, but to reduce user error - something that can help avoid mistakes costing potentially millions of dollars.
Not only was reading the book educational, but it presented itself in a very entertaining and engaging way. Most of the pages contain humorous illustrations and simple diagrams to explain the points the author makes. One could argue the book itself incorporates some of the lessons it teaches, by helping the reader easily digest the points presented; to not "make them think so hard" about the complicated and subjective process of designing a simple yet complex piece of software.
I can safely say this book is recommended for any and all software teams aiming to build software that is easily usable for all sorts of end-users. Our team found this book to be an excellent guide in constructing software that is not only useful but easy to use.