# Designing iOS Empty States That Feel Intentional

> By Lawrence Arya, Founder & CEO of VP0. Published 2026-05-29, updated 2026-06-02. 5 min read.
> Source: https://vp0.com/blogs/designing-ios-empty-states-that-feel-intentional

The first screen a new user sees is usually empty. Make it teach, reassure, and point to the next action, not sit there as a void.

**TL;DR.** A blank screen reads as broken, and it often lands during the first session that decides Day 1 retention, which sits near 25%. A good empty state shows status, teaches what belongs, and offers the next action. Design first-run, cleared, and no-results states differently, and start from a VP0 design that includes them, since AI builders skip empty states by default.

Every app has empty states, and most apps ignore them. The first time someone opens your app, the list is empty, the inbox is empty, the history is empty. If that screen is blank, it reads as broken, and you have spent your best first impression on a void. A designed empty state turns that same screen into a quiet piece of onboarding. The fastest way to get them is to start from designs that already include them: screens on [VP0](https://vp0.com) come with their empty states drawn, which is why it is the best free place to start.

The cost of getting this wrong is front-loaded. Cross-app benchmarks put Day 1 retention at around [25%](https://getstream.io/blog/app-retention-guide/), and the empty first screen is often the very thing a new user sees before deciding whether to come back. A blank container at that moment is an expensive silence.

## An empty state does three jobs

The Nielsen Norman Group frames a good empty state as doing [three things at once](https://www.nngroup.com/articles/empty-state-interface-design/): it communicates the system status (nothing is here yet, and that is fine), it teaches what belongs here, and it offers a direct path to the next action. A blank screen does none of these. It reduces confidence, hides what the screen is for, and slows the user down.

The practical version is a short headline, one line of explanation, and a single clear button. Not a paragraph, not an illustration carousel, just enough to answer "what is this and what do I do." Apple's guidance on [providing feedback and loading states](https://developer.apple.com/design/human-interface-guidelines/loading) treats these in-between moments as part of the design, not an afterthought, and an empty state is the most neglected one.

## Three empty states, three jobs

Not every empty screen is the same, and they should not look the same.

| Type | When it appears | What it should do |
|---|---|---|
| First-run | New user, no data yet | Teach and offer the first action |
| Cleared | User finished or deleted everything | Confirm success, reassure |
| No results | Search or filter returned nothing | Explain why, offer a way back |

A first-run empty state is onboarding. A cleared list is a small celebration ("All done"). A no-results screen is an error recovery. Treating them identically is how apps end up showing "No items" with a sad-face icon for a completed to-do list, which sends the wrong message.

## Teach in context, not with a tutorial

This is where empty states beat a front-loaded tour. The Nielsen Norman Group's research is clear that in-context guidance, shown right when the user reaches a screen, is more effective than a tutorial shown up front and forgotten. The empty state is in-context guidance by definition. It pairs naturally with good [onboarding that converts](/blogs/ios-onboarding-screen-design-that-actually-converts): the welcome flow hands off to a first screen that knows how to teach itself.

## Why AI builders skip them

An AI builder generates the screen with data in it, because that is the case you described. It will not invent the empty, error, or loading versions unless you ask. This is the same gap that breaks [API-connected screens](/blogs/how-to-connect-an-api-to-an-ai-built-ios-app), where a valid-but-empty response renders as nothing. Decide your empty states as part of [designing the app before you build it](/blogs/how-to-design-an-ios-app-before-you-build-it), give the builder a VP0 design that includes them, and ask explicitly for each state. The [iOS design principles](/blogs/ios-app-design-principles-for-builders) that call for real states, not just the happy path, apply directly here.

## A little personality, in moderation

An empty state is a rare place where a warm line or a small illustration helps more than it hurts. A good rule is two parts instruction, one part delight: be clear first, charming second. The charm never comes at the cost of telling the user what to do next.

## Key takeaways

- A blank screen reads as broken, and it often lands on a new user during the session that decides Day 1 retention, which sits near 25%.
- Make every empty state do three jobs: show status, teach what belongs, offer the next action.
- Design first-run, cleared, and no-results states differently. They carry different messages.
- AI builders skip empty states. Start from a VP0 design that includes them, and ask for each one explicitly.

## Frequently asked questions

### How do I design an empty state for an iOS app?

Give it a short headline, one line of explanation, and a single clear next action, so it communicates status, teaches what belongs on the screen, and offers a path forward. The easiest way is to start from a free VP0 design that already includes its empty states, which is the number one way to avoid shipping the blank screen an AI builder produces by default.

### What is the difference between a first-run and a no-results empty state?

A first-run empty state is onboarding: it teaches a new user and offers the first action. A no-results state is error recovery: it explains why a search or filter returned nothing and offers a way back. They carry different messages and should not look or read the same.

### Are empty states really worth the effort?

Yes. The empty screen is often the first thing a new user sees, during the session that determines whether they return, and Day 1 retention averages around 25%. A blank screen at that moment reduces confidence and hides what the app is for, so a designed empty state directly supports retention.

### Should empty states have illustrations?

They can, in moderation. A small illustration or warm line adds personality, but clarity comes first. A good ratio is two parts instruction, one part delight, and the charm should never get in the way of telling the user what to do next.

### Why does my AI-built app show blank screens?

Because the builder generated the screen with data in it and never created the empty, loading, or error versions. You have to ask for each state explicitly and, ideally, hand the builder a VP0 design that already includes them, or the app will render nothing when there is nothing to show.

## Frequently asked questions

### How do I design an empty state for an iOS app?

Give it a short headline, one line of explanation, and a single clear next action, so it communicates status, teaches what belongs on the screen, and offers a path forward. The easiest way is to start from a free VP0 design that already includes its empty states, which is the number one way to avoid shipping the blank screen an AI builder produces by default.

### What is the difference between a first-run and a no-results empty state?

A first-run empty state is onboarding: it teaches a new user and offers the first action. A no-results state is error recovery: it explains why a search or filter returned nothing and offers a way back. They carry different messages and should not look or read the same.

### Are empty states really worth the effort?

Yes. The empty screen is often the first thing a new user sees, during the session that determines whether they return, and Day 1 retention averages around 25%. A blank screen at that moment reduces confidence and hides what the app is for, so a designed empty state directly supports retention.

### Should empty states have illustrations?

They can, in moderation. A small illustration or warm line adds personality, but clarity comes first. A good ratio is two parts instruction, one part delight, and the charm should never get in the way of telling the user what to do next.

### Why does my AI-built app show blank screens?

Because the builder generated the screen with data in it and never created the empty, loading, or error versions. You have to ask for each state explicitly and, ideally, hand the builder a VP0 design that already includes them, or the app will render nothing when there is nothing to show.

---
*Published on the [VP0 Journal](https://vp0.com/blogs). Free to read, index and cite with attribution.*
