The 10 heuristics defined by Jakob Nielsen and Rolf Molich are good practices that can be applied to interface design to evaluate its usability.
These are principles based on the observation of real users and the problems they face when using any type of interface.
They are generic guidelines which have been used for many years (the first version is from 1989 and the latest update from 2005) but, even so, they continue to be a valid instrument to detect usability problems today.
If you are interested in finding out more about how to use heuristic principles to evaluate the usability of a digital product, you can read our article “What is a heuristic analysis and how to use it to analyze your digital product“
1. Visibility of system status
The system should provide information about its status o that users have control over what is happening on the screen and, for example, not interpret as an error those moments of pause where the system is processing the information.
Example: When we download an application in the App store or in the Play store, the store interface clearly shows through a progress bar that the app is being downloaded and how much it is left.
2. Match between system and the real world
The system has to speak the language of the users with concepts that are familiar to them and following the conventions of the real world. The information should be presented in a logical way.
Example: The iOS compass app is designed to look like a real compass. This way the users can apply what they already know from their real-world experience about how the object works and they don’t have to learn something new before using it.
3. User control and freedom
Users can make mistakes and that is why no action that they can carry out on an interface should be irreversible. This is especially true for those that can have negative consequences for them.
For this reason, it is not only good practice to ask for confirmation before performing actions that may have a certain impact, but also to allow the user to undo or cancel them.
Example: being able to recover an email deleted by mistake is an example of an action that allows the user to have control over what is happening
4. Consistency and standards
The system has to follow consistent rules and conventions so that users can anticipate how to interact without having to wonder how to do it or learn new actions.
Users are also users of many other digital products. Our product should meet all those established standards they are already accustomed to.
Example: The magnifying glass and menu icon, for example, are (almost) universally recognized and it would not make sense to show others that users would not understand.
Within the same interface it is also important to be consistent and treat identical elements in the same way to make it easier to understand and recognize them.
For example, use the same format for the main actions of the interface or call the same element in the same way every time you show it.
5. Error prevention
The system should not encourage user errors. On the contrary, it should try to prevent them in every possible way.
Example: Ryanair destination selection screen does not allow users to select a country that cannot be flown to from the selected origin.
6. Minimize memory load (Recognition rather than recall)
The system should help users recognize interface elements without the need to analyze them in detail each time, spending more energy and time.
Example: Spotify album listing not only shows the album title and the author, but also the thumbnail of the cover so that it is easier to recognize them and you do not have to read the titles every time you want to listen to something.
7. Flexibility and efficiency of use
This best practice indicates that the system should provide the user with different ways to get to the content, accelerators and custom actions.
In addition, the system should accommodate the way both expert and novice users browse, without penalizing either of the two.
Example: Amazon’s many filters are a good example of this heuristic. Users can find the product they want in many different ways depending on their needs, their priorities and the way they use to browse.
8. Aesthetic and minimalist design
Information that is not very relevant or rarely used should not be included in the interface. Instead, show only the elements necessary for the action to be carried out. This way, you will create interfaces that are easier to understand and to use and you will allow the users to focus on what is really important to them.
Example: In the Google Maps version shown in the image above we can see how the different options of the app are either hidden in the menus or placed in less visible areas of the interface. The vast majority of the space is taken up by the map, which is the element that really matters. More recent versions have been adding more controls, making the interface a bit more complex, probably due to the fact that the way users use GMaps has evolved over time.
9. Help users recognize, diagnose, and recover from errors
Although we do everything to apply the fourth heuristic and prevent users from making mistakes, they can always happen.
In those cases it is important that the system helps the user to understand what has occurred and solve the problem with the minimum possible effort.
Error messages must clearly indicate the errors, their causes and how to fix them. Specific messages like “Insert a password of at least 8 characters” are always better than generic messages like “invalid password”
In the image on the right, the system not only indicates that the location services are disabled, but also shows a shortcut to activate them.
10. Help and documentation
The interface should always provide help and documentation for the user. It has to be easy to find, focused on the tasks and steps they need to carry out, and not too long.
Example: The AirBnB app offers different help and contact options.