Cognition: Improving error prevention

Imagine the following situation:

“It’s a regular day at work until an angry user calls you from the other side of the city complaining that he deleted something that wasn’t meant to be deleted and now his whole world seems to be falling apart.

You stop and think for a second, then decides to access the platform only to realize there’s a confirmation step prior to any deletion. How is it possible for him to have deleted something important, if there’s a confirmation step trying to prevent that from happening?”

This kind of situation happens every now and then, with the most common excuse being that “the user didn’t bother reading the message before clicking on the button, therefore there’s nothing we can do about it”.

There are a lot of things that can be done towards preventing this situation. Let’s dig a bit deeper.

A brief introduction to cognition

Before looking into possible improvements for the problem, let’s take a moment to understand how humans process information.

In a simple fashion, cognition stands for the mental processes we perform in order to comprehend data and gain knowledge through thinking, remembering, judging, knowing and problem-solving.

These processes and abilities have certain limitations, which can affect our performance when interacting with user interfaces. They are described using two different concepts: conscious cognition and unconscious cognition.

Conscious vs Unconscious

Conscious or voluntary cognition are mental processes that happen when the subject is in our locus of attention. It’s triggered when approaching new situations, and lasts only a few seconds.

When focused, we voluntarily perform certain mental processes in order to complete a task or achieve a certain result, like solving a math problem. This type of cognition can be easily shifted due unexpected events, like a phone ringing or a sign of danger.

Have you ever looked for something that was right in front of you, but you didn’t really see it? That happens because the conscious side is only able to handle one task at the time. Even though the subject may be on your field of vision, you’re unaware of it because it’s not on your locus of attention, but on your unconscious side.

Unconscious cognition are mental processes that you’re not aware when they happen. They are formed through repetition and familiarity, allowing us to perform more than one activity simultaneously, such as driving and chatting, but when doing multiple tasks at once, your performance degrades on each task, as both of them compete for your attention.

In order to improve its efficiency, multiple unconscious tasks that are performed frequently will eventually be grouped into a sequence, which is perceived as a single task by the brain. Have you ever driven yourself to work instead of the supermarket only to realize moments before you’re almost there? Yep, that’s why.

This type of cognition lasts for decades, building up knowledge / memories as we interact with the environment around us.

Cognition shifting

Have you ever had a name on the tip of the tongue, but couldn’t say it? That’s a pretty interesting example of cognition shifting. The name is stored on your unconscious side and failing to shift into the conscious side. This kind of thing happens because humans have no control over the unconscious side.

When your conscious side is triggered, it creates a perception, which gradually decays and fades into the unconscious side. There are different decay rates according to the type of trigger that caught your attention.

Visual perceptions usually decay within 90 to 1000 milliseconds, and audio perceptions decay within 900 to 3500 milliseconds. As the subject fades from the conscious to the unconscious side, you cannot recreate the sensation as vivid as it was right after the event happened.

After the decay, some perceptions become memories while most of them are lost. Due to this condition, it’s not safe to assume that a message a user read 5 seconds ago will actually be remembered.

Another popular example of cognition shifting is learning how to drive. At first, your conscious side is processing every detail, like how to work with the gear shift and the accelerator while paying attention to the road. It’s hard to stay focused on every task. But with more and more practice, controlling the details becomes a task for the unconscious side, allowing you to perform repetitive tasks on “autopilot”, making driving feel easier after some time.

Creatures of (bad) habits

Humans are creatures of habits. As we give control of the details to our unconscious side, habits start to form, including bad habits, which leads to some implications when interacting with user interfaces.

A quick example are interfaces that prompt the user when trying to perform a certain task. After a while, users will start providing meaningless answers just to get things done.

It doesn't matter if the user is a computer savvy or not. Professionals develop lots of habits through repetition, like clearing the console after a command.

It's very easy for professionals to develop bad habits. Git prompts you for a message on every new commit and in the beginning I was used to describe commits with the message "Fix" just to get things done faster, and it made searching code on the repository way harder than it should be.

Another example is based on Jakob Nielsen's heuristic — flexibility and efficiency of use.

Accelerators — unseen by the novice user — may often speed up the interaction for the expert user such that the system can cater to both inexperienced and experienced users. Allow users to tailor frequent actions.

Accelerators like keyboard shortcuts should be addressed carefully. On the machine side of things, accelerators might be influenced by the current state of the system, leading to different results according to the current mode of the application. On the human side, a user might have formed previous habits from different backgrounds, applications and even operational systems.

For example, different text editors could have the same keyboard shortcut bound to trigger different behaviors, leading to deficiencies and frustration. Habits are hard to change, and even if the user pays close attention to the nuances, eventually their attention will wander and the same error will occur.

One way of approaching this problem is to make the user perform a conscious task before an important action. Captchas are very popular nowadays, and Github has a simple yet effective way of preventing human error, where they ask the users to type the name of the repository that they want to delete as the confirmation, shifting the focus from the unconscious to the conscious side.


Humans learn over time, and usually their attention span is pretty short. Leverage the standards from the current platform, and try to reduce the chance for error as much as possible.

Some points to keep in mind when designing for error prevention & recovery:

  • If an action should not be performed, make it impossible to do so.
  • Constrain the number of options available
  • Try to capture the user’s attention when performing certain actions
  • Keep important content visible until it’s no longer necessary, or make the user perform the desired action immediately.
  • Allow users to undo their last action if they make a mistake.

Go further

The Humane Interface: New Directions for Designing Interactive Systems by Jef Raskin

Hooked: How to Build Habit-Forming Products by Nir Eyal