The following principles are fundamental to the design and implementation of effective interfaces, whether for traditional GUI environments or the web. Of late, many web applications have reflected a lack of understanding of many of these principles of interaction design, to their great detriment. Because an application or service appears on the web, the principles do not change. If anything, applying these principles become even more important.
Effective interfaces are visually apparent and forgiving, instilling in their users a sense of control. Users quickly see the breadth of their options, grasp how to achieve their goals, and do their work.
Effective interfaces do not concern the user with the inner workings of the system. Work is carefully and continuously saved, with full option for the user to undo any activity at any time.
Effective applications and services perform a maximum of work, while requiring a minimum of information from users.
This work is copyright 2003 by Bruce Tognazzini. Permission to make copies for personal use is granted without reservation, provided this copyright notice remains on the copy. Please contact the author for permission to republish on a web site, to publish in bound form, or to make multiple copies, except that educators and in-house corporate trainers may make sufficient copies for their own students. No commerical use may be made of the work beyond this in-house exception. This notice must be retained together with any version of the work.
Applications should attempt to anticipate the user’s wants and needs. Do not expect users to search for or gather information or evoke necessary tools. Bring to the user all the information and tools needed for each step of the process.
Give users some breathing room. Users learn quickly and gain a fast sense of mastery when they are placed "in charge." Paradoxically, however, people do not feel free in the absence of all boundaries (Yallum, 1980). A little child will cry equally when held too tight or left to wander in a large and empty warehouse. Adults, too, feel most comfortable in an environment that is neither confining nor infinite, an environment explorable, but not hazardous.
No autonomy can exist in the absence of control, and control cannot be exerted in the absence of sufficient information. Status mechanisms are vital to supplying the information necessary for workers to respond appropriately to changing conditions. As a simple example, workers, failing status information, will tend to maintain heightened pressure on themselves during slow periods, until the moment the work actually runs out. This will stress and fatigue them unnecessarily, so that when the next rush occurs, they may be lacking the physical and mental reserves to handle it.
Users should not have to seek out status information. Rather, they should be able to glance at their work environment and be able to gather at least a first approximation of state and workload. Status information can be quite subtle: the inbox icon could be switched to show an empty, somewhat full, or stuffed state. This, however, should not be overdone. The Macintosh, for years, showed an icon of a trashcan of imminent danger of explosion if a single document was placed therein. Users quickly formed the habit of emptying the trashcan as soon as the first document hit. This not only turned a single-step operation into a two-step operation (drag to the trash, then empty the trash), it negated the entire power of the trashcan, namely, undo.
As another positive example, a search field icon can change color and appearance to indicate that the search is in progress or has been completed with too many matches, too few matches, or just enough. (Like any element of the interface, just color is not enough; 10% of males show some indication of color blindness. Even a higher percentage may have temporary alterations in perception of blue under varying conditions.)
Any time you use color to convey information in the interface, you should also use clear, secondary cues to convey the information to those who won't be experiencing any color coding today.
Most people have color displays nowadays, but they are not universal. In addition, approximately 10% of human males, along with a rare sprinkling of females, have some form of color blindness.
The cones in the eye are the source of color vision. We have cones separately sensitive to red, green, and blue. If the red ones are not functioning that is called protanopia. If the green are not functioning, that is called deuteranopia. Absence of blue, extremely rare, is called tritanopia.
Protanopia and deuteranopia are the most popular forms of color blindness, collectively called red/green blindness. (There are, in fact, significant differences in their effects, but those differences have no real effect on interaction design.) While tritanopia is far more rare, it nonetheless rules out dependence on yellow-blue differentiation without secondary cues.
Secondary cues can consist of anything from the subtlety of gray scale differentiation to having a different graphic or different text label associated with each color presented.
The following principles, taken together, offer the interaction designer tremendous latitude in the evolution of a product without seriously disrupting those areas of consistency most important to the user.
"Invisible structures" refers to such invisible objects as Microsoft Word's clever little right border that has all kinds of magical properties, if you ever discover it is there. It may or may not appear in your version of Word. And if it doesn't, you'll never know for sure that it isn't really there, on account of it's invisible. Which is exactly what is wrong with invisible objects and why consistency is so important. Other objects are, strictly speaking, visible, but do not appear to be controls, so users, left to their own devices, might never discover their manipulability. The secret, if you absolutely insist on one, should be crisp and clean, for example, "you can click and drag the edges of current Macintosh windows to size them," not, "You can click and drag various things sometimes, but not other things other times."
Inconsistency: It is just important to be visually inconsistent when things must act differently as it is to be visually consistent when things act the same.
Avoid uniformity. Make objects consistent with their behavior. Make objects that act differently look different.
Efficiency of the User
People cost a lot more money than machines, and while it might appear that increasing machine productivity must result in increasing human productivity, the opposite is often true. In judging the efficiency of a system, look beyond just the efficiency of the machine.
For example, which of the following takes less time? Heating water in a microwave for one minute and ten seconds or heating it for one minute and eleven seconds?
From the standpoint of the microwave, one minute and ten seconds is the obviously correct answer. From the standpoint of the user of the microwave, one minute and eleven seconds is faster. Why? Because in the first case, the user must press the one key twice, then visually locate the zero key, move the finger into place over it, and press it once. In the second case, the user just presses the same key–the one key–three times. It typically takes more than one second to acquire the zero key. Hence, the water is heated faster when it is "cooked" longer.
Other factors beyond speed make the 111 solution more efficient. Seeking out a different key not only takes time, it requires a fairly high level of cognitive processing. While the processing is underway, the main task the user was involved with–cooking their meal–must be set aside. The longer it is set aside, the longer it will take to reacquire it.
Additionally, the user who adopts the expedient of using repeating digits for microwave cooking faces fewer decisions. They soon abandon figuring out, for example, whether bacon should be cooked for two minutes and ten seconds or two minutes and twenty-three seconds. They do a fast estimate and, given the variability of water content and bacon thickness, end up with as likely a successful result with a lot less dickering up front, again increasing human efficiency.
Since, typically, the highest expense in a business is labor cost. Any time the user must wait for the system to respond before they can proceed, money is being lost.
Large organizations tend to be compartmentalized, with each group looking out for its own interests, sometimes to the detriment of the organization as a whole. Information resource departments often fall into the trap of creating or adopting systems that result in increased efficiency and lowered costs for the information resources department, but only at the cost of lowered productivity for the company as a whole.
For example, one large California corporation used floppy disks as the medium for collecting benefit enrollment information. At the beginning of open enrollment, each employee would receive a disk with the enrollment applications on which he or she would insert into their computer and run. After asking for the employee’s name, address, phone number, department name, etc., the employee would be permitted to step through all the various benefits, ultimately returning the disk which now contained all their answers and decisions. The IR department then sucked the data off each disk and entered it into their system, all automatically. The IR department saved a great deal of money over the old system, where they had to key in the employee’s decisions from a paper form.
What was the problem? Instead of the IR department bearing the burden of keying in the employees’ decisions, each and every employee now bore the burden of typing in his or her name, address, phone number, department name, etc. The system was just as inefficient as before, but now the cost was borne by all departments, rather than having it concentrated in the IR department’s budget.
This simple truth is why it is so important for everyone involved in a software project to appreciate the importance of making user productivity goal one and to understand the vital difference between building an efficient system and empowering an efficient user. This truth is also key to the need for close and constant cooperation, communication, and conspiracy between engineers and human interface designers if this goal is to be achieved.
Insert page break
Update Table of Contents
Table of contents
Here, the first example, with its leading words, is actually more informative and more accurate: one does not "insert" a footnote if it is to be placed after all the other footnotes. And one does not insert a table of contents if there is already a table of contents there. Instead, one updates it. Still, the second example will prove much more efficient in time-trials. Why? Because the extra information the first example offers does not outweigh the advantage of being able to scan only the first word in each menu item to find the specific menu item you are after.
Mimic the safety, smoothness, and consistency of the natural landscape. Don’t trap users into a single path through a service, but do offer them a line of least resistance. This lets the new user and the user who just wants to get the job done in the quickest way possible and "no-brainer" way through, while still enabling those who want to explore and play what-if a means to wander farther afield.
The closer you get to the naive end of the experience curve, the more you have to rein in your users. A single-use application for accomplishing an unknown task requires a far more directive interface than a habitual-use interface for experts.
Stable visual elements not only enable people to navigate fast, they act as dependable landmarks, giving people a sense of "home."
People explore in ways beyond navigation. Sometimes they want to find out what would happen if they carried out some potentially dangerous action. Sometimes they don’t want to find out, but they do anyway by accident.
By making actions reversible, users can both explore and can "get sloppy" with their work.
The unavoidable result of not supporting undo is that you must then support a bunch of dialogs that say the equivalent of, "Are you really, really sure?" Needless to say, this slows people down.
In the absence of such dialogs, people slow down even further. A study a few years back showed that people in a hazardous environment make no more mistakes than people in a supportive and more visually obvious environment, but they worked a lot slower and a lot more carefully to avoid making errors.
Users should never feel trapped. They should have a clear path out.
Early software tended to make it difficult to leave. With the advent of the web, we've seen the advent of software that makes it difficult to stay. Web browsers still festoon their windows with objects and options that have nothing to do with our applications and services running within. Our task can become akin to designing a word process which, oh, by the way, will be using Photoshop's menu bar. Having 49 options on the screen that lead directly to destruction of the user's work, along with one or two that just might help is not an explorable interface, it is the interface from hell. If you are working with complex transactions using a standard web browser, turn off the menu bar and all of the other irrelevant options, then supply our own landmarks and options.
While at first glance, this law might seem patently obvious, it is one of the most ignored principles in design. Fitts' law (properly, but rarely, spelled "Fitts's Law") dictates the Macintosh pull-down menu acquisition should be approximately five times faster than Windows menu acquisition, and this is proven out.
Fitts' law dictates that the windows task bar will constantly and unnecessarily get in people's way, and this is proven out. Fitts' law indicates that the most quickly accessed targets on any computer display are the four corners of the screen, because of their pinning action, and yet, for years, they seemed to be avoided at all costs by designers.
Use large objects for important functions (Big buttons are faster).
Use the pinning actions of the sides, bottom, top, and corners of your display: A single-row toolbar with tool icons that "bleed" into the edges of the display will be many times faster than a double row of icons with a carefully-applied one-pixel non-clickable edge between the tools and the side of the display.
Human Interface Objects
Human-interface objects are not necessarily the same as objects found in object-oriented systems. Our objects include folders, documents, and the trashcan. They appear within the user's environment and may or may not map directly to an object-oriented object. In fact, many early gui's were built entirely in non-object-oriented environments.
Latency can often be hidden from users through multi-tasking techniques, letting them continue with their work while transmission and computation take place in the background.
Eliminate any element of the application that is not helping. Be ruthless.
Ideally, products would have no learning curve: users would walk up to them for the very first time and achieve instant mastery. In practice, all applications and services, no matter how simple, will display a learning curve.
Usability and learnability are not mutually exclusive. First, decide which is the most important; then attack both with vigor. Ease of learning automatically coming at the expense of ease of use is a myth.
Metaphors, Use of
Protect Users' Work
We may need to know:
In addition to simply knowing where they’ve been, we can also make good use of what they’ve done.
Users should be able to log off at work, go home, and take up exactly where they left off.
A private service for doctors, Physicians On Line, does an excellent job with this. Doctors can be 95% of the way through a complex transaction, log off, log in again six weeks later from another part of the world, and the service will ask them if they want to be taken right back to where they were.
Most users cannot and will not build elaborate mental maps and will become lost or tired if expected to do so.
The World Wide Web, for all its pretty screens and fancy buttons, is, in effect, an invisible navigation space. True, you can always see the specific page you are on, but you cannot see anything of the vast space between pages. Once users reach our applications, we must take care to reduce navigation to a minimum and make that navigation that is left clear and natural. Present the illusion that users are always in the same place, with the work brought to them. This not only eliminates the need for maps and other navigational aids, it offers users a greater sense of mastery and autonomy.
As with the inherent statelessness of the web (see Track State, above), our job is not to accept blindly what the architects have given us, but to add the layers of capability and protection that users want and need. That the web's navigation is inherently invisible is a challenge, not an inevitability.
From the website www.asktog.com