Designing the First Run
What's on screen when a user opens the product for the first time and there's no data yet?
The first screen a new user sees is almost entirely empty. What you say on it, and what you invite them to do, decides whether they take a second step. Much of what separates good from mediocre onboarding is decided right here. onboarding-wiki
What you'll run into:
- Signup conversion is fine, but nothing happens after registration
- Your own demos run smoothly because your account is full of data
- Users say "I don't know what this can do," even though your homepage explains it clearly
Every day you look at a screen full of data; a new user looks at emptiness. That gap is the root of every first-run problem—you almost never look at the empty screen unless you deliberately sign up with a fresh account.
What goes on this screen
Put four things on the empty first screen, each communicating one thing:
| Element | What it must say |
|---|---|
| One value statement | What will live here and what it does for them. Not "no data"—more like "once you build it, all your revision records are filed together" |
| One primary button | The only next step. Don't offer three choices; at this moment they have nothing to base a decision on |
| One shortcut | Import sample data, start from a template, connect an existing account—so they don't start from scratch by hand |
| A sense of progress | Which of the three steps they're on. Knowing what's left makes people more willing to finish |
The third item is where conversion differs most. Manually entering the first record usually costs more than users expect; a piece of sample data lets them see what the thing looks like before they invest.
Also distinguish two kinds of empty: never had data (a new user, guide them to create) versus filtered to nothing (data exists but conditions hid it; offer relaxed filters and a one-click clear). Reusing one empty state for both makes existing users think their data is gone. The "filtered to nothing" case typically appears after search or filtering, so a "clear filters" button right in the empty state beats re-teaching the search flow.
And the primary button's copy shouldn't be hollow words like "Get started." Write a concrete action—"Create your first project" or "Import my bills." Users should see a result they can picture, not a command.
Four ways to get people started
Beyond empty-state guidance, there are three more approaches, each with its fit and its cost:
| Approach | Fits when | The cost |
|---|---|---|
| Empty-state guidance | The default for most cases | Almost none. Do it for every empty list |
| Sample data | The product's value only shows with data in it | You need a way to delete samples so they don't mix with real data |
| Step-by-step walkthrough | A core flow with three or four mandatory steps | Use bubble pointers step by step; never a forced, unskippable tutorial |
| Launch screen tutorial | Almost never | Users click through blindly and remember nothing |
The test is simple: if you can teach at the exact moment of need, don't teach in advance. When the guidance appears at the step where they hit it, retention is a different story.
One last reminder: the goal of the first run isn't to finish the tutorial—it's to get users to complete their first real task. Judge this screen by "did they successfully accomplish something for the first time," not by "did the walkthrough finish."
When you're done, walk the whole flow with a brand-new account. It's the only way to find the problems—and the step people skip most often.
