Using this set of 10 general principles can be a helpful guide when evaluating human-computer interaction (HCI) in designs.

What does heuristic mean?

Heuristic means...

"Enabling someone to discover or learn something for themselves."

Following a set of general rules can guide you towards a suitable solution. In this context, we ask what might make a user interface more usable? You could see these heuristics as a basic checklist of things to consider in your design reviews. It can help us ask the right questions relatively quickly and without distraction.

The 10 Usability Heuristics

1. Visibility of system status

The design should always keep users informed about what is happening. This can be achieved via relevant feedback and within an appropriate amount of time.

If a user knows what the current system status is, then they can understand the outcome of their earlier interactions, and so decide their next steps. Being able to predict interactions helps create trust in the product and the brand.

The ns-live component informing the user that a price is being calculated.

2. Matching the system to the real world

Does the design speak the user's language? Words, phrases, and concepts should be familiar to the user, instead of your internal business vocabulary. Don't make the user think – the system should be easy to follow, using real-world patterns. Information should appear in a natural and reasonable order.

Tailor designs to specific users. Things that seem clear to you could be unfamiliar and confusing to them. When a design follows a user's mental model, it's easier for them to learn and recall how the interface works. It feels like an intuitive experience.

3. Control and freedom

Users sometimes take actions by mistake. They need an easy way to exit and reverse their unintentional action without an extended process.

If it is easy for people to back out of a process or undo an action, it promotes a sense of control and freedom for the user. It avoids the feeling of being tram-lined or forced down a one-way path they had not intended to go down and the frustration that can cause.

4. Consistency and standards

Follow established industry conventions and guidelines and remove any ambiguity. The users are accustomed to particular meanings of words, situations and actions, and familiarity with these can help the user quickly learn a system. Equally maintain consistency internally, for example, across a family of products.

People spend most of their time using digital products that you didn't design. Their experience with these sets their expectations. If your design isn't consistent with a user's expectations, you will be increasing their cognitive load – forcing them to understand and learn a new way of doing things perhaps unnecessarily.

5. Error prevention

Good error messages are important, but the best designs carefully prevent problems from occurring in the first place. Try to avoid creating situations where errors may be likely, or check for potential mistakes and present a confirmation option before the user commits to the action.

Eg. Sketch checks and warns for accidental overwriting of a file.

There are two error types:

Slips are unconscious errors caused by inattention.

Mistakes are conscious errors caused by a mismatch between the user’s mental model and the design.

6. Recognition over recall

Making elements, actions and options visible to the user reduces the amount they need to remember.

There should be no need to remember information from one part of the interface to another. Information that is needed in order for someone to use a design (e.g. field labels or menu items) should be visible or easily accessed when required. People have limited capacity short-term memory so we should design interfaces that encourage recognition instead – to minimise the cognitive effort required from users.

7. Flexibility and efficiency

Designs with efficient shortcuts (perhaps hidden from inexperienced users) may speed up the interaction for expert users. Allow users to create shortcuts for frequent actions.

Processes can, and should be flexible – allow the user to pick whichever method works best for them.

8. Aesthetic and minimalist design

Interfaces should not contain information that is irrelevant or rarely needed. Every bit of information on an interface competes with the rest – the more you use, the more diluted the impact of each becomes. You could risk not seeing the wood for the trees.

Excessive use of the ns-skyline component diminishes its impact.

It's about making sure the content and visual design retains focus on the essentials. Ensure that the visual elements of the interface support the user's primary goals.

9. Help users recognise, diagnose or recover from errors

Error messages should be written in plain language – not as an incomprehensible error code! What the problem might be should be clearly stated, and a possible solution suggested.

Error messages should also be coupled with a visual design that helps users notice and recognise them.

10. Documentation to aid understanding

It's great if the system doesn’t need any additional explanation. But it's not always possible – in which case it could be necessary to provide documentation to help users understand how to complete their tasks.

The documentation content should be easy to search through and focused on the user's task. Keep it simple, and list steps that need to be followed in sequence.