A heuristic evaluation is an inspection used to understand usability issues in the user interface (UI) of a computer’s software. Jakob Nielsen, one of the pioneers in the field of human-computer interaction and usability testing, laid out ten general guidelines for interface design.
The system should always keep users informed about what is going on through appropriate feedback within a reasonable time-frame. Feedback can be audio or visual; the ‘swoosh’ sound when a tweet is sent on Twitter or how you can see the progress of a video upload on YouTube are two examples.
The system should speak the user’s language using words, phrases, and concepts familiar to the user. It should follow the same conventions that target users follow in the real world (e.g., deleting an item will send it to the trash bin in the same way that we throw trash into a trash bin in real life).
This principle gives the user the freedom to navigate through an application and perform actions as they wish. It also includes the freedom to undo any accidental actions. An example of this is in any modern email application when the “Undo” message is shown after an email is deleted.
The application should be consistent throughout and stick to the standards established for the app. For example, the color scheme of buttons should remain the same throughout to ensure that the user does not get confused when navigating through an application.
In addition to notifying the user of an error, errors should be prevented from happening. An example of this is when online forms do not proceed unless you enter your phone number in the correct format.
Minimize the user’s memory load by making objects, actions, and options visible. The user should not need to heavily rely on their memory to navigate the UI. An example of this is a search engine that gives you recommendations based on what you’ve already searched.
The interface should be flexible enough to switch between advanced users and novice users. An example of this is when operating systems allow you to perform actions with and without keyboard shortcuts.
The interface should only contain information that is necessary and relevant. Each screen should contain focused elements. The best example of this is Google’s home page.
Error messages should be expressed in plain language, precisely indicate the problem, and constructively suggest a solution.
Although an ideal system should be able to be used without any documentation, the option for additional assistance must be provided. An example would be the FAQ section on a university’s admission web-page.
Free Resources