STC Usability SIG
Newsletter: Usability Interface
|
 |
| GUI Bloopers: How Not to Design Software |
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?
Heres 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 its called GUI Bloopers: Donts and Dos 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 arent 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 cant 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 doesnt 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 theyve already been there, done that. Another blooper that I often see is a
web site that unintentionally reveals a companys internal turf battles.
- Responsiveness bloopers are aspects of a product or services
design that interfere with users work-pace. Most software doesnt provide
sufficient feedback about what it is doing. There are others, too: buttons that dont
respond to clicks in the required 0.1 second (so we click them again), scrollbars that
cant keep up with the mouse, and lengthy operations that dont indicate
progress or that cant 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: Donts and
Dos for Software Developers and Web Designers published in this issue.