spacer
rule
spacer
From "The Design Challenge" by Donald A. Norman
spacer
rule
spacer

HOW TO DO THINGS WRONG

Ever sit down to a typical computer? If so, you have encountered "the tyranny of the blank screen." The person sits in front of the computer screen, ready to begin. Begin what? How? The screen is either completely blank or contains noninformative symbols or words that give no hint of what is expected. There is a typewriterlike keyboard, but there is no reason to suppose that one key is preferable to any other. Anyway, isn't it true that one wrong keystroke can blow up the machine? Or destroy valuable data? Or accidentally get connected to some top-secret data bank and then be investigated by the Secret Service? Who knows what danger lurks in the keypress? It is almost as frightening as being taken to a party filled with strange people, being led to the center of the room and let go. Your host disappears, saying: "Make yourself at home. I'm sure there are lots of people you can talk to." Not me. I retreat to the fringes and try to find something to read.

What is the problem? Nothing special, just more of everything. The special powers of the computer can amplify all the usual problems to new levels of difficulty. If you set out to make something difficult to use, you could probably do no better than to copy the designers of modern computer systems. Do you want to do things wrong? Here is what to do:

  • Make things invisible. Widen the Gulf of Execution: give no hints to the operations expected. Establish a Gulf of Evaluation: give no feedback, no visible results of the actions just taken. Exploit the tyranny of the blank screen.
  • Be arbitrary. Computers make this easy. Use nonobvious command names or actions. Use arbitrary mappings between the intended action and what must actually be done.
  • Be inconsistent: change the rules. Let something be done one way in one mode and another way in another mode. This is especially effective where it is necessary to go back and forth between the two modes.
  • Make operations unintelligible. Use idiosyncratic language or abbreviations. Use uninformative error messages.
  • Be impolite. Treat erroneous actions by the user as breaches of contract. Snarl. Insult. Mumble unintelligible verbiage.
  • Make operations dangerous. Allow a single erroneous action to destroy invaluable work. Make it easy to do disastrous things. But put warnings in the manual; then, when people complain, you can ask, "But didn't you read the manual?"

This list is getting depressing, so let us turn to the good side. The computer has vast potential, more than enough to overcome all its problems. Because it has unlimited power, because it can accept almost any kind of control, and because it can create almost any kind of picture or sound, it has the potential to bridge the gulfs, to make life easier. If designed properly, systems can be tailored for (and by) each of us. But we must insist that the computer developers work for us-not for the technology, not for themselves. Programs and systems do exist that have shown us the potential; they take the user into account, and they make it easier for us to do our tasks-pleasurable, even. This is how it ought to be. Computers have the power not only to make everyday tasks easier, but to make them enjoyable as well.

IT'S NOT TOO LATE TO DO THINGS RIGHT

Computer technology is still young, still exploring its potential. The notion lingers that if you have not passed the secret rites of initiation into programming skills, you should not be allowed into the society of computer users. It is like the early days of the automobile: only the brave, the adventurous, and the mechanically sophisticated need apply.

Computer scientists have so far worked on developing powerful programming languages that make it possible to solve the technical problems of computation. Little effort has gone toward devising the languages of interaction. Every student programmer takes courses on the computational aspect of computers. But there are very few courses on the problems faced by the user; such courses are usually not required, and they are not easy to fit into the already crowded schedule of the fledgling computer scientist. As a result, most programmers fluently write computer programs that do wonderful things but that are unusable by the non-professional. Most programmers have never thought of the problems faced by the users. They are surprised to discover that their creations tyrannize the user. There is no longer any excuse for this. It is not that difficult to develop programs that make visible their actions, that allow the user to see what is going on, that make the set of possible actions visible, that display the current state of the system in a meaningful and clear way.

Let me give some examples of excellent work, systems that do take into account the needs of the user. First, there is the spreadsheet, an accounting program that has changed the face of office bookkeeping. The first spreadsheet program, Visicalc, was so impressive that people bought computers just so they could use this one program. That is a strong argument for its usability. Spreadsheets have their problems; but on the whole, they allow people to work with numbers in a convenient way, with immediately visible results.

What did people like about the spreadsheet? The way it looked. You didn't seem to be using a computer-you were working on your problem. You organized the problem just the way you always would, except now it was easy to make changes, easy to see the results. Change one number and everything that depended on that number changed along with it, in just the proper way. What a painless way to do budget projections. All the benefits of the computer, without the technical impediments. In fact, the best computer programs are the ones in which the computer itself "disappears," in which you work directly on the problem without having to be aware of the computer.

Actually, Visicalc had numerous problems. The concept was brilliant, but the execution was flawed. I'm not complaining about the designers, for they were limited by the power of an earlier generation of personal computers. Today's personal computers are much more powerful, and the spreadsheet programs are much easier to use. But the program established the model: it felt as if you were working directly on the problem, not on a computer.

It is not easy to develop effective and usable computer systems. For one thing, it is expensive. Consider the principles described in this book: visibility, constraints, affordances, natural mappings, feedback. Applied to computer systems, these mean that, among other things, the computer must be capable of making things visible (or audible), which requires large and high quality visual displays, a variety of input devices, and plenty of computer memory. These require faster, more powerful computer circuits. And all this adds up to more expensive systems: more cost to manufacture, most cost to the consumer. It may not be immediately clear that the everyday users of computer systems are the ones who require the most powerful systems, with the most memory and the best displays. Professional programmers can get by with less, for they know how to deal with more complex interactions and less effective displays.

The first proper attempt to build an effective system was not a commercial success. This was the Xerox Star, a brainchild of the Xerox Corporation's Palo Alto Research Center. The developers recognized the importance of large, highly detailed display screens with plenty of graphics; they gave the machine the ability to have several different documents on the screen at the same time; and they introduced a pointing device-in this case, the "mouse"-for the user to specify a work area on the screen. The Xerox Star computer was a breakthrough in usable design. But the system was too expensive and too slow. Users liked the power and the ease of operation, but they needed better performance. The benefits of easy to use commands were completely outweighed by the slow response speed. The display could not always keep up with typing, and requests for explanation (the "help" system) sometimes took so long that a user could go for a cup of coffee while waiting for an answer to even the simplest question. Xerox showed the way but suffered a common fate of pioneers: the spirit was willing but the implementation weak.

Fortunately for the consumer, the Apple Computer Company has followed through on Xerox's ideas, using the philosophy developed for the Xerox Star (and hiring away some of Xerox's people) to produce first the Apple Lisa (also too slow and expensive and a failure in the marketplace) and then the Macintosh, a success story.

The approach followed by Xerox has been well documented. The major goal was consistency of operations, to make things visible so that the available options could always be determined, and to test each idea with users at every step of the development process. These are all the important characteristics of good system design.

Apple's Macintosh computer makes extensive use of visual displays. These eliminate the blank screen: the user can see what alternative actions are possible. The computer also makes the actions relatively easy to do, and it standardizes procedures so that methods learned for one program apply to most other programs. There is good feedback. Many actions are done by moving a mouse-a small, hand-held pointing device that causes a marker to move to the appropriate location on the screen. The mouse provides good mapping of action to result, and the use of menus-choices spelled out on the screen-makes the operations easy to perform. The Gulf of Execution and the Gulf of Evaluation are both securely bridged.

The Macintosh fails badly at many things, especially those for which it uses obscure combinations of keypresses to accomplish some task. Many of the problems arise from the use of the mouse. The mouse has one button, which simplifies its use but means that some actions must be specified by clicking the button several times or by simultaneously holding down various combinations of keys on the keyboard and clicking the mouse button. These actions violate the basic design philosophy. They are difficult to learn, difficult to remember, and difficult to do.

Ah, the buttons-on-the-mouse problem. How many buttons should the mouse have? Various models use one, two, or three, three being the most common number. Actually, some mice have more buttons; one design even has a chord keyboard on it. Fierce arguments rage over the correct number. The answer, of course, is that there is no correct answer. It is a tradeoff. Increase the number of buttons and you simplify some operations, but you also increase the complexity of the mapping problem. Even two buttons lead to an inconsistent mapping of functions to buttons. Reduce to one button and the mapping problem goes away, but so, too, does some of the functionality.

The Macintosh provides an example of what computer systems could be like. The design emphasizes visibility and feedback. Its "human interface guidelines" and its internal "toolbox" provide standards for the many programmers who design for it. It has emphasized consideration for the user. Yes, there are several serious drawbacks to the Macintosh: it is far from perfect. And it isn't unique. Still, for its relative success in making usability and understanding into primary design objectives, I'd give the Apple Macintosh a prize. If only I thought more of prizes.

COMPUTER AS CHAMELEON

The computer is unusual among machines in that its shape, form, and appearance are not fixed: they can be anything the designer wishes them to be. The computer can be like a chameleon, changing shape and outward appearance to match the situation. The operations of the computer can be soft, being done in appearance rather than substance. And the appearance can be reversed with a change of mind by the user. As users, we can create explorable systems that can be learned through experimentation, without fear of failure or damage. Furthermore, the computer can take on the appearance of the task; it can disappear behind a facade (its system image).

EXPLORABLE SYSTEMS: INVITING EXPERIMENTATION

One important method of making systems easier to learn and to use is to make them explorable, to encourage the user to experiment and learn the possibilities through active exploration. This is how many people learn about home appliances, or about a new stereo system, television set, or video game. Work the buttons while listening and looking to see what happens. The same can be true with computer systems. There are three requirements for a system to be explorable.

  1. In each state of the system, the user must readily see and be able to do the allowable actions. The visibility acts as a suggestion, reminding the user of possibilities and inviting the exploration of new ideas and methods.
  2. The effect of each action must be both visible and easy to interpret. This property allows users to learn the effects of each action, to develop a good mental model of the system, and to learn the causal relationships between actions and outcomes. The system image plays a critical role in making such learning possible.
  3. Actions should be without cost. When an action has an undesirable result, it must be readily reversible. This is especially important with computer systems. In the case of an irreversible action, the system should make clear what effect the contemplated action will have prior to its execution; there should be enough time to cancel the plan. Or the action should be difficult to do, nonexplorable. Most actions should be cost-free, explorable, discoverable.

TWO MODES OF COMPUTER USAGE

Compare two different ways of getting a task done. One way is to issue commands to someone else who does the actual work: call this "command mode" or "third-person" interaction. The other way is to do the operations yourself: call this "direct manipulation mode" or "first-person" interaction. The difference between these two is like the difference between being driven by a chauffeur and driving an automobile yourself. These two different modes exist with computers.

Most computer systems offer command mode, third-person interactions. To use the computer, you type commands to it, using a special "command language" that you have to learn. Some computer systems offer direct manipulation, first-person interactions, good examples being the driving, flying, and sports games that are commonplace in arcades and on home machines. In these games, the feeling of direct control over the actions is an essential part of the task. This feeling of directness is also possible with everyday computer tasks, such as writing or bookkeeping. Spreadsheet programs and many text editors and word processing programs are good examples of direct manipulation systems used in business.

Both forms of interaction are needed. Third-person interaction is well suited for situations in which the job is laborious or repetitive, as well as those in which you can trust the system (or other person) to do the job for you properly. Sometimes it is nice to have a chauffeur. But if the job is critical, novel, or ill-specified, or if you do not yet know exactly what is to be done, then you need direct, first-person interaction. Now direct control is essential; an intermediary gets in the way.

But direct manipulation, first-person systems have their drawbacks. Although they are often easy to use, fun, and entertaining, it is often difficult to do a really good job with them. They require the user to do the task directly, and the user may not be very good at it. Colored pencils and musical instruments are good examples of direct manipulation systems. But I, for one, am not a good artist or musician. When I want good art or good music, I need professional assistance. So, too, with many direct manipulation computer systems. I find that I often need first-person systems for which there is a backup intermediary, ready to take over when asked, available for advice when needed.

When I use a direct manipulation system-whether for text editing, drawing pictures, or creating and playing games-I do think of myself not as using a computer but as doing the particular task. The computer is, in effect, invisible. The point cannot be overstressed: make the computer system invisible. This principle can be applied with any form of system interaction, direct or indirect.

THE INVISIBLE COMPUTER OF THE FUTURE

Consider what the computer of the future might look like. Suppose I told you it wouldn't even be visible, that you wouldn't even know you were using one? What do I mean? Well, this is already true: you use computers when you use many modern automobiles, microwave ovens, and games. Or CD players and calculators. You don't notice the computer because you think of yourself as doing the task, not as using the computer.

In the same sense, you don't go to the kitchen to use an electric motor; you go to use the refrigerator, or the blender, or the dishwasher. The motors are part of the task, even in the case of the blender, mixer, or food processor, which are essentially pure motors and the specialized attachments they drive.

The computer of the future is perhaps best illustrated by my imaginary perfect calendar. Suppose I am home one evening, deciding whether to accept an invitation to attend a conference next May. I pick up my appointment calendar and turn to the appropriate page. I tentatively decide that I can attend and pencil in the topic. The calendar flashes at me and displays a note reminding me that the university will still be in session during that period and that the trip overlaps my wife's birthday. I decide that the conference is important, so I make a note to check whether I can get someone to take over my classes and to see whether I can leave the conference early for the birthday. I close the calendar and get back to other things. The next day, when I arrive at my office I find two notes on my message screen: one to find a substitute for my classes next May, the other to check with the conference organizers to see if I can leave early.

This imaginary calendar looks like a calendar. It's about the size of a standard pad of paper, it opens up to display dates. But it really is a computer, so it can do things that today's appointment calendar cannot. It can, for example, present its information in different formats: it can display the pages compressed so that a whole year fits on one page; it can expand the display so that I see a single day in thirty-minute intervals. Because I frequently use my calendar in conjunction with my travels, the calendar is also an address book, notepad, and expense account record. Most important, it can also connect itself to my other systems (via a wireless infrared or electromagnetic channel). Thus, whatever I enter into the calendar gets transmitted to my office and home systems so that they are always in synchrony. If I make an appointment or change someone's address or telephone number on one system, the others get told. When I finish a trip, the expense record can be transferred to the expense account form. The computer is invisible, hidden beneath the surface; only the task is visible. Although I may actually be using a computer, I feel as if I am using my appointment calendar.

Note: Reprinted by permission of the publisher, from Donald A. Norman, "The Design Challenge," in The Psychology of Everyday Things (New York: HarperCollins Publishers, 1988), 178-186. Copyright 1988 by Donald A. Norman.

spacer
rule
spacer spacer spacer spacer spacer spacer spacer
Computer Concepts 4e spacer Computer Concepts and Computers, Technology, and Society spacer Return to the CD spacer Computer Concepts Illustrated
dotclear.gif (42 bytes)
Click to see a list of all Computer Concepts 4e InfoWebs. spacer Click to see a list of all Computer Concepts 3e InfoWebs. spacer If you are using the CD, close your browser to return to it. spacer Click to see a list of all Illustrated Computer Concepts InfoWebs.
spacer
spacer
Course Technology
spacer © Copyright 1999, 2000 Course Technology