Field note

Reading Empty States as Performance Clues

Designer sketching interface frames on paper

Utility apps spend much of their life showing partial data: a wallet with no recent transfers, a parking app waiting for a plate match, a ticket tool with no upcoming trips. Those states are easy to ignore during a release check because they look “finished.”

In a layer-by-layer pass we time the chrome first — header, tabs, account chip — then the content shell, then any background sync that paints late. An empty list that arrives after a heavy silhouette animation still feels slow even when the API is fast.

We ask product teams to record three captures for every primary screen: populated, empty, and error. Comparing those captures side by side usually reveals which visual layer is expensive and which network call can wait until the user asks for more detail.

If you only measure happy-path fills, you will miss the journeys that frustrate first-time and returning users the most. Empty states are not placeholders; they are performance surfaces.

Back to field notes