Empty states and how to use them to your advantage


When people start your app for the first time you want to help them see value as quickly as possible. The goal is to make people successful so that they stick around. Some might call this getting the users hooked, however I would call it making them successful. By definition, hooked means there is no way to escape. It is analogous to holding the users prisoners. I don’t like this term, because you don’t want to hold your users prisoners, you want to provide constant value to make them stay.

So let’s see how you can provide value starting from the first interaction. How can you help them understand what brings your app to the table?

Users usually go in with picturing how things should work, they have a certain image in their mind about what they need to do, however when starting something for the first time all you have is a blank slate. Even if you can partially populate the app with data, the user might come across pages where there will be nothing to be shown.

Dealing with empty states is usually an afterthought. The product is designed with data in mind, which is fine, but the empty pages are considered as extra polish, something that is not essential to the value proposition. So the reality is that teams are not as thoughtful about this as they should be. You should make designing empty states and empty screens a first class citizen of your process. They are usually the first touch point for the user.


Optimize for success

In order to design effective empty states you’ll have to know what the user wants to accomplish by using your app. Let me give you two examples and illustrate why this is important, plus how does context play a role.

You are building a task management app, and people are using it to help them not forget and get things done. An empty list can mean different things in different contexts. So the first time the user starts the app, your job is to help them set up their task list. When they have cleared the task list on the other hand, you job is to make them feel good about it. You can peel back the layers and further customize the experience. If it’s the end of the day, help them plan for the next day, if it’s the middle of the day ask them if they have other things to do.

Let’s talk a different example. You are building a document management app. Your goal there is to help the user manage their documents, so adding data makes the service more useful. Help them by explaining how it works.

Context is important. In some cases and empty list is good in other cases getting as much data in as possible is better. Make sure to be aligned with the value your user is after.

People largely abandon applications for reasons which are within our control: because they do not perceive value from interacting with the software.
Patrick Mckenzie

The three rules

  1. Educate. Let the user know why there is nothing to see, and show how it will look like when it is populated. It should be obvious to the user if they are seeing an empty page or a populated page.
  2. Provide a CTA. Have an action in mind that you want the user to take. Import data, enter data, go somewhere else or take a break. It doesn’t matter. What matters is that you get the user do that action.
  3. Offer your help. This could be anything from clues on the screen to providing a phone number where they can call. Keep in mind, you want to make the user successful.

Ask questions

Getting to know the user is useful. This is the time to ask questions, but be sure to explain why. Use the answers to populate the view with data that is relevant to the user.

Help the user get data in

This is your chance for stellar on-boarding. Instead of showing a slide-show with explanatory images about what your app can do, help the user be successful by teaching and guiding them through the setup process. Explain what should be on the screen and show them how to get things onto the screen. On-boarding is at it’s best when it is contextual, when it doesn’t feel like extra work.


Provide options

Sometimes there are different ways to populate an account with useful information. Learn about where this data currently exists and make it easy for the user to connect it with your app. If it is coming from another service, provide integration tools. Imports work really well here. Sometimes a more personal “concierge-style” on-boarding is needed, so asking the user if they want to email the data to you for importing could be valuable for both parties. You’ll see how the data is constructed, the user gets the data in. You can than think about automating and building software to deal with it.


Empty states are pages where there is no data to be shown. It is likely your users will come across them from time to time. Be contextually relevant and help them engage with your app, whatever that means for you, like upload, enter information or snap a picture.

If you are looking for quick, no-hassle solutions that can be literally implemented in minutes, check out the products we provide at Mobiscroll.

Start building better products
Sign up and get posts like this in your inbox. We respect your time and will send you only the good stuff!