My learning 0 of 20 lessons complete
Start lesson 1 →
30 documented entries 5 anti-pattern checks

Feedback, Status, And System State

Loading, progress, alerts, banners, sync, confidence, and system visibility.

Browse all problem families
Learn the family

What has the system received, and what should the person expect next?

Status connects an action to a real system event. A useful message names the current state, its consequence, and the next available action.

Use this method

  1. List the events that change the person's task.
  2. Write a distinct message for pending, received, delayed, and failed states.
  3. Place feedback near the action or result it explains.
  4. Test whether people infer the correct service status.

Compare the outcome

Strong: A clinic kiosk says Check-in received and gives a receipt number after the appointment service records arrival.

Weak: A clinic kiosk says Done while the staff queue still awaits the check-in record, so a patient asks reception whether arrival succeeded.

Try it: Map one button press to the real events behind it and write a truthful message for each meaningful state.

Read these patterns first

  1. Loading spinnerThe operation has defined resolution, timeout, cancellation, or failure paths.
  2. Error stateA system or task failure blocks expected content or action.
  3. Success confirmationA user action has completed and users need proof, object identity, or next-step orientation.

Build the foundation

Use color to reinforce meaning →

Follow the evidence

Complete study route · 30 entries

Work through the family in order

Begin with the core behavior, apply it in different contexts, then review cases that reveal the quality boundary. Open each entry for its decision rule, states, example, and source trail.

0 of 30 studies complete

Start this family →
6 entries

Build the foundation

Learn the shared task and the core interaction choices.

Lesson 01 / 30

Inline message

A visible object or section has local status, warning, success, or next-step information.

Type
UI-UX
Sources
4
Trail checked
standardContextual in-flow feedback
Test in lab
Lesson 02 / 30

Error state

A system or task failure blocks expected content or action.

Type
UI-UX
Sources
4
Trail checked
standardRecoverable failure surface
Test in lab
Lesson 03 / 30

Success confirmation

A user action has completed and users need proof, object identity, or next-step orientation.

Type
UI-UX
Sources
4
Trail checked
standardDurable in-context proof that an action completed
Test in lab
Lesson 04 / 30

Confirmation page

A transaction or service journey has ended and users need durable proof plus next-step information.

Type
UI-UX
Sources
4
Trail checked
standardFinal endpoint page after a transaction is complete
Test in lab
Lesson 05 / 30

Empty state

A next setup, creation, import, sample, or access-request action is available or explainable.

Type
UI-UX
Sources
4
Trail checked
establishedResolved no-data content surface
Test in lab
Lesson 06 / 30

Loading spinner

The operation has defined resolution, timeout, cancellation, or failure paths.

Type
UI-UX
Sources
4
Trail checked
standardBounded indeterminate wait indicator for a named action or region
Test in lab
19 entries

Apply the patterns

Choose a specialized form for the context and follow its complete behavior.

Lesson 07 / 30

Loading skeleton

The content shape is predictable.

Type
UI-UX
Sources
4
Trail checked
establishedBounded content loading placeholder
Test in lab
Lesson 08 / 30

Progress bar

A system operation has a measurable total or bounded progress value.

Type
UI-UX
Sources
3
Trail checked
standardMeasurable system-operation progress indicator
Test in lab
Lesson 09 / 30

Step progress

A workflow has several named stages and users need to understand current, completed, pending, blocked, failed, waiting, or skipped status.

Type
UI-UX
Sources
5
Trail checked
standardWorkflow-stage status indicator
Test in lab
Lesson 10 / 30

Meter

A current value exists inside a meaningful known range.

Type
UI-UX
Sources
4
Trail checked
standardRead-only scalar value gauge within a known range
Test in lab
Lesson 11 / 30

Toast notification

Use for short non-blocking confirmation after explicit actions such as save, copy, send, archive, invite, or queue export.

Type
UI-UX
Sources
4
Trail checked
standardTransient non-modal status message
Test in lab
Lesson 12 / 30

Banner

The message applies across several pages, routes, sections, records, or sessions.

Type
UI-UX
Sources
4
Trail checked
standardTop-of-interface broad-scope message
Test in lab
Lesson 13 / 30

Notification banner

A service problem, deadline, overdue action, or elsewhere-in-service event affects the user's next interpretation of the page.

Type
UI-UX
Sources
4
Trail checked
standardPage-flow service notification before the H1
Test in lab
Lesson 14 / 30

Site alert

Urgent public, safety, operating-status, outage, closure, or availability information applies to the whole site or service.

Type
UI-UX
Sources
4
Trail checked
standardUrgent full-width sitewide alert near the top of every page
Test in lab
Lesson 15 / 30

Alert

A current task has a time-sensitive warning, error, or important status change.

Type
UI-UX
Sources
4
Trail checked
standardUrgent current-task status message
Test in lab
Lesson 16 / 30

Warning text

A user must understand a serious consequence before taking or skipping an action.

Type
UI-UX
Sources
4
Trail checked
standardSevere-consequence warning copy before an action
Test in lab
Lesson 17 / 30

Notification center

Users receive multiple asynchronous updates across objects, jobs, collaborators, approvals, or reminders.

Type
UI-UX
Sources
4
Trail checked
standardDurable user-opened notification history and action drawer
Test in lab
Lesson 18 / 30

Sync state

Local changes, files, messages, uploads, or records need to reconcile with a remote service or another device.

Type
UI-UX
Sources
3
Trail checked
standardLocal-and-remote reconciliation status
Test in lab
Lesson 19 / 30

Offline state

Connection loss or server reachability changes the user's current task.

Type
UI-UX
Sources
4
Trail checked
standardConnectivity-mode and local-work continuity state
Test in lab
Lesson 20 / 30

Permission denied state

A signed-in user lacks permission to view, edit, publish, export, delete, approve, share, administer, or configure a resource.

Type
UI-UX
Sources
3
Trail checked
standardAuthorization and access-boundary state
Test in lab
Lesson 21 / 30

Conflict state

Concurrent users, devices, branches, or background jobs changed the same object or location.

Type
UI-UX
Sources
3
Trail checked
standardCompeting-version resolution state
Test in lab
Lesson 22 / 30

Service unavailable page

Maintenance, overload, incident response, dependency failure, deployment, or permanent closure blocks normal use.

Type
UI-UX
Sources
4
Trail checked
standardWhole-service unavailable page
Test in lab
Lesson 23 / 30

Page not found page

The team needs to measure and repair broken links.

Type
UI-UX
Sources
4
Trail checked
standardMissing-route recovery page
Test in lab
Lesson 24 / 30

Phase / beta banner

A service is in alpha, private beta, public beta, or another explicit pre-live phase.

Type
UI-UX
Sources
4
Trail checked
standardService phase and feedback marker
Test in lab
Lesson 25 / 30

Cookie banner

The service sets non-essential cookies or similar device storage technologies.

Type
UI-UX
Sources
4
Trail checked
standardCookie and tracking consent control
Test in lab
5 entries

Review the quality risks

Study failure cases and identify the better recovery route.

Lesson 26 / 30

Infinite spinner

Use this anti-pattern entry to audit loading, saving, syncing, uploading, report generation, billing retrieval, AI generation, and import flows that can hang.

Type
UI-UX
Sources
3
Trail checked
anti-patternUnbounded loading anti-pattern
Test in lab
Lesson 27 / 30

Disabled button with no explanation

Use this anti-pattern entry to audit disabled submit, continue, create, save, delete, publish, invite, export, payment, and setup actions.

Type
UI-UX
Sources
4
Trail checked
anti-patternBlocked action anti-pattern
Test in lab
Lesson 28 / 30

Dead-end empty state

Auditing generated UIs, dashboards, tables, lists, or panels for blank states that strand users.

Type
UX
Sources
5
Trail checked
anti-patternActionless blank-state anti-pattern
Test in lab
Lesson 29 / 30

Toast-only success for completed transaction

Use this anti-pattern entry to identify transaction success handled only by transient feedback.

Type
UI-UX
Sources
5
Trail checked
anti-patternTransient-only completed-transaction anti-pattern
Test in lab
Lesson 30 / 30

Toast-only critical error

Use this anti-pattern entry to identify and replace transient-only handling of payment, save, permission, account, upload, deletion, and security failures.

Type
UI-UX
Sources
3
Trail checked
anti-patternTransient critical-feedback anti-pattern
Test in lab

Saved items