Scott
Scott

Published on Oct 16, 2026, updated on Oct 16, 2026

A UI state matrix maps what a person sees and can do as a task changes. It helps a team design loading, empty, error, partial, and success states before those cases become bugs in production.

Use Pixso UI design collaboration to keep the matrix, frames, and review decisions together while the flow is refined.

UI State Matrix: Map Loading, Empty, Error, and Success States
Map state changes against the task the interface must support.

1. Start with the task and its signals

Write one sentence describing the user goal, then list the signals that change the interface: data availability, request status, permissions, connectivity, viewport, and user input. This keeps a state matrix tied to a decision rather than a collection of generic component names.

2. Separate similar-looking states

An empty list may mean there are no records, a filter hides all records, or the request returned no results. A disabled control may reflect missing permission, an unmet prerequisite, or a temporary request. Give each cause its own row when the next action or message differs.

3. Connect rows to reviewable frames

Create frames for the baseline, loading, empty, error, partial, and success states of the same task. Use consistent sample data and label the condition inside the file. Connect the meaningful transitions in the prototype so reviewers can test behavior instead of comparing unrelated screenshots.

4. Design recovery and preservation

Every non-success state needs a useful next step or a clear reason why no action is available. Retry a transport failure; explain how to add the first item to a genuinely empty collection; preserve filters, typed values, and scroll position when a request fails. For partial results, show what is confirmed and what is still pending.

5. Validate across width, input, and content

Review the matrix at the smallest supported width, with long labels, slow responses, keyboard navigation, and different permission levels. Record which states are covered by automated checks and which need a manual review. A row is complete when its visible hierarchy, action, owner, and acceptance evidence are known.

StateQuestion to answerDesign evidence
LoadingWhat can the person understand or do while waiting?Progress signal, preserved context, and cancel or retry rule
EmptyWhy is there no content and what is the next useful action?Cause-specific message and add, clear, or change-filter action
ErrorWhat failed and what can be recovered safely?Specific explanation, preserved input, and recovery path
PartialWhich information is reliable right now?Known rows, pending indicator, and refresh behavior
SuccessHow does the person know the task is complete?Confirmation, saved state, and follow-up action
Review UI states beside a Pixso prototype
Review each state beside the prototype transition it supports.

Turn the matrix into a shared decision record

Keep the matrix next to the frames and link each row to a transition or component. When a requirement changes, the team can see which states, copy, and tests need another review instead of silently preserving an outdated assumption.

Build your UI state matrix in Pixso →

Back to top
Share on X
Share on Facebook