Writing for errors
Thoughtful error messaging design reduces support requests and helps users understand a system.
What is an error?#
An error occurs when users expect one thing to happen, but either something else — or nothing — happens. Errors can cause frustration, confusion, a loss of data, or more labor for users. These moments make it harder for people to get things done.
At Adobe, the audiences for error messages span a wide variety of people. The language we use can vary depending on the audience and the context. But ultimately, these kinds of messages need to be in service of the end user, regardless of their skill sets or technical familiarity.
These messages often bring frustrating news, and can be highly visible and memorable, so they need to be relevant, useful, and clear. We show users error messages to let them know what happened, what the cause of the error was, and what (if anything) they can do to resolve it.
Be empathetic to users, not the system#
Error messaging, like all in-product content, prioritizes the humans that use interfaces over system technicalities.
Center the language around user goals, not system constraints#
Sometimes it seems like the best way to resolve an error is to explain the constraints of the system to the user. But, most users don’t care about the constraints of the system — they care about accomplishing their goals.
Center the language around what the user is trying to accomplish, why that didn’t happen, and how they might resolve the error.

Accept the End User License Agreement terms.

There was a RAISE without a handler.
Use plain language, and avoid jargon#
Users may not understand server architecture or client-side queries. Know your audience, and write your error messages in plain, usable language so that your user will understand what went wrong and how it’s being resolved.
Technical terms are different than jargon. If you’re confident that your audience would be readily familiar with technical terms, and if such terms are relevant to the message, you can include them.

Due to a connection error, some results may be unavailable.

Due to a server-side connectivity failure, some results may be unavailable.
Don’t blame the user, even if the error is their fault#
Some errors are outside of a user’s control, but they can happen because of a direct user action. While you want to tell a user what happened, don’t sound accusatory or that you’re blaming them — we want them to feel supported and taken care of in any experience.

Your computer appears to be offline. Connect to the internet and try again. (Error code: 206)

You went offline. Connect to the internet and try again. (Error code: 206)
Include error codes only if useful and relevant#
Again, think about your audience. Include an error code or other technical information if your users would benefit from having it in order to resolve the error.
Put error codes at the end of the message so that readers aren’t potentially overwhelmed with information they may not understand at the start.

This profile is currently unavailable. Try reloading the page. (Error code: 10213)
This error message shows the error code as a reference for contacting tech support.
Be as useful as possible#
Error messages are opportunities to help users confidently move forward. When writing them, think about the most straightforward path to a solution, then clearly describe it.
Use positive framing to keep the focus on what users can do#
While a user will want to know what went wrong, be as clear as possible about what they can do to fix the error, or provide them with an alternative workaround. Sometimes it’s simple (“try again in a few minutes”) and sometimes the only solution can be time-intensive or potentially frustrating (“contact your IT administrator”).
Avoid putting the focus on the problem, what a user can’t do, or what they did incorrectly. Instead, offer context and help people understand what they can do.

Enter your system administrator password to continue. Check for an OS prompt and follow the instructions.
The installer shut down unexpectedly. Please select Retry to restart the process. (Error code: 305)

Enter your system administrator password to continue.
The installer shut down unexpectedly.
Create error states that are specific to each case whenever possible#
It may be tempting to write a catch-all error message to accommodate dozens of similar scenarios, but that will tend to be wordier and less concise. When users need to understand multiple causes of the error — and also figure out which one applies in their scenario — that creates a lot of unnecessary cognitive load in an experience.
Creating multiple, more specific error messages takes additional effort, but it ultimately creates a better user experience. Having these can also provide clearer insights and analytics that can help identify and resolve common pain points — and show you how to prevent errors from happening in your product in the first place.

Your wifi connection is unstable and affecting download speed. Try switching to an ethernet cable.

There’s an issue wrong with your internet connection. It could be your wifi, router, modem, or ethernet cable.
While the error should be specific, use generic language#
Generic language allows for better localization, and it also reduces the need to write many different versions of messages for similar use cases. It’s usually unnecessary to include specific filenames, usernames, or folders because a user can get that context from elsewhere in the UI.

Your document could not be saved. Please try again.

Your document “Final-proposal-May-Monthly-Meeting.indd” could not be saved to the library “May Proposals”