A Heuristic Evaluation, or Usability Audit, is an evaluation of an interface by one or more Human Factors experts. Evaluators measure the usability, efficiency, and effectiveness of the interface based on 10 usability heuristics originally defined by Jakob Nielsen in 1994. Nielsen’s Usability Heuristics, which have continued to evolve in response to user research and new devices, include:
Provide users timely and appropriate feedback about the system’s status.
Example: If it takes a long time to load a screen, display a progress bar and/or an estimate of the time it may take to load, so users know what to expect.
Speak the user’s language using terms and concepts that are familiar to the intended audience. Information should be organized naturally and logically based on what users are accustomed to seeing in the real world.
Example: When designing a website for children, use terms with which they are familiar and display information in formats they are used to seeing.
Users should experience perceived control as they interact with the system.
Example: Provide the functionality to Undo and Redo actions and to easily exit the system.
User controls, icons, terminology, and error messaging should be consistent throughout the interface. Where appropriate, industry and platform standards should be applied.
Example: Use icons with which people are familiar, rather than creating new designs that mean the same thing.
Prevent user errors by user-testing the interface to identify problem areas for typical users and re-designing it to more clearly communicate the consequences of users’ actions. When deleting information that may be difficult to recreate, offer users a confirmation to delete the data. Additionally, provide the ability to Undo actions that users could accidentally commit and, consequently, lose important information.
Example: If a user cancels her account, offer her a way to re-establish the account within a certain time period.
Reduce the memory load of users by presenting familiar icons, actions, and options whenever possible. Do not require the user to recall information from one screen to another. Use mouse-over tooltips to describe the functionality of icons which may be unfamiliar.
Example: On a web form, allow easy access to previously entered information, such as serial numbers, so the user does not need to recall the information or write it down.
Novice and expert users use systems differently. The system should be easy and efficient to use by novices and experts alike. Provide “accelerators” for expert users to more efficiently navigate your application to complete the most frequent tasks.
Example: An accelerator can be a keystroke shortcut, such as Macintosh’s Command+Q to quit an application.
Avoid displaying excessive information and design elements, as they will visually compete with more relevant information on the screen.
Example: Background graphics can make viewing text difficult.
Present error messages that give users instructions about how to recover from an error, rather than cryptic codes that users do not understand.
Example: If the user enters an invalid email address on a web form that requests the address, the error message could read, “That email address is not in our records. Please enter an email address in this format: firstname.lastname@example.org.”
It is usually best to design an interface to be so simple to use that Help and Documentation is unnecessary; however, there may be times when it is necessary to access Help. In those cases, Help documentation and user support should be easy to search, and instructions should be easy to follow. It may be useful to provide video tutorials and examples for complex procedures or controls that are hard to locate.
Example: If there is not enough reason to produce an entire Help section, and there are a couple form fields that may be confusing to some users, it is appropriate to include “in-line help” in the form of a link that opens a a small help dialogue next to the form field. Alternatively, next to a form field text box or field label, provide users an example of how to input the information using the required formatting, such as entering a phone number as xxx-xxx-xxxx.