Skip to main content

Empty states

In the portal: Settings, then Surfaces. Nothing here is a setting of its own.

What it is​

There are exactly two things a participant can see when there is nothing for them to do, and one of them is nothing at all.

A surface with no items is not drawn. No heading, no placeholder, no line saying it is empty. It is skipped entirely, so an empty surface is invisible rather than empty. A surface you have just created therefore leaves no trace on the screen until a delivery lands in it, which keeps a participant's home clean while you build.

A home screen with nothing on it anywhere shows one line. That line is Nothing scheduled right now, under a small outlined tick. It is the same on both phones and it is the only empty-state copy the home screen has.

What it looks like​

The three states, and the exact words.

What the participant seesWhenThe words
A spinnerThe phone has not finished loading the home screen yetLoading home
A small tick and one lineLoading has finished and there is genuinely nothingNothing scheduled right now
Nothing where your surface wasThat one surface has no items, but others donone

A fourth state belongs to a single item rather than the screen. A delivery whose content has not reached the phone yet draws a greyed row headed Unavailable, with a second line telling the participant it will appear once synced. It is not tappable. It exists so that a delivery somebody was given is always accounted for on the screen.

When this matters​

It matters on the first day of a build, when nothing works and nothing is broken.

A worked example. A content operator creates a surface, sets its look, gives it a priority, saves it, and opens the app to check. The home screen is exactly as it was. Nothing has gone wrong. A surface is a frame, and no delivery has been made to it yet, so there is nothing to draw. The way to see it is to assign something to a test participant.

How it renders​

The same line covers every empty day. A participant between journeys, one who has finished a journey and one on a rest day all read Nothing scheduled right now. If a particular moment needs its own words, deliver an item that carries them.

The empty line only appears once loading has finished. A participant who opens the app with no connection sees the spinner and its Loading home line rather than being told there is nothing.

A surface with one item and a surface with twenty are drawn the same way. There is no special case for a single item.

A heading never appears without items under it. Headings are drawn as part of a surface, and a surface with no items is skipped before its heading is ever considered.

Turning a surface's heading off does not empty it. showHeader removes the name and the picture. The items stay. If you want a surface gone, remove the deliveries or point them somewhere else.

When a participant reports a blank home screen, start with the schedule. The most common reason is that today is not a scheduled day for anything they hold, so it is a schedule question rather than a home screen question.

What you can now do​

Tell the three apart on sight. A spinner means the phone is still loading. One line under a small tick means loading finished and there is genuinely nothing. A surface you configured leaving no trace means no delivery has landed in it yet, which is the normal state on the first day of a build.

The way to see a new surface is to assign something to a test participant. See What puts an item there.