← Cycles
design · c108archivedstarted Oct 2Auto draft — not yet reviewed

Honest States

Why we did this

While loading or offline, the dashboard showed comforting all-clears like "Fleet is clean" or a perfect score of 100, before it knew anything.

What happened

Every page now tells loading, failed and truly empty apart. A failed save says so and undoes itself. The false all-clears are gone.

Before → afterWhen the dashboard can't reach its data, it says so instead of claiming all is well.

Pages

  • /campaigns (local dev)
  • /compliance (local dev)
  • /cost (local dev)
  • /findings (local dev)
  • /posture (local dev)
  • /organization/users (local dev)
  • /alerts (local dev)
  • /dlp (local dev)
  • /policies (local dev)
  • /integrations/pagerduty (local dev)
  • /inventory/models (local dev)
  • /inventory/tools/detail (local dev)
At a glance
4
changes
0
conversations
5
decisions
0
outside helpers

What changed

The three changes that matter most, in plain words. Open any one to see it.

  1. 1

    When the dashboard can't reach its data, it says so instead of claiming all is well.

    No more false all-clears · came from Mark Parson

  2. 2

    While data loads, numbers show a dash and tables show grey rows, never a made-up score.

    Loading looks like loading · came from Mark Parson

  3. 3

    If a save fails, the dashboard says so beside the button and in a pop-up, and the control goes back.

    A failed save says so · came from Mark Parson

Also in this cycle
  • If the connection drops after data has loaded, the data stays, marked with when it was last updated. Before → after

How we got here

Each change, traced back to the conversation it came from. A solid mark means the record names the source; a dashed one was matched by the draft and waits for review.

Someone said

From the record: no recorded conversation behind this one.

We decided

c108-D2 When qdash is unreachable, one banner at the top of the page, and a dash in every number. — Mark Parson

So now

When the dashboard can't reach its data, it says so instead of claiming all is well.

Someone said

From the record: no recorded conversation behind this one.

We decided

c108-D1 While loading, numbers show a dash and tables show grey placeholder rows. — Mark Parson

c108-D4 Where a page would claim full coverage, it shows a dash and "No agents reporting" instead. — Mark Parson

So now

While data loads, numbers show a dash and tables show grey rows, never a made-up score.

Someone said

From the record: no recorded conversation behind this one.

We decided

c108-D3 A failed save shows both an error beside the control and a pop-up, and the control goes back. — Mark Parson

So now

If a save fails, the dashboard says so beside the button and in a pop-up, and the control goes back.

Thanks to

People outside Qpoint first. Every thank-you points at something they said or made.

MP
Mark Parson
Qpoint team

Ruled how the dashboard admits what it doesn't know

Chose a dash for numbers and grey rows for tables, one banner when qdash is unreachable, an inline error plus a pop-up for failed saves, and a stale tag after two missed refreshes.

All images

Every picture from this cycle. Click any one to step through them all.

The pairs

No more false all-clearsBefore → after
→
Loading looks like loadingBefore → after
→
A failed save says soNew in this cycle
Old data is marked as oldBefore → after
→

Everything captured · 51

The full record 5 decisions · 8 key-change entries · 2,183 words · 51 captures

The record stays as written, for agents and for audit: Key Changes, every decision, the artifacts and the visual record.

Open the record for c108 →

Qpoint Brand Style Guide