Consider how a product decision gets made. Layout is debated for a week. Colour choices go through review. The empty state illustration gets three rounds. Then someone writes "Something went wrong. Please try again." at four in the afternoon and it ships to every user for the next three years.
Copy carries the meaning
Visual design communicates hierarchy and mood. Words communicate what will actually happen when the user clicks. When those disagree, the words win, and when the words are vague, no amount of visual polish rescues the interaction. A confirmation dialog that says "Are you sure?" places the entire burden of understanding on a user who may have no idea what is about to be deleted.
Rules that improve almost any interface
- Label buttons with the action, not with agreement. "Delete three files" beats "OK" in every measurable way.
- Write errors that state what happened and what to do next. The user does not need the exception class; they need to know whether to retry, wait, or change something.
- Drop the apology. "We're sorry, but unfortunately" adds length and delays the useful part of the sentence.
- Use the user's noun. If they call it an invoice, your interface calls it an invoice, even if your database calls it a transaction record.
- Front-load. People scan; the first three words carry most of the weight.
Empty states are onboarding
The empty state is the highest-value copy in most products, and it is usually a grey line saying "No items". It is the one moment where a new user is looking directly at a feature they have not used and asking what it is for. One sentence explaining the value and one clear action outperforms nearly any other onboarding intervention, at a fraction of the cost.
If you can only improve one thing in your product this quarter, improve the twenty sentences users read most often. They are probably error messages.
Make it a system
Copy drifts the same way visual design drifts, and for the same reason: no single source of truth. Keep a short voice guide covering tone, capitalisation, how you refer to core objects, and the standard shapes for errors and confirmations. Put the recurring strings in the design system alongside the components, so a button and its label evolve together.
Then review copy in design review, out loud. Reading an interface aloud exposes stiffness, ambiguity, and jargon within seconds, and it is the cheapest quality check available to any team.
Join the conversation
Discussion0
Join the conversation. Sign in to leave a response or reply to comments.