Design

Lisa Margetis

UX is in the Details: Better Empty States

Dec 18 2017

Empty states are the in-between spaces in any app. They’re what happens when the inbox is empty, when the special offer has expired, when you haven’t selected any favorites, or when you’ve cleared the to-do list out. And potentially they are the first screens to be seen upon signing up.

hendrix empty state

Hendrix

While empty states may seem like small flourishes, they are actually a powerful design pattern.

Anticipating empty states, understanding when and where empty states occur, requires extensive knowledge of a user’s pathway through the product. By developing good empty states, the landscape of the product can be clearer - a user can know what to expect from your app and even be guided on how to use the app before they have invested time in it.

On top of improving the user experience of an app, empty states inform your users on what information will be displayed on the screen. To put it nicely, without good empty states your product will feel not just empty, but broken!

dovetail empty state

Dovetail

So now that we have our empty states accounted for, how do we make them better?

Empty states are an incredible opportunity to build brand affinity. You can introduce branded characters and animations and set the tone of the brand’s identity through empty states. It is one of the most powerful ways to set the “tone” of your product - is it silly and loose, or purposeful and stylish? We probably wouldn’t want a dog digging for a bone in a financial product, but it’s perfect for a pet adoption app.

Hoang Nguyen Empty State

Dribbble: Hoang Nguyen

Humanizing your product with enjoyable empty states can produce familiarity and build an emotional connection. Twitter didn’t just tell you they’re down with a message - they showed you the iconic Fail Whale: cute birds cheerfully lifting a huge and grinning whale.

We may be down, but here’s an awesome cartoon.

While the endearing whale is no more, the reach of that simple empty state shows how powerful a tool they can be for a brand. Instead of a cold error message, there’s a colorful little diversion from frustration. Taking the edge off of bad news with an empty state illustration is a widely-used design pattern.

Ivy Mukherjee Empty State

Dribbble: Ivy Mukherjee

So, beyond your servers crashing - what else could we use empty states for?

They can show crucial information, acting as an onboarding agent for new users.

AirBnb Itinerary Empty State

AirBnb Itinerary Empty State

They can act as a tutorial, showing a slightly more in-depth way to use a feature.

Dropbox Empty State

Dropbox Paper Empty State

They can reveal product goals, or the power of a product.

Waze Alerts Empty State

Waze Alerts Empty State

The empty states are the chance to give the product a voice and let it speak. It’s nearly an advertisement for itself!

The most common empty state is the upload screen. The drag-here box that’s unmistakable because of its design - you just want to put your latest pic there. These “contribution” empty states are vital because they’re one of the user’s direct interaction points. It must not only look like something the user wants to use, of course - it has to work perfectly, too!

Empty states are a nudge that call us to action in our apps. Without them, users aren’t just lost - they think something is wrong. If there’s no particular place for a user to go, or if they don’t like where you’re trying to take them, then they’re going to bounce!

Blank screens hide features, but empty states reveal them

As a product designer, empty states are one of my favorite chances to be creative and really get to know a product. I get to shape how a user approaches a product’s features. What should this app feel like? What will they use it for? How will they want to use it? What will signal to them: this product is secure, safe, but also simple enough to use?

Now that we’ve explored why emtpy states are so crucial - did you notice an empty state you’d never thought about? Do you have a favorite empty state? Let me know in the comments!