Heuristic Principles – Best Practices

1 Visibility of system status

  • Feedback: keep user informed about what goes on
  • Provide status information
  • Feedback: show that input has been received
  • Features change as user carries out task
  • Feedback provided for all actions
  • Feedback timely and accurate
  • Indicate progress in task performance
  • Direct manipulation: visible objects, visible results
  • Identity cues system response vs. user’s goal
  • Show icons and other visual indicators
  • WYSIWYG; do not hide features

2 Match between system and the real world

  • Speak the user’s language
  • Contains familiar terms and natural language
  • Metaphors from the real world
  • Familiar user’s conceptual model
  • Use of user’s background knowledge

3 User control and freedom

  • Undo e redo should be supported
  • Obvious way to undo actions
  • Forgiveness: make actions reversible
  • Ability to undo prior commands
  • Clearly marked exits
  • Ability to re-order or cancel tasks
  • Modeless interaction
  • User control: allow user to initiate/control actions

4 Consistency and standards

  • Consistency: express same thing same way
  • Consistency: same things look the same
  • Uniform command syntax
  • Conform to platform interface conventions
  • Show similar inf. at same place on each screen

5 Error prevention

  • Prevent errors from occurring in the first place
  • System designed to prevent errors
  • What planning mistakes are most likely ?

6 Recognition rather than recal

  • See-and-point instead of remember-and-type
  • Make the repertoire of available actions salient
  • Seeing and pointing: objects and actions visible
  • What features often missed and at what cost ?
  • Provide list of choices and picking from list
  • Minimise the user’s memory load
  • Easy or difficult to perform (execute) tasks ?
  • Allow access to operations from other applications
  • Show icons and other visual indicators

7 Flexibility and efficiency of use

  • Shortcuts: Accelerators should be provided
  • User tailorability to speed up frequent actions
  • User interface should be customisable

8 Aesthetic and minimalist design:

  • Design should be Aesthetic
  • Navigation and buttons should be affordance
  • Design should be intuitive
  • Clutter free
  • Interface should have visual cue and affordance
  • Affordances provide strong clues to the operations of things.

9 Help users recognize, diagnose, and recover from errors

  • Error and Exception Handling

10 Help and Documentation

  • Help and Documentation should be available