9 Ways to Design for Human Error

The thing about human beings is that you can’t trust them with anything. Okay, maybe that’s a bit unkind. However, it’s a simple truth that even the most caring, careful, and diligent of us are going to make mistakes. The rest of us are going to make a lot more mistakes.

Those mistakes, in relation to web design, could be as simple as mistyping a URL, putting the wrong information in the wrong field in a sign-up form, or as bad as accidentally sending hundreds of dollars to the wrong person via PayPal. Then there’s a situation like Hawaii; we don’t have any actual screenshots of the UI that was used to scare millions with a false missile warning, but it has been recreated by several designers—I suspect some of them were being a bit sarcastic.

So here are several basic ways to account for human error when you design your websites. I present them to you with one caveat: You can’t possibly stop everything from going wrong. If you make something idiot-proof, the Universe will make a bigger and better idiot. Good luck.

1. Clear Instructions

People often see basic instructions as a bit condescending. I mean, they already know coffee is hot, right? Why do they need it printed on the side of a cup? Because they might not have all of the information: the coffee in the famous McDonald’s case was served at 180 to 190 degrees Fahrenheit, or around 82 to 87 degrees Celsius. That might have been useful information for customers, don’t you think?

[pullquote]It’s human to assume you know everything you need to know[/pullquote]

It’s human to assume you know everything you need to know for a simple-seeming task. This causes errors. I find myself thinking we might need to put instructions on any task more complex than a contact form. And even then, it helps to have hints.

2. Clear Warnings

People sometimes need to have consequences of possible actions explained to them. In detail. This won’t stop the sorts of people who constantly ignore clear warnings, but there’s not much you can do for them in any case.

On the other hand, there are people who, when faced with any warning or dialogue box they don’t fully understand, will simply leave your site, or call in a more tech-savvy relative for help. You’ll have to decide whether you would rather deal with potential inaction from some customers, or more errors. Both approaches have their pros and cons.

3. White Space

Mis-clicks are a thing. Mis-taps are perhaps even more of a thing, depending on the manual dexterity of the user, and the accuracy of the touch-screen. The aforementioned Hawaii debacle was reportedly caused by a mis-click in a dropdown menu.

Even on my large mechanical keyboard, I occasionally “fat-finger” the wrong keys, leading to embarrassing typos, and virtual grenades going where they shouldn’t in video games. Like I said, you can’t prevent every error, but you can make them a lot less likely.

4. Confirmation Dialogs

[pullquote]a quick “Are you sure you want to do that?” message can be invaluable.[/pullquote]

To someone who has to repeat the same process over and over (example: anyone in data entry), a confirmation dialog seems like an irritating and useless extra step. And for them maybe those dialogs can, and should, be disabled.

But for anyone completing a new task for the first time, or even for the tenth, having a quick “Are you sure you want to do that?” message can be invaluable.

5. Form Validation

Now this is one that most people are getting right these days. Form validation, while imperfect, is a powerful thing, and a great way to gently guide the user in the right direction. While proper form design can help keep users from simply putting the wrong text in the wrong form, form validation is great for double-checking information, and catching typos and forgotten fields.

I would just point out that client-side validation (while helpful) is not enough. JavaScript breaks. If you’re going to implement client-side validation, it would be good to have some on the server-side too, just to be safe.

6. Labels

Ah labels. Now this one might sound really obvious, but I’ve seen so many vaguely-labelled forms on the Internet, that I had to include it. Worse are the forms that use industry jargon on a client-facing website. And don’t even get me started on the forms where the labels and inputs were misaligned. That’s just wrong.

7. Use Both Color and Contrast

People often use color so simplistically: green = good, red = bad. That’s a start, and it certainly helps a lot of people. It doesn’t necessarily help the color-blind, or people with other visual impairments. Find another way to add contrast to your elements, so they’re clearly and easily distinguished from each other. Pay special attention to this if two options use similar text, but do radically different things.

8. Make Changes Carefully

People tend to operate on autopilot when performing familiar tasks. That’s useful enough, as it makes them more efficient. Unfortunately, that propensity for routine leads to mistakes when things change. There are whole memes about remembering to write down the date correctly after the new year, and they show up every year on the dot.

[pullquote]People tend to operate on autopilot when performing familiar tasks[/pullquote]

Now, sometimes your UI does need a full redesign. If so, that’s fine. Otherwise, don’t make changes too quickly. Leave people’s menu entries in familiar places. And always, always highlight small changes in the UI, so people will see them, and begin to form new routines.

9. Undo Buttons Where Possible

Well, “CTRL-Z” works just fine in regular forms, so you usually don’t need to implement this yourself. But if you’re building a web app, you might seriously consider implementing some sort of “Undo” function for just about every action with permanent consequences.

Gmail actually gives you a few seconds (if you enable the feature) to undo sending an email—and to think we’ve been living in a world where you can undo sent emails for a few years, now—it blows the mind.

Now if only we had an undo button for unintentional missile alerts…

Ezequiel Bruni

Ezequiel Bruni

Ezequiel Bruni is a web/UX designer, blogger, and aspiring photographer living in Mexico. When he’s not up to his finely-chiselled ears in wire-frames and front-end code, or ranting about the same, he indulges in beer, pizza, fantasy novels, and stand-up comedy.

Join to our thriving community of like-minded creatives!