If it is overcomplicated, an end user will close your website before trying to understand how to use it. Of course, if your website is the only available option—such as the only place where the user may pay their taxes—they will have to manage. Yet, this will not be a good user experience.
Jakob Nielsen was a well-known expert in usability. In 1990, in collaboration with Rolf Molich, he developed and later refined ten heuristics, broad rules that a user friendly interface should follow.
A heuristic is a useful algorithm or method which does not have strict proof or guarantee of being optimal or perfect. However, it is useful in practice and helps reach short-term goals. In most cases, heuristics help solve problems
In spite of the many years which have passed since Jakob Nielsen introduced his ideas, they are still widely used due to their simplicity and universality. Interfaces have become more complicated, but the same principles are still successfully used by researchers to analyse their usability.
In general, heuristics are used as a check list when researchers evaluate and analyse websites and mobile app interfaces, and compare them with best practices on the market. This peer review method is quite popular and much simpler and cheaper than usability researches with focus groups, etc.
10 Usability Heuristics for User Interface Design by Jakob Nielsen
1. Visibility of system status
The end user should always be aware of what is happening with the system. Interactions should be supported by feedback within a reasonable time.
For example, when you press a button, you expect some action to happen. If there is a long process behind the button (processing some data to display calculation results) causing a delay in the action, then the button should reflect the process behind it (a spinner or a progress bar ,etc.) or some notification should appear. Similarly, when you order an Uber, then after submitting the request, you expect to see that your order was picked up and some information about where the driver is. That is proper feedback.
2. Match between the system and the real world
The system should interact with users in a language they understand and in a natural way. The user should see well-known words from the real world, not technical terms. For example, "The list of subscriptions is not initialised" is more understandable and natural as "You have no subscriptions". It is also important to notice here that in most cases, the researcher's language is not equal to the customer's language. Therefore, it requires careful analysis. Another example is website architecture and navigation. It should reflect the user's understanding of the world, so he will be able to find things more quickly. As you may know, it's a scientific fact that a watermelon is a berry. But would a customer looking for it on a website go to the “Berries” category? Probably not.
3. User control and freedom
Users should have the possibility to undo an action done by mistake. Similary, they should be able to go back if they have changed their mind. Interfaces should let users get back to a previous system condition with minimal effort. For example, if a user cancelled his email subscription and changed his mind, he should be able to resubscribe. If an order was cancelled (by mistake or by error), it should be simple to reactivate the order.
4. Consistency and standards
The user experience should be consistent over the whole system (or ecosystem). Thus, there should be the same user experience for similar functionalities and similar terms used for the same processes. This minimises user confusion.
Users spend a lot of energy in getting used to the system functionality. Therefore, you shouldn't make drastic changes in the patterns users are used to. This also connects to market standards, i.e. the patterns which were learned on other websites and applications.
The principle of consistency may be applied at different levels such as:
- system visual style (should use a style guide for consistent visuals);
- system components behaviour (a good idea to maximally reuse components as often as it makes sense);
- navigation consistency (makes getting around the system a smooth user experience);
- content consistency (labels, terms, button names, etc.).
5. Error prevention
All users may make mistakes; that is normal. The interface should do as much as possible to prevent situations in which a mistake may cause improper system behaviour or have a negative impact on the user or business. Even if you have error messages indicating that the provided data is invalid, it still would be nice to help the user provide the data in a correct format from the beginning.
If you ask users to provide a phone number, for example, do not ask them to type into an empty field. Instead, use a smart phone number format masking: automatic + symbol in the beginning, then a pre-filled default country code (or a dropdown menu if that can be changed by a user), and the separation of the phone number digits according to the standard phone format should be done automatically. Something like this will benefit users much more than the error message: "Your phone number format is invalid. Please provide the correct one."
6. Recognition rather than recall
Do not force the user to remember a lot of objects, instructions, etc. Working in the system should be natural and relatively simple. Placing an order, the user should get all the needed information about the order, payment options, delivery address, and when it will be delivered in their personal account as well as in an email.
7. Flexibility and efficiency of use
Users working repeatedly with an interface will perform routine actions, especially if they are experts. They should have ways to perform actions more efficiently and quickly.
For example, hotkeys improve the speed of working with advanced functionality and help experienced users perform better. If there are some actions which tend to be performed frequently, there should be an option to find them quickly, a shortcut so to speak, such as the company phone number placed in the header or footer for easy access.
8. Aesthetic and minimalist design
This principle is related to multiple areas such as texts, visual design, and forms.
Texts should not contain useless or redundant information. While working on texts, always think how the customer will perceive them. Each extra bit of text makes interface elements less visible; therefore, the user has fewer chances to find the needed information or function. However, this point is not only about content pages but also interface labels. Buttons and field names should reflect their functionality in a concise and clear way.
The minimalism in design is very subjective, but still, the recommendation here is to provide the user with minimum options that are needed to complete the user flow. No redundant functionality should be added.
9. Help users recognise, diagnose, and recover from errors
While Point 5 says that we should help the user avoid making mistakes, this point is about providing guidance when inevitable mistakes are made. Error messages should be clear, written in the customer’s language, and help solve the problem.
In Point 5, this error message example was given: "Your phone number format is invalid. Please provide the correct one". while this message contains information that a problem has occurred, it does not say anything about how to fix it. A better variant would be: "Your phone number format is invalid. Please provide your phone number in the following format: +1 234 345 56 67." This message not only indicates what has happened but what should be done and how.
Another possible case is an empty page (no results) following an unsuccessful search. Some of the ways to avoid displaying an empty page are to show a suggestion of the correct search phrase (if the original phrase was misspelled), links to content pages, or a group of related products (highest rating, top selling, etc.).
10: Help and documentation
We should try to create systems that are intuitive to users and do not require additional documentation. We admire products from Apple, Uber, and Netflix, believing that is how a product should be designed. But this is not always possible due to business or user flow specifics, some technical limitations, and so on.
Documentation or additional support materials should help users work with new functionality. The materials should be simple, well-structured, concise, and easy to understand. In short, getting the needed information should not be a huge challenge. Different tooltips—available during the first time a user is using the system—may also be counted as a kind of documentation and should help the user, not distract him.
When to use heuristics
Nielsen's heuristics are the minimal criteria an interface should follow. They are widely known and accepted by user experience researchers.
In spite of Nielsen's heuristics bringing real benefits in most cases, they are still subjective. That is why it's important to perform heuristics analysis in a team. Performing an analysis alone, the expert's bias usually affects research results. Experts tend to note the facts that prove their personal opinions or views on a problem. Something may seem to be a problem for the researcher but not to be a problem for a customer and vice versa. Also, one person can not find all the problems alone. In many cases, it requires different views from different persons to discover all the problems. Still, very often, a heuristics analysis is done by just one person.
Can these heuristics be used for any situation? It would be fair to say that there are cases when Nielsen’s heuristics do not work well.
Nielsen developed his heuristics based on thousands of inputs, trying to figure out common rules fitting any interface. As a result, the heuristics may be too general to help discover specific interface problems. For example, a touchpad has different principles of interaction with a user than desktops or laptops.
Minimalistic design is also a subjective matter. Based on his or her background, each person has their own understanding of what that is.
How to carry out good research with heuristics
- Use a team of researchers so that the subjective opinion of a single expert is minimised. Estimations from different persons will be different and the average value will be more objective.
- Understand business challenges. Check the usability standards which may fit your product. Investigate which other products the customers use and see what are the common user experience patterns used there. Check out what is trending now and what will become a standard in the near future. it may be that a combination of standards would fit your product better.
- Have basic skills in the area. The researcher should understand the product which is being analysed and the related area of knowledge. It is important that the researcher and the customer have similar thinking and understanding of the product, so that the found problems will be closer to the actual problems experienced by the customer.