Same topic in earlier issue
Issue
Previous article
Article
SIGCHI Bulletin
Vol.29 No.4, October 1997
Next article
Article
No later issue with same topic
Issue

Publications

Karen McGraw

The Essential Guide to User Interface Design

An introduction to GUI design principles and techniques

Publisher: John Wiley & Sons
Author: Wilbert O. Galitz
ISBN: 0-471-15755-4 (paperback)

This newly-released text was written for software developers who want to learn how to build effective graphical user interfaces. Its premise is that software developers with no user interface experience can use this book to create effective style guides and screens the first time.

This hefty, 600-page text addresses screen design from the user's perspective and explains principles of good design. It presents guidelines, examples of research about people and abilities, and numerous examples from a variety of hardware and software systems. One of the author's most effective techniques to help illustrate a design principle is to present a very bad screen; then he walks the reader through redesigned screens, presenting applicable research and "pros and cons" for each design. The text is organized into two parts.

Part I

Part I is the slimmest (a mere 50 pages) and least useful portion of this otherwise excellent book. The content in Part I is presented at a high level, which may appear to trivialize the work that human factors engineers (and good GUI designers) have been doing for decades. Part I begins with an introduction, both to GUI screen design (e.g., advantages and disadvantages) and to general characteristics of a graphical user interface. Next, the author presents an alphabetized compilation of general principles of GUI design. Alphabetical presentation may result in less effective comprehension of this material; some of the principles may appear redundant or overlapping. Furthermore, if a novice skimmed this section he or she may assume that a screen must first be "aesthetically pleasing," even though the author cautions not to interpret the list in this manner. Organizing the principles into groups of related principles would have been preferable. The final section in Part I presents an overview of the design process and its steps. Each of these steps is covered in more depth in separate chapters in Part II.

Part II

The second part of the text comprises most of the book's content, and is considerably more effective than Part I. The first two "chapters" include Know Your User or Client and Understand the Business Function. Entire books have been written about these topics and the importance of user-centered requirements and design. Although neither topic can covered adequately in a chapter, the author does an acceptable job of summarizing these important beginning steps in the design process.

The rest of the book is the best of the book, in my opinion. Of particular note is the chapter titled Understand the Principles of Good Screen Design. Here the author discusses main issues and considerations when designing screens, such as how not to distract the user, what users really want, and some of the factors involved in evaluating the "goodness" of a design. He illustrates and adequately covers issues such as symmetry, balance, regularity, sequentiality, unity, proportion, and simplicity. The author details guidelines for grouping, ordering, and meaningful presentation. The readability, presentation style, and extensive use of screen samples from actual software is excellent. In this section the author also discusses typography, labeling, alignment, data presentation, and effective use of charts and graphs. Unfortunately, by the time the reader reaches the final sections of this chapter (hardware and software considerations in screen design) he or she may already be overwhelmed by the amount of data and guidelines presented. Although this reader would have preferred splitting this very important content into two chapters for easier assimilation, the content is excellent.

The next chapter, Selecting the Proper Kinds of Windows, begins with a discussion of window characteristics and the advantages, disadvantages, and constraints of each type. The author defines each of the components of a window, window presentation styles, and types of windows. He concludes with a section on how to organize and size windows, and general guidelines on window operations.

In the chapter Develop System Menus, the author first details menu design guidelines. This section includes tips for displaying, organizing, ordering, and grouping menu items. It also includes guidelines for navigation aids (e.g., menu titling and item descriptors, item arrangement and separators, keyboard accelerators, and item selection). Suggestions for using special types of menus, such as cascading menus, pop-up menus, tear-off menus, and icon menus are also presented effectively.

The next two chapters concern controls: Select the Proper Device-based Controls and Choose the Proper Screen-based Controls. The first of these focuses on mechanisms people use to communicate with a system (e.g., trackballs, joysticks, graphic tablet, touch screen mouse, keyboard, and light pen). The author summarizes the advantages and disadvantages of each, and suggests how to select the appropriate device. The chapter on screen-based controls is even more thorough and effective and includes easy-to-understand examples. It reviews a number of operable controls (some of which could comprise their own chapter) and their usage, structure, labels, and guidelines. Topics include control buttons, buttonbar or toolbars, text entry/read-only controls, selection controls (e.g. radio buttons and checkboxes, list boxes), combination entry/selection controls, (e.g., spin boxes and combination boxes), controls such as sliders, tabs, and scroll bars, and custom controls.

The next four chapters look at important presentation and display issues: Organize and Lay Out Windows, Choose the Proper Colors, Create Meaningful Icons, and Provide Effective Messages, Feedback, Guidance, and Language Translation. Each of these chapters presents very useful guidelines and good examples. Unfortunately, one could write a book about each area. The result is that even although some issues are discussed at relatively high levels, the reader may still suffer some information overload from the content.

The final chapter, Test, Test, and Retest describes the purpose and importance of the testing process. This chapter is shallow when compared to previous chapters, and especially to other texts that focus entirely on the usability testing process. This broad-brush treatment may be enough to stimulate a software engineer to ask the right questions and dig for more details, but is not detailed enough to tell "how to do it."

Summary

I do believe this text is essential for the software professional's library, as its title indicates. No, it does not contain all of the information developers need to enable them to create usable GUIs. Some chapters are more detailed than others; some are so detailed and packed with data that they may be difficult to peruse. However, this text is well written and does present valid guidelines for the design process, research-backed tips, and lots of good, realistic examples. The result is a text that both novice and experienced designers will find useful and easy to apply. Managers of software projects will also find it useful, as it could help them understand GUI design issues, constraints, and general guidelines.

Karen L. McGraw
Cognitive Technologies
kmcgraw@clark.net

Same topic in earlier issue
Issue
Previous article
Article
SIGCHI Bulletin
Vol.29 No.4, October 1997
Next article
Article
No later issue with same topic
Issue