Empty States That Teach the Product
An empty state is the first honest screen after install. There is no closet, no saved choice, no case progress, no booking. The product either teaches the next tap or it performs sadness. At Croncode we write empty states as onboarding that stays on the home. Trust onboarding in sheets is a sibling: trust onboarding. This page is the empty object itself.
An empty state should teach the next action on the real object. A cute illustration with no button is a dead end. A fake list is a lie.
What should the empty screen contain?
- The name of the missing object in plain language.
- One primary action that creates or imports that object.
- One sentence of why it is safe to start.
- No sample rows that look like the user’s data.
Jobs: add a garment on YourStyle, start a choice on Numira, begin a case on Spylie, request a window on Luviport. Catalog: what Croncode builds. Design QA: design QA.
When is a skeleton or a fake feed wrong?
| Pattern | Use | Avoid |
|---|---|---|
| Skeleton while loading | Yes, short | As a forever empty |
| Demo closet that looks personal | No | Always. It is a lie |
| Error styled as empty | No | Name the failure. Fail-safe |
| Paywall as the only empty CTA | Rarely | Until they tasted the job. Paywalls |
Accessibility: the button needs a name and a large target. Accessibility basics. Localization: the sentence must fit Turkish. Onboarding localization.
How does week two reuse the same empty?
If they deleted the last object, teach again without shame. If they have an unfinished object, do not show empty. Retention: week two. Feature creep loves a second empty tab: feature creep. Thin MVPs that skip empty are hollow: too thin.
People: Goktug Unver, Yusufhan Sokur. Shipping: how we ship.
What should a sprint demo show?
A fresh install. The empty. The first object created. Then a forced error. Demo: sprint demo. Support will quote your empty sentence back to you if it is cute instead of useful: support email.
What mistakes look like brand?
- A mascot essay and no button: they leave.
- English puns that fail in Turkish: write meaning.
- Push permission on the empty: earn it later. Push.
- Analytics events for “engaged with illustration”: analytics.
Quote the empty copy in the packet: what to send. Hire: hire. Custom: custom software. Contact: contact. Journal: /en/journel/. Choose a studio: choose an iOS studio.
How do we keep empty states honest on the site and the store?
Screenshots should include an empty if that is the first minute, or show a real object from the binary, not a fake feed. ASO: positioning. Landing pages: store landers. We will not ship fake ranks or fake closets. Will not build. Team: Ozgur Ismet Ozkan.
Seasonal empty copy can mention weather or holidays only if the action stays the same: seasonal content. Naming the object matters: naming. If the empty headline uses a coined app name and no noun, a new user cannot act. “Start YourStyle” is weaker than “Add a garment you already own.” The verb and the object teach. The brand can wait a line.
Write the empty sentence in the quote packet so it is not invented on the last day. If two founders disagree on the joke, pick the noun. A joke that only one language can carry will fail localization and will fail the tired user in the other language too. Keep the button label a verb plus the object.
Frequently asked questions
Can I use a video instead of an empty state?
A short clip can help. You still need a button that creates the object. Video without action is a trailer.
Should empty and error share a layout?
They can share spacing. They must not share the same headline. One is “you have none.” The other is “we failed.”
What if the product is a narrative case?
Empty is “you have not opened the case.” Teaching is the first clue, not a settings tour.
Do illustrations matter?
They can. The sentence and the button matter more. Skip art if it delays the first job.
Who writes the empty line at Croncode?
Design writes it in English and Turkish. Engineering wires the action. Both sit in the QA note.
