3 Ways to Prevent User Errors

Written and Illustrated by Karl Salisbury

Karl Salisbury
Aug 10, 2020 · 6 min read

EErrors are a fact of life when using almost any type of software. Forms are the worst though. Nothing is more frustrating than filling out a form and getting a robotic message from the computer telling you that you have failed, please click ok to confirm your failure.

Don’t ever do this

Why user input errors exist

Input errors don’t exist to make us feel stupid or ruin our day — even if it feels that way sometimes. They protect databases from incorrectly formatted or malicious data. They are like an immune system for the computer. They are there to protect it from anything that could be harmful.

Bad data can make your database sick

But of course, the users on the other side don’t care about this. They just want to get their tasks done and achieve their goals quickly, easily and without any errors.

Errors are painful for users

Errors aren’t life-threatening, but they are painful to recover from. Instead of watching your users suffer through errors, you can install some guard rails to prevent them from hurting themselves.

Avoid the ambulance at the bottom of the cliff.

Prevention is better than the cure

Rather than trying to find more polite or ‘user-friendly’ ways of telling your users that they are wrong, what if you spent your time preventing their mistakes in the first place?

Welcome to error prevention, the practice of designing things in a way that prevents your users from encountering errors.

So how can you prevent input errors?

  • Install invisible guardrails
  • Collect only the data you need
  • Make the system do the heavy lifting for the user

Let’s dive a little deeper.

1. Install invisible guardrails

Guardrails are safety measures that restrict users from doing things that could result in error messages. If a form is well designed the user shouldn’t even be aware the restrictions exist.

Most input patterns can be used as guardrails. The trick is to use them in a way that restricts the data the user can input to prevent mistakes.


A slider restricts the minimum and maximum values a user can input. This means the user cannot input a number that is higher or lower than allowed.

Sliders restrict the numbers you can input


Steppers make it easier for the user to increase or decrease a value using the ‘+‘”’ and ‘-’ controls instead of their keyboard. You can user steppers to prevent the user from entering a number that is too high or low.

Steppers make it easy to increment and decrement values but also restrict types of data that can be input

Radio buttons, checkboxes and switches

Radio buttons, switches and checkboxes give the user preset options to choose from. This prevents the user from making choices that aren’t available.

Radio buttons restrict the choices you can make
Input select menus restrict your options
Switches only allow binary yes/no choices

Beware of text input fields

Text input fields can cause a lot of problems because they have no constraints. They allow the user to input whatever they want, often resulting in errors.

Input fields are the worst for user errors

You can’t physically change your desktop or laptop computer’s keyboard to solve this problem, but with touch screens on mobile devices, you can!

You can use different system keyboard types restrict the type of data the user can input, or even create your own custom keyboards.

System keyboards restrict the type of data a user can input

2. Collect only the data you need

Most forms ask for more information than is necessary. Sometimes the data is being collected simply because the database ‘requires’ it.

But what is really required?

Unless you legally need to collect the data or it is business critical, investigate why you need it. Sometimes it can be because the person who created the database built it that way and nobody ever changed it.

Do you really need to know your user’s middle name and last name? Do they even have one? In Indonesia, for example, it’s not common to have a last name. I personally don’t have a middle name, my parents never gave me one.

Databases make broad assumptions about the world that are often wrong. Challenge those assumptions and simplify your forms by removing as much as you can.

Don’t collect data if you don’t need it. The more data you collect the more chance for errors.

3. Make the system do the heavy lifting for the user

The system should do the hard work, not the user

Doing the heavy lifting for your users means the system should anticipate and handle potential problems.

This means knowing what the most common user journeys are and offering helpful suggestions or shortcuts.

You can do this by using smart defaults, generated names and error correction.

Smart defaults

Smart defaults pre-fill or preselect an option for your user. They are either personalised to the user or the most common use case.

The reason they are so effective at reducing errors is that they prevent forms being submitted with things not filled in. The user doesn’t need to do anything other than review the suggestions and make changes as needed.

You could use machine learning here, but optimising your form for the most common use case goes a long way.

For example, when searching for a flight most people choose a return trip you can use geolocation to determine where they are most likely departing from.

Smart defaults make choices for the user that they can change

When searching for accommodation, the majority of people travel with another person.

Why not make some educated guessed about your users?

These ‘smart’ defaults aren’t very smart and won’t always be right, but making a few educated guesses is much more preferable to forcing everyone to fill in the entire form from scratch.

Generated names

When creating a file giving it a name is the only way to recognise and retrieve it later. You are probably familiar with this when you use Google Docs or Microsoft Word.

What you may not have noticed is that many applications suggest or pre-fill a name for you. Google docs do an excellent job of this by generating the document the title or from the first line.

You can actually apply this concept to any situation where a user needs to fill in a name. Suggest one for them based on the data you have available.

Wrapping it up

You can’t completely banish errors from your form designs, but thoughtful design decisions that prevent them is much better than trying to make them more user friendly. Prevention is better than the cure.

Just remember:

  • Collect only the data you need
  • Install guardrails
  • Make the system do the heavy lifting for the user

The Startup

Get smarter at building your thing. Join The Startup’s +724K followers.

Medium is an open platform where 170 million readers come to find insightful and dynamic thinking. Here, expert and undiscovered voices alike dive into the heart of any topic and bring new ideas to the surface. Learn more

Follow the writers, publications, and topics that matter to you, and you’ll see them on your homepage and in your inbox. Explore

If you have a story to tell, knowledge to share, or a perspective to offer — welcome home. It’s easy and free to post your thinking on any topic. Write on Medium

Get the Medium app

A button that says 'Download on the App Store', and if clicked it will lead you to the iOS App store
A button that says 'Get it on, Google Play', and if clicked it will lead you to the Google Play store