With the rising popularity of touchscreen controls, the need for well-considered graphical user interfaces (GUIs) has become paramount. This book can help.
Courtesy of fellow editor "Max" Maxfield (aka Max the Magnificent), I recently acquired a copy of GUI Bloopers 2.0 by Jeff Johnson of UI Wizards. I found it an interesting read chock full of helpful suggestions that should probably be in the library of any development team tasked with developing a graphical user interface (GUI). Given the prevalence of touch screens and graphical panels today, that group probably means most embedded developers.
One of the first things you notice about the book is that it avoids criticizing, embarrassing, or amusing with tales of GUIs gone wrong. As Johnson points out in his introduction, "My aim is not to provide a parade of UI howlers …. My purpose is to help GUI designers and developers learn to produce better GUIs." To this end he provides concrete examples of both ill- and well-formed designs, articulating the nature of a blooper, the probable reasons for its occurrence, and steps needed to mitigate the situation.
The main text starts by articulating nine basic principles of good GUI design, explaining in detail the meaning, application, and value in following each principle. Many of these principles, such as "facilitate learning" and "deliver information, not just data" center on the basic premise that GUIs need to be designed for the benefit of the user, not the developer. While this may seem ridiculously obvious, Johnson quickly points out how easy it is to unconsciously deviate from this principle or be unaware of the user's real needs. He provides many specific principles and detailed sub-principles that highlight various aspects of what it means to focus on the user, and then provides suggestions on how to achieve that focus.
With the basic principles laid out, the rest of the book looks at 72 all-too-common GUI practices (the full table of contents is available here) that merit correction. He also provides a handy checklist developers can use to assess their designs. Bloopers are organized into several categories, including control, navigation, layout, and interaction. There is even a section on bloopers in the management of GUI development. Each blooper is thoroughly explained in terms of how and why it occurs, what its effect is on the user, and how to do things better.
Johnson has taken the unusual additional step of providing online support for readers of his book. In addition to the online checklist, for instance, there is a web appendix that addresses bloopers in the use of color, something the book's black-and-white printing cannot address properly. There is also a sample full chapter (Textual bloopers) and a section with still more bloopers not covered in the text.
For the embedded device and industrial control developer, there are some drawbacks to GUI Bloopers 2.0. For one, most of the examples are taken from web-page and PC software designs. Also, the book was published in 2007 and so may not address some current challenges GUI developers face. Still, most of the bloopers covered remain common problems. Further, many of the lessons the book aims to deliver are equally relevant to all kinds of user interface design, so embedded and industrial developers can still derive a lot of value from it.
As the primary means your customer has of interacting with your product, the user interface deserves extra care and attention. Implemented properly the GUI can build customer confidence and brand loyalty as well as your product's reputation just as much as the product's performance at its intended activity. Implemented badly, the GUI can drive customers away regardless of the product's abilities. This book can definitely help ensure the former.
— Rich Quinnell, Editor, Industrial Control DesignLine, EE Times