Programming · free software · the open webSubscribe via RSS

What Should a Dashboard’s Empty State Explain?

From the earlier reference collection. Read the current software blog.

An empty state should identify why the current selection has no results and offer a clear next step without implying a zero reading.

Say what is empty

A blank chart leaves several possibilities: the selected period may have no records, the source may be unavailable, a filter may exclude all data, or the value may be withheld. Name the condition the dashboard can verify. For example, “No readings were received for this station between 2 and 4 p.m.” is more helpful than “No data.”

Keep an empty result distinct from a measured zero. If a source reports zero incidents, display zero and define what was counted. If it returns no rows, say that no records were available for the selection. Those states should not share the same visual treatment or text.

Include the selection that caused it

Repeat the active location, date range, and other important filters near the message. A reader may have forgotten a selection made earlier, or arrived through a saved link. “No reports for North District, Oct 20–27” gives enough context to diagnose the result.

If the filter itself is invalid or unsupported, explain that separately from a valid query with no matches. This distinction helps readers know whether to broaden the selection or correct an input.

Offer a useful next step

Give a nearby action that fits the situation: expand the date range, clear a location filter, select another reporting station, or open the data-status page. A reset button is useful when it is clearly labeled and does not discard unrelated choices without warning. Preserve other filters when possible so the reader can make a small adjustment.

For instance, “No readings in this two-hour window. Try the full day” is actionable if the dashboard has daily data. Do not offer an option that cannot produce results or send the reader to a generic home page with no explanation.

Keep the message honest as data changes

An empty state caused by a feed failure should include the source status and last successful update, not suggest that there were no events. If the reason cannot be determined, state that the dashboard received no matching records and that the cause is unknown. The interface should not speculate about conditions on the ground.

A good empty state is a small explanation, not an apology. It tells readers what the page checked, what came back, and the simplest next move.

Suggest a correction · All posts