by Jeff Johnson
Reprinted from Usability Interface, Vol 7, No. 2, October 2000
Why are so many software products, electronic appliances, and online services difficult to learn and frustrating to use?
Here’s one reason: most are designed and developed with little or no guidance from people professionally trained in making products and services usable. As a user-interface consultant, I am often called in to review or test software and suggest improvements. The problems I find are usually the result of the software having been designed by people who may be professionals at software engineering and programming, but are amateurs at user-interface design. Consequently, the software contains design errors that make it difficult to learn and use. Many of the errors are extremely common and can easily be avoided.
I began compiling and categorizing common user-interface design errors (bloopers) to teach developers at my client companies how to avoid them. My blooper collection quickly became large enough that I decided to publish it as a book. It has recently been published and it’s called GUI Bloopers: Don’ts and Do’s for Software Developers and Web Designers. Think of it as a design-guidelines book in reverse: instead of starting with the design rules for making software usable, it describes common design errors that make software hard to learn and use, and describes how to prevent them.
Of course, programmers and inexperienced designers aren’t the only ones whose bloopers harm the usability of products and services. Many software development managers commit bloopers that cause their organizations to produce difficult-to-use products and services. Management bloopers are in many ways more important than GUI design errors, because they effect more software and are harder to diagnose and correct. I have identified seven kinds of bloopers: GUI-Component, Layout and Appearance, Textual, Interaction, Web, Responsiveness, and Management.
- GUI-Component bloopers are erroneous decisions about how to use on-screen controls. One very common GUI-component blooper is confusing checkboxes with radio buttons. Checkboxes are for independent on/off settings, while radio buttons are for choosing one value from several possible values.
- Layout and Appearance bloopers are errors in arranging and presenting information and controls. One such blooper is displaying windows in odd areas of the computer screen. For example, one company had a software product that sometimes displayed new windows off screen, where users could not see them.
- Textual bloopers are poorly written text in software. The most common textual blooper is describing errors in terms only programmers understand. For example, one web-based scheduling application displays the following message if you try to schedule two events for the same time: “Error-00001: unique constraint (PA_REPORT_HEADERS_U1) violated.” Instead, it would be better worded: “You can’t schedule two events for the same time.”
- Interaction bloopers are violations of high-level design principles that make life difficult for software users. One such blooper is imposing arbitrary limits. How many person-hours have been wasted worldwide since 1980 by people who were trying to name documents and data-files in fewer than eight characters? Another common Interaction blooper is: “Cancel button doesn’t cancel.”
- Web bloopers are problems that are specific to web sites and web-based applications. One common Web blooper is failing to mark links so that users can see whether they’ve already been there, done that. Another blooper that I often see is a web site that unintentionally reveals a company’s internal turf battles.
- Responsiveness bloopers are aspects of a product or service’s design that interfere with users’ work-pace. Most software doesn’t provide sufficient feedback about what it is doing. There are others, too: buttons that don’t respond to clicks in the required 0.1 second (so we click them again), scrollbars that can’t keep up with the mouse, and lengthy operations that don’t indicate progress or that can’t be stopped before completion.
- Management bloopers are management-level mistakes that affect the usability and usefulness of software and electronic appliances. Examples include: assigning important GUI components to novice programmers, entrusting the writing of error messages and other software text to programmers rather than to trained technical writers, and failing to reconcile differences in the design of different parts of the same program.
My hope is that GUI Bloopers will help the software industry realize that if it wants to reach a mass market, it must learn how to develop user-friendly products.
Jeff Johnson is President and Principal Consultant at UI Wizards, Inc. He has written numerous articles and books on a variety of topics in Human Computer Interaction and Technology Policy (see www.uiwizards.com). He is the author of GUI Bloopers (Morgan Kaufmann, March 2000).
See the review of GUI Bloopers: Don’ts and Do’s for Software Developers and Web Designers published in this issue.