Electronic Review of Computer Books

[ ERCB Home | New | Feature | Brief | DDJ | Letters | Links ]

[an error occurred while processing this directive]

Vital Statistics

Title GUI Bloopers: Don'ts and Do's for Software Developers and Web Designers
Author(s) Jeff Johnson
Publisher Morgan Kaufmann
http://www.mkp.com/
Copyright 2000
ISBN 1-55860-582-7
Pages 560
Price $44.95


GUI Bloopers

We all know about bad user interfaces -- go look at your VCR if you want to see one. For some reason, VCRs are the epitome of interface mistakes. How many people do you know who have actually given up on programming them, because they are so complicated? Can you imagine what it would be like to use a computer with a similar interface?

Jeff Johnson's GUI Bloopers: Don'ts and Do's for Software Developers and Web Designers, sets out to present the most common interface mistakes, both in software and web pages, and explains why they don't work, and how to fix them. The book is chock full of examples, showing both good and bad interfaces, and is an excellent reference book for programmers and web site designers.

Johnson doesn't set out to merely show the worst in interface design, but, rather, to "help GUI designers and developers to learn to produce better GUIs." He begins by presenting the basic principles behind effective, user-friendly interfaces, which could be summed up in one key rule: Focus on the users and their tasks, not the technology.

Ah, if only this were the case... In my work as a translator and technical writer, and also being involved in beta-testing commercial software, as well as using many different applications, I see his examples of bad interfaces in many areas. One type of common mistake pointed out here has always irked me: there are many applications that use dynamic menus; that is, menus that change according to the context. The best example of this is the Macintosh productivity suite, AppleWorks. When you are in a wordprocessing document, you have a standard set of menus and menu items. But, add a table, click in the table, and these menus change. While this makes sense (there are different functions for the table) I sometimes pull my hair out in exasperation, trying to find where certain menu items have gone, before realizing that I need to click in a different frame. The solution: include all the menu items, and gray out the ones that are deactivated. Users will then at least know where the commands are, and the interface will show that they cannot be used in a given context.

Or what about hidden menu items? Unfortunately, there are many applications that have functions that are not even shown in the menus. Older versions of the Macintosh wordprocessor Nisus Writer were guilty of this; there were extremely powerful menu items that only showed up if you held down a modifier key (command, option, and so on) and then clicked on the menu. This meant that many users never saw these functions, because they never knew how to access them! The key to a good GUI is providing all of the possibilities to users in an easily accessible manner.

Bad layout, misaligned text, confusion between radio buttons and checkboxes. All these problems that Johnson highlights are too familiar. He explains that most GUIs are designed by programmers, who have little knowledge of the basic principles behind such interfaces, and tend to copy other programs' mistakes. Or, in some cases, there is the gee-whiz effect -- trying to make something that looks cool, but ends up confusing users, or providing no real information. To illustrate this, Johnson mentions the progress bars used in Windows and the Mac OS when copying files. On a Mac, you see a real progress bar that shows how far along the copy is, as well as an estimate of the time remaining. But in Windows, you get only an animation of files whizzing through the air from one folder to another, with a progress bar that fills up once for each file that is copied. "Although a programmer had fun creating the 'coOOol' flying-paper animation," says Johnson, "this dialog box provides almost no useful information."

While most of GUI Bloopers focuses on software, there is also a chapter about web pages and web sites. Johnson points out that all of the principles mentioned about software also apply to web pages, but also includes many examples of web page design gone wrong. Fonts too small, confusing links, complicated searches, and buttons that give no feedback (how many times have you seen web page forms that include a warning, over the Send button, that you should only click it once?). Anyone setting up complex web sites could do with a refresher course in how to help people navigate easily through their pages.

Programmers, both professional and amateur, will profit from reading this book, and should keep it near their computer as a reference. While not encyclopedic in nature, it does examine most of the main interface issues, and its detailed index makes it easy to find the many subjects it covers. Web page designers would also do well to read this book, since interface problems are one of the main reasons for people leaving web sites.

Project managers, as well as others involved in software design and marketing, are also addressed. Johnson points out that good GUI design starts in the earliest stages of project management, and requires thorough follow-up to ensure coherence. But, programmers might not like one of his conclusions: he suggests that managers stop giving programmers the fastest computers and Internet connections, so they will know what it's like for the users in the real world.

GUI Bloopers also contains further reading suggestions at the end of each chapter (many of them available online), a thorough bibliography of other key works on the subject and a detailed index.

Now, if only he could get in touch with the manufacturer of my VCR...

-- Kirk McElhearn (kirk@mcelhearn.com)


Quick Rating

Readability Star Star Star
Originality Star Star Star
Organization Star Star Star
Accuracy Star Star Star
Consistency Star Star Star
Depth Star Star
Timeliness Star Star Star Star
Editing Star Star Star
Design Star Star Star
Overall Value Star Star Star

Explanation of ERCB rating scale:
No stars = unacceptable
1 Star = marginal
2 Stars = average
3 Stars = above average
4 Stars = exceptional


Copyright © 2001 Electronic Review of Computer Books
Created 4/2/2000 / Last modified 4/2/2000 / webmaster@ercb.com