Bruce “Tog” Tognazzini (March 26, 1945 – ) is a usability consultant in partnership with Donald Norman and Jakob Nielsen in the Nielsen Norman Group, which specializes in human computer interaction. He was with Apple Computer for fourteen years, then with Sun Microsystems for four years, then WebMD for another four years. He has written two books, Tog on Interface and Tog on Software Design, published by Addison-Wesley, and he publishes the webzine Asktog, with the tagline “Interaction Design Solutions for the Real World”. Learn more about Bruce on Wikipedia
Let’s just look at the Basic Principles of Interaction Design:
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.
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.
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.
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.
Approximately 10% of human males, along with a rare sprinkling of females, have some form of color blindness.
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.
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.
The most important consistency is consistency with user expectations.
The only way to ascertain user expectations is to do user testing. No amount of study and debate will substitute.
Defaults should be easy to “blow away:” Fields containing defaults should come up selected, so users can replace the default contents with new material quickly and easily.
Defaults should be “intelligent” and responsive.
Do not use the word “default” in an application or service. Replace with “Standard,” “Use Customary Settings,” “Restore Initial Settings,” or some other more specific terms describing what will actually happen.
Give users well-marked roads and landmarks, then let them shift into four-wheel drive.
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.
Always allow a way out.
Users should never feel trapped. They should have a clear path out.
Always allow “Undo.”
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.
The time to acquire a target is a function of the distance to and size of the target.
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.
- Human-interface objects can be seen, heard, touched, or otherwise perceived.
- Human interface objects that can be seen are quite familiar in graphic user interfaces. Objects that play to another sense such as hearing or touch are less familiar.
- Human-interface objects have a standard way of interacting.
- Human-interface objects have standard resulting behaviors.
- Human-interface objects should be understandable, self-consistent, and stable.
Good work has been done in developing auditory icons (Gaver).
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
Choose metaphors well, metaphors that will enable users to instantly grasp the finest details of the conceptual model.
Good metaphors are stories, creating visible pictures in the mind.
Bring metaphors alive by appealing to people’s perceptions–sight, sound, touch, and kinesthesia–as well as triggering their memories.
Text that must be read should have high contrast. Favor black text on white or pale yellow backgrounds. Avoid gray backgrounds.
Use font sizes that are large enough to be readable on standard monitors. Favor particularly large characters for the actual data you intend to display, as opposed to labels and instructions. For example, the label, “Last Name,” can afford to be somewhat small. Habitual users will learn that that two-word gray blob says “Last Name.” Even new users, based on the context of the form on which it appears, will have a pretty good guess that it says “Last Name.” The actual last name entered/displayed, however, must be clearly readable. This becomes even more important for numbers. Human languages are highly redundant, enabling people to “heal” garbled messages. Numbers, however, unless they follow a very strict protocol, have no redundancy, so people need the ability to examine and comprehend every single character.
Avoid invisible navigation.
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.