Error prevention: One of the Usability Heuristics
Tags: usability, usabilityheuristics, ux, errorprevention
Published: 2019-04-24 11:37:39

---
title: Error prevention: One of the Usability Heuristics
published: true
description: Designing a system in a way that it would try to make it hard for the user to commit the error.
tags: usability, usability-heuristics, ux, error-prevention
---

# What is ‘error prevention?’

ISO 25000 describes the ‘error prevention’ as ‘degree to which a system protects users against making errors.’[^1] In other words, designing a system in a way that it would try to make it hard for the user to commit the error.

# How to measure ‘error prevention?’

Preventing the user to commit the error makes the productivity more reliable. In the sense that if the user was able to complete the task as fast and efficient as possible without committing any error, this would make them more productive. This would also increase the usability of the system.

Therefore capturing the errors and redesigning the system to be less error prone according to those errors and then running the usability tests repeatedly make it possible to measure the difference between the errors in each case. If the errors get decreased in each redesign of the system, that means the usability gets improved gradually at the same time.

# How to prevent ‘errors?’

‘Error prevention’ is in a direct relationship with the other factors of the Usability. Hence increasing the ‘Learnability’ and ‘Operability’ of a system will most probably prevent the errors. Furthermore providing ‘Appropriateness recognisability’ will do the same effect.

There are of course other proven methods in ‘error prevention’ framework. They are spanning from the basic precautions like showing a confirmation dialog to the user before executing an important task to the complex Usability decisions.

As stated above, most basic example for these precautions might be the ‘confirmation dialog.’ It has been in the existence since the very beginning of the software systems and it carries a very important job: Preventing the user to do an irreversible thing while using the system, like unintentionally deleting a file.

![A typical confirmation dialog in Windows operating system](https://thepracticaldev.s3.amazonaws.com/i/haoxpue41tptj937grhw.png)

Using standard design conventions might be another good example. If a system provides a design that contradicts the other similar systems, the user might get confused and cannot understand what actions they can take.

The following picture shows the famous reveal card that is used in Miss Universe 2015 that eventually almost ruined ‘the user’s life. The user of this card mistakenly declared the 1st Runner Up as the Winner in the competition.[^2] This was totally due to the bad design of the card. That was because the creator of the card probably did not think that placing the Winner at the bottom might cause a misdirection. That was a mistake since the user tends to see the Winner at the top.

![The winner is misplaced on the card](https://thepracticaldev.s3.amazonaws.com/i/8tngf28r22xm3wp1qrq6.jpg)

Similarly to the cases above, having the ‘Undo’ feature might also be helpful for the user to reconsider the action even if it has taken place. Providing this ability not only can help the user to feel more secure and more confident while using the system but also makes a positive impact on the Usability.

![‘Undo’ option is provided for the user.](https://thepracticaldev.s3.amazonaws.com/i/4wztrvrkseedf2ruswtn.jpg)

As in the picture above, Gmail is providing this feature not only for the destructive actions like accidentally deleting an email but also for when sending emails.[^3] Since Gmail is one of the most used email services, this is an important proof on the usefulness of this feature.

Another type of ‘error prevention’ might be providing the ‘good default’ for the user. When the user has to choose between options, the system can suggest reasonable defaults for these options by making predictions or by learning from the past decisions of the user. Therefore the ‘good defaults’ help reduce the errors.

A good example of the ‘good default’ is how the Mail app on iOS filters emails and suggests a predicted folder when the user wants to move an email to another folder. The suggestion can be ignored and the user still can select another folder.

![Suggested folder name in iOS action sheet](https://thepracticaldev.s3.amazonaws.com/i/adhisfxs5q3yr577x2ul.jpg)

In this example, the Mail app learns the behavior of the user when it comes to moving an email to another folder by taking the sender and the subject into account.

# Conclusion

Despite the fact that the users will always make some mistakes when using a system, it is possible to reduce the errors by designing the system with the user’s experience in mind. The errors can be prevented by helping the user to find their way through the interface of the system.

[^1]: ISO/IEC 25010:2011 4.2.4.4 user error protection. https://www.iso.org/obp/ui/#iso:std:iso-iec:25010:ed-1:v1:en
[^2]: Wrong contestant crowned at Miss Universe 2015. https://edition.cnn.com/2015/12/20/us/miss-universe-wrong-contestant-crowned/index.html
[^3]: Send or unsend Gmail messages. https://support.google.com/mail/answer/2819488?hl=en