Skip to content
Mobile Byte Sensei

Designing every state, including the ugly ones

Empty, loading, partial, stale, offline, error and permission-denied. The states nobody puts in the Figma file are the ones users hit on their worst day.

Design team8 min read

On this page (1)

A design file typically contains one state per screen: full of plausible data, nothing loading, nothing broken. Then engineering builds the other six, at speed, without a designer, on the day of the deadline.

The seven

  • Empty — nothing yet. An invitation to act, not an apology.
  • Loading — and what to show if it takes eight seconds rather than one.
  • Partial — some data arrived. Show it rather than blocking on the slowest item.
  • Stale — cached and possibly wrong. Say when it was last fresh.
  • Offline — a normal state, not an error.
  • Error — what happened and what to do about it, in the interface's voice.
  • Permission denied — who to ask, not just that you cannot.

An empty screen is an invitation to act. An error does not apologise, and it is never vague about what happened.

The cost of designing all seven is perhaps 20% more design time. The cost of not designing them is that a developer invents them under pressure, and your product's worst moments are the ones nobody art-directed.


Written by Design team. Filed under Design.

Further reading

All articles

Working on a problem like this one? Request a proposal.