Design Guidelines
Visibility
- can see the state of a device and possible actions
- ex. car controls are positioned in a way that they can be easily found and used
- problems arise when we cannot "see" how to use a device
The UI should help the user always be aware of:
- Current state of the system
- What actions/operations can be done
Encourage recognition over recall
- Recognition: menus, icons (WIMP), visible hints
- Recall: no help ... blank page
Encourage an understanding of the local context:
- clear messages on buttons
- good choice of words in menus
Encourage an understanding of the global context:
- linear process: show which step the user is at, and what is left to do
- exploratory process: show how to access different sources of information
Feedback
- what is it doing now? what action has been performed?
- needs to be immediate and synchronized with user action
The UI should always keep track and display:
- Results of any change previously made
- Errors/problems encountered
Offer informative feedback
- Frequent and minor actions should get modest feedback
- Infrequent or major actions should get substantial feedback (especially if they have security implications)
Avoid distracting the user
- Avoid adding non-important messages or suggest various actions that the user could do
Affordance
- Perceived and actual properties of an object that give clues to its operation
Capability of a system to suggests its own usage
- Use of metaphors
- an element that looks like a button can be pushed
- Discrete but clear help
- when a cursor is over a button, it darkens indicating that pressing the mouse now would perform the action
- Words found on input instructions clearly state what needs to be entered
Mapping
- the notion of association, needed between input and output
Mapping refers to the relationship between the action performed and the result of that action
Constraints
- restricting the kind of interactions that can take place
Principle to prevent the user from doing inappropriate actions that would lead to errors
The UI should:
- Limit the user's choices to choices leading to correct behavior
- Use guidelines to restrict the types of input
Consistency
A system is easier to learn if similar concepts ar expressed the same way.
Coherence allows easy transfer of previous knowledge to the current situation
Types of consistency:
- aesthetic/functional
- internal/external
Aesthetic Consistency
Style and appearance is repeated to enhance recognition ("branding"), and establish an emotional tone
Functional Consistency
Augment user's learning speed by using known symbols (colors/icons) or clear metaphors.
E.g. symbols go forward/backward/pause when listening to music or lots of other icons.
Internal consistency
Coherence between the different elements of a same system
Reuse the same colors/fonts/structure from on page to another. Shows that the system was well-thought
External consistency
Coherence with various standards. Favors transfer learning.
Use of patterns and components:
- Widgets
- Navigational patterns
- Structural patterns