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