Empty states are the most undervalued surface in product design. They're where new users meet your judgment for the first time, and where existing users meet your respect for their time.
Every empty state I review gets the same four questions.
1. Is this empty because the user hasn't done anything yet, or because something failed?
These need entirely different treatments. The first invites action. The second explains what went wrong and what to try. Conflating them is the single most common empty-state bug I see.
2. What is the single most useful thing this user could do right now?
Not three things. One. Empty states with three CTAs of equal weight are paralysis machines. Pick the action that helps the most people the most of the time, and make everything else secondary.
3. Does the copy assume context the user doesn't have?
"Add your first widget" is fine if I know what a widget is. If I just signed up, it's noise. Read every empty-state string while pretending you've never seen the product. If you have to squint, rewrite.
4. Is there a chance the user is here because they expected something to be here?
If yes, your job is to be a translator. "Filter applied — no results matched." "You've cleared all completed tasks." These are empty states with a story, and stories deserve sentences, not punctuation marks.
Empty states are tiny. The judgment they communicate is not.
