Preventing User Errors

One of Jakob Nielsen’s 10 Usability Heuristics concerns user error prevention, and it is perhaps among the most important ones. Having a good design process in place, an understanding of the concept of mental models, and conducting usability tests can uncover potential areas of user error. These can then be addressed through design improvements targeting error prevention.

Two Categories of Errors

In The Design of Everyday Things, Don Norman categorizes errors into slips and mistakes. Slips take place at a subconscious level and occur when an action is not done correctly; you intend to do one thing and end up doing something else. Slips also occur during the execution of a plan or in the perception or interpretation of the outcome. Mistakes are conscious deliberations, they “occur when the wrong goal is established or wrong plan is formed”.

Norman further breaks down slips and mistakes into classes. Let’s look at each of these further.

Two Classes of Slips

Slips are usually small things that are easy to discover through observation and monitoring. They are most apparent in skilled behavior and often occur due to lack of attention.

The 2 classes of slips are: action-based and memory lapse. In action-based, the wrong action occurs. In memory lapse, the user’s memory fails resulting in the intended action not being done. 

Action-based slips can be broken down further into 3 categories.

Categories of Action-based Slips

1. Capture – This kind of slip occurs when instead of doing a desired activity, you do a more frequently (or recently) performed one instead. The frequent or recent one “captures” your activity through behavioral conditioning. The cause is usually that part of the action sequence involved in the two activities is identical.

An example of a capture slip is typing in your work computer’s password (something you do several times during a work day) when logging into your online bank account.

How can designers prevent capture slips? Designers should avoid processes that have identical steps or cues at the beginning and then diverge into unique steps. They should have different steps from the very start wherever possible. In the password example, a slip is less likely if the bank account login page has a slightly different authentication model. HSBC Online, for example, refers to the password as “memorable phrase” and requires a pin number in addition to the password. Where this kind of strategy is not feasible, a unique visual look can cue prevent such slips.

2. Description similarity – This kind of slip occurs when you act upon an item similar to the one you intended. Frequently, this happens when the description of your target is vague, resulting in the correct action on the wrong target.

How can designers prevent description-similarity slips? Designers should simply make things dissimilar or provide a better description of each item.

This type of slip occurs frequently among slot players. The button panel for this particular machine includes 4 larger buttons in the top row and 10 buttons in a 5×2 pattern below. What differentiates them from each other besides size is the text on each button.


What might be particularly alarming for slot players is that the “Bet One” (the minimum you can bet) and “Cash Out” buttons are next to the “Bet Max” button (the maximum amount you can bet). The “Bet Max” button is designed to be a shortcut button so there is no need to pull the lever or press the spin button.

Here, one solution for the first problem would be to move the “Cash Out” button to a separate row at the bottom, and make the “Bet One” and “Bet Max” buttons different colors and sizes.

3. Mode error – This slip occurs when a device has different states in which the same controls have different meanings. If a device has several modes, then slips are extremely likely. They are inevitable if the mode is not visible and the user is expected to remember what mode they are in.

How can designers prevent mode error? Designers should avoid modes if possible. If they are unavoidable then the device must make it obvious which mode the user is in, for example through indicator icons.

An oft-cited example is the caps lock function on a keyboard. On a Mac, there is a green indicator light whereas many PCs do not have an indicator light. Some designers, however, argue that the indicator light may not be in the user’s locus of attention. Users are looking at the screen and not at the keyboard so will not notice an indicator light. Lenovo Thinkpads address this subtlety by putting an indicator icon on the lower right of the screen itself.

Memory-lapse Slips

Memory-lapse slips are frequently due to short-term memory failure. A user’s short-term memory is what is managing the execution of an action. These slips are often caused by interruptions that occur between the time you decide to do an action and you actually complete it.

How can designers prevent memory-lapse slips? Designers should minimize the number of steps needed to complete an action, provide reminders, or force users into completing an action using design constraints.

A simple example is receiving a phone number as part of a text message or email on a smartphone, and needing to key it into the phone app. While modern smartphones can often detect a phone number and allow users to invoke the phone call directly as an option, often this is not possible and cut-and-paste is also not possible. So the user may need to remember up to 10 digits to make a phone call or write down the number elsewhere before switching apps. One potential solution on larger phones and phablets is to simply allow for split-screen display of two apps side by side.

Three Classes of Mistakes

Mistakes tend to be major events and unlike slips, difficult or impossible to detect. This is because you’ve set the wrong goal or plan. All the actions you take to work toward this goal or plan, whether they are wrong or right in themselves, are wrong.

There are 3 important classes of mistakes:

1. Rule-based – A person correctly understands and examines a situation but then takes the wrong course of action. The wrong rule is followed.

 In the example below, the blue headings are not clickable. Instead, the user must look (or scroll) down further on the page to find the link that says “Read More” more.


In this instance, the user’s goal is to click on the blue headings to find out more information. But because this page flouts the usual convention of making titles of summary descriptions clickable, the rule of “click the title” fails. In this case, the rule-based mistake is caused by poor design that flouts conventions while seeming to follow them (especially because blue is usually a color that indicates something is clickable). The solution would be to follow conventions rather than change the user behavior.

2. Knowledge-based – In these situations there are no existing skills or rules. This type of behavior is controlled at the reflective level; it is slow and conscious. People are in an unknown situation and are consciously problem solving. These situations arise when a person is in a new, unfamiliar situation or when doing a familiar task that doesn’t go as planned. This is an uninterpretable state.

What is the solution? A good understanding of the situation and often an appropriate conceptual model, and possibly help in the form of people or tools (e.g., manuals and intelligent computer systems).

An example is the knowledge-based mistakes made by the inexperienced co-pilots of Air France flight 447 while the experienced captain was asleep, leading to the fatal crash. Many details of the complex cockpit UI played role in the crash. The case also illustrates that a high level of automation in ordinary situations often results in erosion of problem-solving ability in new situations, so one solution is to lower the amount of automation in ordinary situations. In web design gamification is one strategy to keep user’s knowledge-based problem solving skills sharp.

3. Memory-lapse – This mistake occurs if memory failure results in forgetting the goal, or plan of action or to complete an evaluation. Therefore, the goals and plans are wrong. Unlike memory-lapse slips, memory-lapse mistakes involve long-term memory and are more conscious.

How can designers prevent memory-lapse mistakes? Ensure that all information that is relevant is always available. This means the goals, plans, and current evaluation of the system should be continuously available via thoughtful help features and context-aware tool tips. The designer should also assume the user will be interrupted and may need assistance to continue what they were doing.

For example, simple checklists that have medical staff confirm things such as patient identity, procedure, and site of the procedure have reduced surgical complications and saved countless lives. In multi-step behaviors such as checking out of an ecommerce site, progress can be indicated using process flow indicators like “Step 2 of 3” with ability to review and make edits at the final stage before submitting.

Confirmation Options

It isn’t possible to prevent all user errors; we can only do our best to limit them. Sometimes, what the designer may perceive as an error, the user might not. So as a final prevention mechanism, the system can search for errors and present users with a confirmation option before they commit to complex actions, especially actions with consequences that are difficult or impossible to reverse, such as deleting files or paying with a credit card.

An example comes from e-commerce sites that check correctness of delivery addresses by comparing user input to the USPS database of all known addresses. The user then receives a message asking him to confirm they want to use the address they entered or make changes.


In this example, the interface lets the user know what could the apartment number might be wrong, and provides suggestions. The site then allows the user to maintain control by allowing him to continue with the originally entered address. Although this feature may ensure the user did not incorrectly enter his address (a slip), thereby preventing delayed or undelivered packages, it is possible that the address was initially entered correctly.

A variation of this is Google’s “Search instead for” feature which has a similar purpose to a confirmation option. Google detects what it believes is a slip, or typo (socer) and does a search instead for the corrected word (soccer).


By autocorrecting the user’s slip and showing the corrected results, Google is minimizing the interaction cost to the user, assuming it is correct. Google also gives the user the option to “search instead for” his original search term with one click, which also aims to minimize interaction cost because the user will only have to click, he will not have to re-type his search term.


Preventing user errors is an important consideration in the design of interfaces, especially in situations where actions are consequential or irreversible. An ounce of prevention is worth a pound of cure. Understanding the nature of common slips and mistakes, and using confirmation interactions at critical points, helps users accomplish what they need to reliably.

Even when errors are rare, they tend to compound (with errors building upon errors) and contribute disproportionately to customer service costs. So designs that focus on error prevention significantly lower the costs of escalated customer support or error correction by human staff later.

In summary, designs should be evaluated for errors and modified accordingly, before being launched into production use. It is a small upfront investment with large continuing benefits.


Nielsen, J. (1993). Usability engineering. New York, NY: Academic Press.

Norman, D. (1988). The Design of everyday things. New York, NY: Basic Books.

Norman, D. (2013). The Design of everyday things: revised and expanded edition. New York, NY: Basic Books.


Leave a Reply

Fill in your details below or click an icon to log in: Logo

You are commenting using your account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s