Designing Error Tolerant Systems

Anirudh (Ani) Kedia
4 min readApr 29, 2021
Photo by CHUTTERSNAP on Unsplash

One of the most fundamental things about being human is making numerous errors. The cause of these errors may vary — some occur due to insufficient knowledge (like not knowing what a button on an interface does and using it erroneously), others are due to wrongly applying an action rule to a situation that calls for a different one (like seeing a traffic light turn green and moving your vehicle to turn, while a pedestrian is on the crosswalk); and sometimes, we mess up even when we have the knowledge and apply the correct rule (like making typos while texting or turning on the wipers instead of the turn signal).

Some of these errors are funny, others irritating, and a few are downright dangerous. Whereas a lot of time and effort is spent on reducing errors, either through training or replacement by machines, it is difficult to envision a human world that is completely free from error. However, as designers, we may be able to immunize our interfaces and systems from error in some cases. Listed below are some ways to do so:

1. Minimize Perceptual Confusions

Controls intended to perform different functions must be made distinct from each other to reduce the chance of users mistakenly using the wrong one. Discernibility can be added in many ways, from using different colors and shapes to spatially separating the controls, making the controls feel different, or even using different control motions. For example, in your car, the stalk behind the steering wheel performs several functions. But, the turn signals are controlled using a different motion than turning on the headlights. This makes it difficult for a driver to mistakenly turn on the headlight instead of the turn signals. However, many of us have mistakenly turned on the wipers instead of the turn signals before, because both functions are executed by the same control motion.

Stalks behind the steering wheel use different control motions for different functions| Photo by Maxime Renard on Unsplash

2. Use system constraints to “lockout” errors

When common error points are known — whether after analyzing a new system or from a preexisting system now being redesigned — certain safeguards against those errors can be…

Anirudh (Ani) Kedia

Sr. UX Researcher at BlinkUX | Research | Design | Psychology | Making UX accessible one article at a time