Good design results partly from the knowledge and experience of the designers and partly from the way in which they actually apply this knowledge. Design guidelines can help to provide a framework that can guide designers towards making sound decisions. These guidelines can take a variety of forms and may be obtained from several sources. The important thing to remember about guidelines is that they need to be applied very carefully; they provide guidance - no "cookbook" of HCI design exists, nor is such a thing likely to exist.
Many guidelines for interface design have been suggested, but unfortunately, they are sometimes misinterpreted or misapplied. There are, in fact, two kinds of guidelines - high-level guiding principles and low-level detailed rules - and our aim is to help you to use both effectively.
Principles and rules
The word "guideline" has been misused and many varieties of advice are packaged together as so-called guidelines. The best user interface design guidelines are guidelines in the true sense: high level and widely applicable directing principles. For example, the following principles offer high-level advice that can be applied widely:
Know the user population. Knowing the user includes being sympathetic to different users, promoting the "personal worth" of the individual user, and allowing users to perform tasks in more than one way.
Reduce cognitive load. This concerns designing so that users do not have to remember large amounts of details.
Engineer for errors. A common excuse s that a problem occurred because of "human error". But people will always make errors and indeed have to make errors in order to learn. Engineering for errors includes taking forcing actions that prevent the user from making an error providing good error messages, using reversible actions that allow users to correct their own errors, and providing a large number of explicit diagnostics.
Maintain consistency and clarity. Consistency emerges from standard operations and representations and from using appropriate metaphors that help to build and maintain a user's mental model of a system. A designer can only have ideas about what is clear based on initial information about users.
In order to use these principles in practice, they need to be interpreted in relation to the context of use. Simply applying guidelines will not lead to good design. For example, the principle "reduce cognitive load" may be interpreted a "minimize learning by being consistent". However, design rules can be distinguished from principles: a design rule is an instruction that can be obeyed with minimal filling out and interpretation by the designer, for example, date fields should be in the form DD-MM-YY or MM-DD-YY in North America. High-level principles, on the other hand, must be interpreted and translated into a strategy for producing an unambiguous and clear-cut design rule which is appropriate for the system in question; for example, the input medium should be appropriate for the system's environment.
Where do guidelines come from
Guidelines have two main origins: psychological theory and practical experience. The latter group is often based on years of practitioner practice. These guidelines need to be applied with care. Often guidelines have to be traded-off against other constraints or against each other. It is also misleading or failure to apply it. Ultimately, there are only good and bad decisions, which reflect the way in which guidelines were applied. So you need to choose and apply the right guidelines.
Guidelines inevitably contain some overlapping and contradictory advice. Consistency might, for example, be important for learning to use a particular system but troublesome when a user becomes experienced. Many of these contradictions appear early and then disappear during the design process as high-level principles become refined into lower-level design rules. Often constraints imposed by the characteristics of the users, their work, and the environment will remove the need to choose between contradictory items of advice because one refinement of a higher-level principle will clearly apply when others do not. The skill that must be acquired in order to accumulate and apply guidelines wisely is the ability to evaluate them critically. So how does one evaluate guidelines? There is no mechanical technique. Principles have different forms, which affect how one goes about evaluating them. Evaluating guidelines requires considerable expertise. Watching users interacting with systems will improve your ability to judge the applicability of guidelines. The best way to check guidelines is to act on it and observe the result, paying particular attention to the context in which it is used.