Heuristic evaluation – 5 usability principles to help guide your work
Heuristic evaluation is the review of a user interface based on a set of usability principles.
It helps surface usability problems throughout the design process and can save countless hours of development time by fixing usability issues before they go live.
A formal heuristic evaluation consists of 3–5 usability experts examining an interface to highlight potential issues based on their guidelines.
This article was written by Andrew Coyle from NextUX. NextUX can accommodate your workflow in UXPin by enabling anyone on your team to quickly capture a screenshot and add markup directly on top of it.
Jakob Nielsen and Rolf Molich pioneered heuristic evaluation in the 90s, and their usability heuristics for user interface design still serve as a guide today. I highly recommend memorizing their 10 heuristics and learning more about how to conduct a heuristic evaluation.
Throughout my experience as a designer, I’ve defined and refined the heuristics I use to review web projects. Although I weigh countless variables and best practices when evaluating a UI, these 5 principles best encompass how I assess designs.
Users should know where they are
The user should always know where they are in an interface and understand how to navigate where they need to go. Establish straightforward navigation and sign markers throughout your app or website. Also, make your design interactive to thoroughly check what may cause troubles in the final product.
Example: Add an indication of progress and state in stepped flows and provide a descriptive header to communicate where they are and what’s next.
Rule exception: If the user derives entertainment or value from discovering where they are or what’s next, like in a game.
Make user interfaces consistent and aesthetically pleasing
Elements and flows in a user interface should be consistent with each other.
Example: A design using a sentence case for some buttons and a title case for others is most likely violating this principle unless there is an overriding stylistic reason for the inconsistency.
I believe the value placed on different aesthetic styles is in the beholder’s eye, but the overall aesthetic appeal is not. How a creator uses balance, symmetry, hierarchy, and other visual principles can make universally pleasing designs.
Example: An interface with a lot of visual noise caused by unnecessary borders and drop shadows reduces aesthetic appeal and, in turn, usability.
Reduce the need to read, wait or memorize
“If you make me read, I leave.”
“If you make me wait, I leave.”
“If you make me think, I leave.” – The user
Unfortunately, people have extremely low attention spans when it comes to the digital world. Never rely on a user to read, wait, or memorize anything. Always omit unnecessary text and design for scannability.
Automate as much as possible, so the user doesn’t need to rely on their short-term memory.
Example: If your app has a long load time for specific processes or interactions, consider adding a fun loading animation with an indication of time left to ease the burden of waiting.
Example: If your app has a complicated setup process, don’t assume the user will read instructions or memorize requirements. Instead, break up a long setup process into short steps with concise and contextual information.
Prevent errors and make actions reversible
Reduce the potential for errors by creating safeguards and clear communication in your application.
- Make deleting important data a more dexterous interaction to reduce inadvertent deletions.
- Add extra steps to the deletion process and make sure the user knows the outcome of their action.
- Add the ability to undo critical actions.
Enable experienced users and accommodate new users
Don’t overwhelm new users with complexity and choices. Provide a great first-time use experience that gets a user up to speed as fast as possible.
In making a powerful application easy to use, don’t limit the ability of experienced users. Provide optionality and customization for frequent users to achieve their goals and solve their needs as quickly as possible.
Example: Add keyboard shortcuts to actions presented in a user interface. New users don’t need to know the keyboard shortcuts to interact, but experienced users can interact faster with the shortcuts.