Usability Heuristics
Usability heuristics are general rules for building intuitive interfaces. Originally developed in 1990 by Jacob Nielsen in collaboration with Rolf Molich, they were slightly refined in 1994 and have remained unchanged since then.
UX designers and researchers swear by usability heuristics when evaluating interfaces or use them as a checklist when designing a new product or feature. These broad rules are the cheapest and most accessible tool to ensure your product is intuitive, user-friendly, and functional. Although they don't provide specific instructions and can't substitute testing with real people, designers can use usability heuristics at any stage of product development. They're based on user research and can detect usability issues you can fix before testing later with your real audience.
Usability heuristics don't give specific
The process of evaluating interfaces and identifying usability problems is called heuristic evaluation. It's the cheapest and easiest usability testing method that can be used at the very early stages of product development when the budget is limited.
Visibility of system status states that a good system should always keep users informed about what's happening and provide relevant and timely feedback for their actions.
Knowing a system's status gives users control over the situation and helps them understand where they are now and what they can do next. Appropriate feedback lets users know that their action (like a button click) is received and processed. Otherwise, users feel lost and confused — "Did I hit the button, or should I do it again? Is my file uploading, or has something gone wrong?"
The most common examples of system feedback include a change of color, an animated progress tracker, sound, slight vibration (on mobile), or a notification. For example, after users fill in all data, a Submit button changes its state from disabled to active, so users know the form is ready to be submitted.
Immediate feedback for interactive events allows users to detect errors and fix them quickly or even prevent them. For example, an inline error message on a password field saying Caps Lock is on helps users save time before hitting the Save button and encountering an error.
Pro Tip! By using notifications or modal dialogs, you can inform users of state changes, engage them, and influence their behavior.
Matching between the system and the real world refers to using language, interactions, and concepts familiar to users. People feel more comfortable and satisfied when the things they encounter are based on their prior knowledge and experience — it means they don’t have to learn interfaces. You can ensure this through:
- Language: Interfaces should use words and phrases that users understand without looking for their definitions or translations (in case an interface doesn’t support multiple languages). Simple language benefits everyone, including experts, international users, and people who use English as a second language (ESL).[2]
- Appearance and interactions: Digital objects and interactions should mimic the real world. It demonstrates empathy and respect toward users. Designers should use universal icons, introduce interactions that users encounter in the real world (like flipping pages or pressing
buttons ), and position elements on a page where users expect them to be naturally.[3]
A system should acknowledge that users are humans who make mistakes and change their minds. Designers should allow people to undo their last action, correct
Quickly fixing a problem gives users a sense of control and freedom and motivates them to use a product. Otherwise, users feel dissatisfied and want to leave.
There are a few UI controls that you can use in your designs to help users go back to the previous state of the system:
- The Undo/Redo button: Allows backtracking on users' last actions
- The Back button: Allows going back to a previous
page or screen - The Cancel button: Allows quitting a task
- The Close button: Allows closing a current view
Ensure the exit link or
Pro Tip! Avoid replacing the Cancel button with the X icon to save space. If the exit button does both Close and Cancel, use an explicit text label (Cancel) or notify users with a warning dialogue that their changes won't be saved after clicking.
Nielsen's
Consistency is not the enemy of unique and creative designs, as some designers fear. People don't want surprises when they arrive at a new website. They bring expectations from previous experiences and want these expectations to be met. Applying too many changes to the appearance and behavior of standard UI components like menus,
Consistency should extend on several levels like:
- Visual: Style
icons , symbols, and imagery consistently. - Placement: Buttons and links for the same actions should have the same position across
pages . - Data collection: Use the same input format for data like dates, phone numbers, or locations throughout a product.[5]

Design systems are a perfect tool for maintaining consistency across your product designs. It benefits your users and team by providing a single source of truth for components' usage and appearance.
We cannot expect users to focus on our website or application only. Users multitask, switch between tabs and windows, get distracted, and make mistakes. Not only should the system help users fix
You can do this through:
- Suggestions: For example, you can offer users suggestions when they're typing in the
search field. It reduces theinteraction costs and prevents users from making typos and encountering the No Resultspage . - Notifications: For example, instead of informing users of an error after they click the Submit
button , let them know the Caps Lock is on while they are entering thepassword . - Smart defaults: Defaults prevent typos and help users finish a task faster. For example, by default, Google calendar notifies users 10 minutes before an event and this is the most common choice among users.
- Forgiving formatting:
Inputs asking users to enter numeric information generally require a specific format. Reducecognitive load by letting users type how they like and adjust data automatically without forcing them to use a particular format.[6]
The system should help users recognize things instead of forcing them to strain their memory and recall items. For example, when users are asked to type their birth date, they know it by heart and see no difficulties in doing so. When you ask them to provide the card number and its CVV, it’s more challenging data for users to recall. Some websites and applications offer to remember a card number for further purchases. However, CVV is confidential data, and users need to make extra efforts to get this number (take out a card from their wallet or find a note where they've written it down).
Users' ability to retrieve information from memory depends on how often they see and use it and the context surrounding it. Ideally, interfaces should promote recognition and apply certain design practices to make information and interface functions visible and easily accessible.
This can be done through:
- Search history and recently viewed content: Netflix’s home
page displays unfinished movies or TV series to help users get back to what they’ve started. - Tips and tutorials: If you want to introduce a new function, tips may help users remember this information and recognize it the next time they visit this page.[7]
This
New users have different needs and rely on tips and clear labels while taking a longer, step-by-step approach. More experienced users use a faster, less guided approach and learn keyboard shortcuts or touchscreen gestures to complete the same task.
Designers should make a flexible and efficient system that:
- Lets users approach tasks in multiple ways. For example, e-commerce websites should allow users to find a product by typing in a
search field, via a catalog, or by exploring recommendations. - Allows users to customize the interface to their needs. For example, users can adjust the workspace in Photoshop by adding necessary tools and panels and removing unused ones.
- Provides accelerators. Gestures on mobile and keyboard shortcuts on desktop help more experienced users access a feature in less time.
- Introduces macros. Macros represent a set of commands triggered by one action and help users automate repetitive or tedious tasks with predictable steps.[8]
People develop more tolerance for minor
According to this
- Follow design principles. Unity, balance, hierarchy, proximity, white space, and other fundamental design principles help create interfaces that guide users' attention, keep them engaged, and help them achieve their goals.
- Reduce clutter. Reduce the number of low-informational elements on a
page , such as low-resolution, blurryimages , irrelevant information, technical terms without explanations, and elements used merely for decoration. - Apply the progressive disclosure principle. This means presenting the most crucial and common information first and then displaying more advanced, specific features if users request them.
Error messages should be written in plain language and explain briefly what caused an error and how users can fix it to continue with their flow.
Avoid showing error codes and explaining the mistake in technical jargon — it says nothing to users, intimidates them, and makes them feel stuck.
The criteria for a good error message include:
- Plain, human language: The primary goal of an error message is to inform users, not impress them with sophisticated, complicated words. You may use technical terms only if you're confident your audience is familiar with them. In general, stick to everyday words.
- Politeness: Make sure your message doesn't sound judgemental or imply that users have done something wrong.
- Explicitness: The message should clearly explain the cause of the error.
- Constructive advice: Just stating the problem isn't enough. Explain how users can quickly solve the problem with less effort.
- Reduce users' work: For example, allow users to only fix
inputs witherrors instead of forcing them to fill the entire form again.[9]
Pro Tip! Error messages should be visible — use bold text, the color red, and a relevant icon.
People don't like reading instructions. Nielsen's
There are two types of help a system can offer to users:
- Proactive help: This is aimed at preventing situations where users get stuck and need assistance. Onboarding flows and tips provide such help.
- Reactive help: This is provided when users are in the middle of a crisis. Tutorials, videos, and documentation solve user problems by answering questions and providing more details for people who want to become experts.
Depending on the type of help, designers should ensure:
- Short onboarding and contextual tips: They should be concise, informative, and easy to dismiss if users don't need them. Tips that are relevant to the current task are the most helpful.
- Comprehensive documentation and tutorials: They should be accompanied by
images and videos for people who perceive visual information better. - Categorized help documentation: Documentation should be divided into relevant categories by the topic so users can browse them more effectively. If needed, provide a
search bar so users can jump right to the relevant section. - Contextual tips or documentation: These are easy to find and access. Users may ignore a helpful tip during onboarding and remember it when encountering a problem later.[10]
Pro Tip! Use bulleted lists, highlight keywords, and break documentation into chunks to increase scannability.
References
- 10 Usability Heuristics for User Interface Design | Nielsen Norman Group
- Plain Language Is for Everyone, Even Experts | Nielsen Norman Group
- Match Between System and Real World: 2nd Usability Heuristic Explained | Nielsen Norman Group
- User Control and Freedom (Usability Heuristic #3) | Nielsen Norman Group
- Maintain Consistency and Adhere to Standards (Usability Heuristic #4) | Nielsen Norman Group
- Preventing User Errors: Avoiding Unconscious Slips | Nielsen Norman Group
- Memory Recognition and Recall in User Interfaces | Nielsen Norman Group
- Flexibility and Efficiency of Use: The 7th Usability Heuristic Explained | Nielsen Norman Group
- Error Message Guidelines | Nielsen Norman Group
- Help and Documentation: The 10th Usability Heuristic | Nielsen Norman Group