interaction
Empty state
What a screen shows when there's no data yet. Designed well, it doubles as onboarding; designed lazily, it's just blank and confusing.
Every list, inbox and dashboard has a moment before it has content – and most products design for the full version, then ship the empty one by accident. The empty state is a named pattern because that moment is load-bearing: it’s often the very first thing a new user sees.
The good version answers three questions in one glance: what will live here, why is it empty right now, and what’s the one action that fills it. That’s why well-designed empty states read as onboarding moments – the blank screen becomes the product teaching its own first step. The lazy version (a spinner’s worth of nothing, or “No results”) answers none of them. It’s one of the four data conditions every screen should have an answer for: loading, empty, error, and populated.