Error Messages That Actually Help Users

Abstract design gradient artwork

A design system is a set of decisions you no longer have to argue about. Type scale decisions ripple into every component downstream. We tested with five people and found the same problem four times.

A small example

We removed three options and support tickets dropped by a third. Whitespace is not empty; it is doing the grouping for you. Users scan, so headings carry more weight than paragraphs.

An error message should blame the system, not the person. Whitespace is not empty; it is doing the grouping for you.

Trade-offs

An error message should blame the system, not the person. Motion should explain a change, not decorate it. Users scan, so headings carry more weight than paragraphs. Whitespace is not empty; it is doing the grouping for you.

  • Test with real data
  • Check contrast early
  • Start from content, not components
  • Prefer one clear action per screen

Type scale decisions ripple into every component downstream. We tested with five people and found the same problem four times.

Getting started

Users scan, so headings carry more weight than paragraphs. Motion should explain a change, not decorate it. A design system is a set of decisions you no longer have to argue about. Type scale decisions ripple into every component downstream.

Users scan, so headings carry more weight than paragraphs. We removed three options and support tickets dropped by a third.

Design

Takeaway

Whitespace is not empty; it is doing the grouping for you.

We tested with five people and found the same problem four times. Motion should explain a change, not decorate it.

Comments

3 responses to “Error Messages That Actually Help Users”

  1. I’ve been doing it wrong for years, apparently. Thanks!

  2. Hannah K. Avatar
    Hannah K.

    Great write-up. The part about the trade-offs was spot on.

  3. Hannah K. Avatar
    Hannah K.

    I tried this last week and can confirm it works.

Leave a Reply

Your email address will not be published. Required fields are marked *