In-product and UX copy
Why the empty state is the highest-leverage copy in any product, why an error message that does not say what to do next is a dead end, and why this copy can be wrong for years without anyone noticing.
The operational shape
- Trigger
- A new surface, a changed flow, or a confusion pattern showing up in support
- Reads
- Voice, from decisions. How the product works, from product.
- Cadence
- Per surface, coupled to the interface it lives in
- Gate
- Notify after — shared surface with product growth
Two surfaces carry more weight than anything else in a product, and both are usually written last by whoever was closest to shipping.
The empty state, which is the first thing a person sees on a surface, at the moment they understand least. And the error message, which is where a person is already frustrated and one sentence decides whether they recover or leave.
The operational shape
Trigger. A new surface, a changed flow, or a confusion pattern showing up in support.
Reads. Voice from decisions. How the product works, from product.
Cadence. Per surface, coupled to the interface it lives in.
Gate. Notify after. This is a shared surface — the words are content's and the triggers are product growth's.
What good looks like
The empty state teaches the next action. Not "no items yet." What this surface is for, and the one thing to do to make it useful. An empty state is the only screen guaranteed to be seen by every new user of that feature.
Errors say what to do next. What happened, then the recovery. An error that only names the failure is a dead end, and the user's options from a dead end are support or exit.
It is the shortest copy that prevents the mistake. Not the shortest copy. Brevity that introduces ambiguity costs more than the words it saved.
Controls say what happens. A button labeled with the outcome — "Publish", then a confirmation saying "Published" — rather than with a generic verb. "Submit" makes a person guess.
It does not explain what the interface should make obvious. Copy compensating for a confusing layout is a bandage, and it accumulates. A screen that needs three explanatory sentences is usually a screen that needs rearranging.
When it goes stale
The distinctive property: this copy is invisible to everyone who is not currently in that state. Nobody audits empty states. Nobody reads the error message for a rare failure path. Copy here can be wrong for years and be seen only by the small number of people it fails, one at a time, none of whom report it.
Four triggers. The flow changed and the copy describes the old path. A feature was renamed elsewhere but not here, so the product contradicts itself between screens. An error condition changed and the message names a cause that no longer applies. And the empty state describes a capability that moved, which is the one a new user hits first.
The structural fix is that copy is versioned with the interface rather than maintained separately, and that support tickets naming a specific screen trigger a review of that screen's copy.
What it feeds
- Support deflection — measured on the surfaces where the copy is doing the work
- Onboarding emails and the knowledge base — the same friction addressed at different distances
- Product feedback — copy that is hard to write is usually describing an interaction that is hard to understand
⚑ One open item. The split between content and product growth is decided — content owns the words, product growth owns the triggers. The review path when the two disagree is not decided, and it is recorded as an open question rather than resolved here.
Frequently asked
- What is the highest-leverage copy in a product?
- The empty state. It is the first thing a new user sees on a surface, it appears at the moment of least understanding, and it is almost always written last by whoever is closest to shipping.
- What makes an error message good?
- It says what happened and what to do next. An error that only says what went wrong is a dead end, and the user's next action is to contact support or leave.
- Who owns in-product copy?
- The words are content's and the triggers are product growth's. That split is decided; the review path when they disagree is not, and it is an open item.