AI / Design Communication & Image Prompting
Empty-State and Error Copy
What the interface should say when there is no data or loading fails
Write the empty-state and error-state copy for [page/feature], across five scenarios: 1) First use, no data yet; 2) No results after filtering; 3) Failed but retryable; 4) No permission; 5) Network down. For each scenario give three things: main copy (within 12 words, saying what happened), a supporting line (why it happened, and what to do next), and a button label (starting with a verb). Rules: don't blame the user, don't say 'Something went wrong' — it carries no information, no cutesy tone, no exclamation marks. At the end, mark which scenarios can share one set of copy.
How to use
Screenshot the five real states before asking; otherwise you will only get a generic template back.
Good for
- The feature shipped and nobody has written copy for the five abnormal states — filling them all at once keeps a blank page or a raw error string from going live.
- When the copy goes to a localization team — giving it in the main line, supporting line, and button structure keeps translations from drifting.
Not for
- The page layout is not settled yet (you do not know whether the empty state has room for an illustration) — fix the layout before writing, or the character limit is meaningless.
- You need technical error-code documentation or logs — that is for developers and ops; piling it in front of users only makes them more anxious.
Example
Input
A 'My favourites' page; copy is needed for first-time empty, no results after filtering, and failed to load
What you get
Three separate sets: first visit gets 'No favourites yet / Tap the heart on anything you like and it lands here / Browse'; no results gets 'No favourites match these filters / Try fewer filters / Clear filters'; failure gets 'Your favourites did not load / The connection looks unstable — retrying usually works / Retry'. It closes by noting the last two cannot share a set, because the cause and the next action differ.
Common mistakes
- Using zero-information copy like 'Something went wrong' or 'Operation failed' — users cannot tell whether they erred, the network dropped, or the system died, so they retry blindly or leave.
- Writing the error page in a cutesy voice ('Oops, I tripped!') — in payment or data contexts it reads as careless, and users' first instinct is to stop touching anything.
Try tweaking it like this
- Add the rule 'the main line must name the specific object' — 'Failed to load' becomes 'Your favourites did not load', so users know which part broke.
- Ask for 'a six-character ultra-short version of each scenario as well' — ready for the narrow slot beside a button or a toast, with no last-minute squeezing.