Things people say about: user interfaces


``When a novelist writes well, the craft of the writer becomes invisible, and the reader sees the story and characters with a clarity undisturbed by the technique of the writer. Likewise, when a program interacts well with a user, the interaction mechanics precipitate out, leaving the user face-to-face with his objectives, unaware of the intervening software. The poor writer is a visible writer, and a poor user interface designer looms with a visible presence in his software: eyes wild, hair rumpled and Jolt on his breath.''

Alan Cooper, About Face: The Essentials of User Interface Design


``What every programmer must remember is that the average user is likely to be reasonably intelligent, and might even on occasion be smarter than the programmer. However, despite (or perhaps even, because of) this intelligence, the user must be assumed not want to spend a lot of time learning to use the computer. Moreover, he may want to use the program relatively infrequently without having to re-learn a lot each time. The target audience, therefore, for most user interface software, is a clever, sophisticated, but impatient user.''

Nathaniel Borenstein, Programming as if People Mattered.


``Pretty graphical user interfaces are commonly called ``user-friendly.'' But they are not really your friends. Underlying every user-friendly interface is a terrific human contempt.

``The basic idea of a graphical interface is that it does not allow anything alarming to happen. You can pound on the mouse button all you want, and the system will prevent you from doing anything stupid. A monkey can pound on the keyboard, your cat can run across it, your baby can fist it, but the system should not crash.

``To build such a crash-proof system, the designer must be able to imagine -- and disallow -- the dumbest action. He or she cannot simply rely on the user's intelligence: who knows who will be on the other side of the program? Besides, the user's intelligence is not quantifiable; it's not programmable; it cannot protect the system. No, the real task is to forget about the intelligent person on the other side and think of every single stupid thing anyone might possibly do.

``In the designer's mind, gradually. over months and years. there is created a vision of the user as imbecile. The imbecile vision is mandatory. No good, crash-proof system can be built except it be done for an idiot.

``The designer's contempt for your intelligence is mostly hidden deep in the code. But, now and then, the disdain surfaces. Here's a small example: You're trying to do something simple like copy files onto a diskette on your Mac. The program proceeds for a while and then encounters an error. Your disk is defective, says a message, and. below the message is a single button. You absolutely must click this button. If you don't click it, the program hangs there indefinitely. So, your disk is defective, your files may be bollixed up, and the designer leaves you only one possible reply: You must say, ``OK.''

``The prettier the user interface, and the fewer odd replies the system allows you to make, the dumber you once appeared in the mind of the designer.''

Ellen Ullman, ``Out of Time: Reflections on the Programming Life,'' in Resisting the Virtual Life, ed. James Brook and Iain A. Boal.


``Designers choose between verbal and pictorial representations every day. As the world moves to graphical user interfaces, however, there is a growing prejudice favoring the use of images. In many cases the represents nothing more than a naive technological determinism demanding that the graphical display be exploited to its `fullest' irrespective of task demands or user needs.''

Kevin Mullet and Darrell Sano, Designing Visual Interfaces: Communication Oriented Techniques.


``In computer systems, it is common to prevent errors by requiring confirmation before a command will be executed, especially when the user will destroy a file. But the request is ill-timed; it comes just after the person has initiated the request and is still fully content with the choice. The standard interaction goes something like this:

``User: Remove file `My-most-important-work.'
Computer: Are you certain you wish to remove the file `My-most-important-work'?
User: Yes.
Computer: Are you certain?
User: Yes, of course.
Computer: The file `My-most-important-work' has been removed.
User: Oops, damn.

``The user has requested deletion of the wrong file but the computer's request for confirmation is unlikely to catch the error; the user is confirming the action, not the file name.''

Donald A. Norman, The Design of Everyday Things.


``There are three axioms that tell us how to eliminate confirmation dialog boxes. The best way is to obey the simple dictum: do, don't ask. When you design your software, go ahead and give it the force of its convictions. Make sure that if it is going to do something, that it has the guts to go ahead and do it without whining and mewling about it. Users will respect its brevity and its confidence.''

Alan Cooper, About Face: The Essentials of User Interface Design


``Good advice about user interface can come from almost anywhere. Professional arrogance is a major enemy of user-interface programmers, because it can blind them to good ideas from `unprofessional' sources. A better attitude might be to imagine that good ideas are constantly surrounding us all the time, in a sort of ether-of-ideas. Through unimaginable mystical processes, these ideas may make themselves known to us through the comments of a fool, or even through a Ouija board. A constantly open mind is the designer's most important tool.

``... A slightly mystical attitude regarding the nature and sources of goof ideas may not be essential, but it does seem to help. Good ideas can appear from anywhere, at any time, and when inspiration materializes out of the apparently empty head of a particularly annoying user, it may be hard not to view it as a mystical event.''

Nathaniel Borenstein, Programming as if People Mattered.