3 Ways to Prevent User Errors
Written and Illustrated by Karl Salisbury
Errors 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.
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.
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.
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.
Sliders
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.
Steppers
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.
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.
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.
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.
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
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.
When searching for accommodation, the majority of people travel with another person.
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