Usability heuristics

Heuristics of Understanding

Consistency

  • A system is easier to learn if similar concepts are expressed in the same way
  • consistency makes it easy to transfer prior knowledge to the current situation
  • Types of consistency
    • aesthetic / functional
    • internal external

Familiar language and metaphors

  • Speak the language of users
  • user words, phrases and concepts familiar to the user, rather than system-oriented terms
  • adapt the language to the target groups: children, elderly people, different cultures

What is a metaphor in UI design?

  • a word or phrase designating an object used in place of another to suggest a resemblance
  • the use in an interface of familiar concepts to present more abstract system concepts

Simple, aesthetic and functional design

  • signal to noise ratio:
  • not too crowded
  • good use of color themes.
  • remember that "fonts have moods"
  • call the laws of Gestalt for help!

Heuristics of Action

Freedom and Control

  • favor exploration before commitment
  • on an e-commerce site, for example, be able to explore without having to enter a lot of information
  • allow undoing different actions
  • the user must feel in control

Flexibility and efficiency of use

  • adaptability to domain and/or software expertise
    • shortcuts for experts, but complete menus for novices
    • several ways to go somewhere
    • multiple entry points for multiple users
  • adaptability to frequency of operations
    • if something is rarely done by an non-experienced users (like setting up a printer), a linear process is more logical
    • if something is frequent, make sure the access is easy and efficient
  • proactiveness
    • correct mistakes
      • simple example of "do you mean X?"
    • recommendation system
      • those who bought X also bought Y
    • making suggestions

Recognition over Recall

  • limit the cognitive load
    • WIMP interaction mode
    • avoid codes, and abbreviations
    • do not assume that people will remember options(recall), make sure that the functions and options are clear (recognition) on the screen
    • remember short-term memory limits

Heuristics of Guidance

Clear status

  • system status: space, process, time

Space

  • in recent years, space limitations are less in effect
  • sometimes free portion / paying portion (should mention limits during sign up)
  • its good to provide status when the user approaches a limit (or problem), not when its too late

Process

  • completed setup
    • example: Thank you, you did X
  • action/next step
    • what is the next step?
    • provide the clear options
  • completion
    • show the user that he/she has finished
    • for example, a completed order at checkout

Time

What is response time?

  • time required between users initiating an activity and when the computer presents the results

What is think time?

  • the time it takes for the user to think before performing the next action (a.k.a user response time)

  • over time, users become more and more demanding of computers

  • users are looking for quick response systems

  • users wat to feel in control

    • slow response time gives control to the computer
  • maintain low variability of the response time

    • users become more frustrated if the system sometimes runs slowly
    • explain clearly the variability of the response time
  • calculate the expected duration of the delay and provide a dynamic feedback

Guide for the UI according to response time:

  • <1 second: show results
  • 1-3 seconds
    • a status indicator like the "spinning circle"
    • progress bar
    • countdown indication
  • 3-5 seconds
    • display everything you can, as soon as you can
      • e.g. when starting an application, immediately open a window with a title
  • >5 seconds:
    • announce the delay:
      • before the user selects the action(if possible), warn of the consequence
      • during the execution, indicate how long it would take

Error Prevention

  1. What will happen?
    • use feedback messages to warn users of the potential consequences of their actions
  2. Oh.. I do not want to go on... how can I get out here?
    • provide an exit
  3. How can I enter this information?
    • add input constraints, or manage an unconstrained field
  4. Have I lost everything?
    • use a state backup

Help

  • help at different levels
    • global help (global process)
    • contextual help (on the buttons)
  • provide tutorials, unless "walk-up-and-use" application that should be clear without additional documentation
  • make access easy for beginners

Error Recovery

  • Human sounding
    • make sure your error message sounds like it was written by a human for a human
  • visibility
    • make sure your error message can be easily seen
  • clear explanation
    • make sure your error message clearly explains what happened, that it is not encrypted or too vague
  • recuperation
    • make sure your error message allows the user to recover and resolve the problem
  • humility
    • make sure your error message is humble and does not blame the user
  • humor
    • if appropriate, humor could help reduce frustration