engineering
A clumsy man has made a user error with a mug: spilling his drink all over his shirt.

User error while drinking from a cup

User error happens when a tool's user makes a mistake. This is a normal part of life.[1] While it's an especially common concern in software engineering, it can happen with any tool. Engineers need to plan for user errors to minimize their impact, especially when safety and security are concerned.

Other terms for user error include PEBKAC (Problem Exists Between Keyboard And Chair).[2] This acronym, while entertaining, can downplay the responsibility of engineers to make well-designed products that plan ahead for user error.

Causes

User error may happen because of:[1][2][3]

Engineers can't prevent some issues, like clumsiness or a distracting child in the user's house. But other causes, like a poor user experience leading to confusion, can be fixed. Good design can remove some causes of user error and make it easy for users to recover from mistakes.

Types of user error

A dialog box asks if a user is sure they want to leave without saving their changes

An "Are you sure" message triggered when a user is about to discard unsaved changes

User errors can be classified in a few different ways:[2][3]

Engineers should plan for all types of mistakes along the user's journey.

Examples

Here are some examples of preventable errors:

Here are some examples of errors that can't be prevented, but can still be managed:

Impact

In low-stakes situations, user error generally isn't a big deal, especially if the design allows for easy recovery. Graceful handling of user errors can make tool usage a more positive experience.

Poor error handling worsens user experience. Users may experience frustration, loss of trust, and worse productivity when errors aren't handled well. They may give up and go somewhere else.[1]

Sometimes, user error is more dangerous. Many cybersecurity breaches are caused by user error.[4]

Considerations

The tool should help users recover from errors. This can include clear error messages that non-judgmentally tell users how to fix their mistakes.[2]

Designing to reduce error

This looks less like “make sure you have a complicated password” and more so “let’s make it that if somebody got your password, nothing bad would come of it”.
—HUMAN blog[4]

Engineers can build in safeguards to help with user errors. These include:[1][2][3]

Error logging and usage data can help engineers notice common user errors.[2][3] Then, they can improve the tool to help prevent or manage these errors.

See also

References