Lab 15 · Overlays · rebuilt on Untitled UI

Say what will happen, before it happens.

Overlays are where a design system usually goes soft. Four things get built that look alike, nobody can say which is which, and within a year there is a fifth. So this lab settles the boundary first and the appearance second.

All four share the principle already running through the platform. The command bar echoes its parse. The form counts its outstanding conditions. The gate states its headroom. An overlay does the same: it shows the consequence of the decision while the decision is still reversible. A dialog shows what will change, a confirm shows what will be lost, a toast shows what happened and offers the way back.

The screens, rebuilt

Drawn fresh from the Untitled kit and the system’s ruled tokens, not restyled from the originals.

Four overlays, first yes wins; the confirm is an arithmetic
Toast

Already happened. The way back, where one exists.

Confirm

Irreversible. What will be lost, in money.

Dialog

One decision, blocking, consequence computed live.

Sheet

Editing a section while reading the rest. Never dimmed.

Cancel this booking?
BKG-7QP2K4M9 · Marchetti Group
Supplier penalties$4,120.00
Refundable to customer$113,880.00
Type the reference to confirm
BKG-7QP2K4M9

Typing the reference is reserved for exactly four actions on the whole platform.

The dialog computes its consequence; the toasts know what undo is
Record payment
BKG-7QP2K4M9 · Marchetti Group
Payment being added$18,900.00
Balance after$1,600.00 $22,700.00
Recording this opens SV 1024 for issue.
Payment recorded.Undo
4 tickets issued.View
The supplier refused the release.never expires

The reasoning, kept

01 / the boundary

Four questions, in order. The first yes wins.

02 / dialog

It shows what it is about to do to the gate.

Recording a payment is the most common money action on the platform, and until now the person doing it had to know the gate arithmetic in their head. The consequence band recomputes live as the amount changes, so the decision is made looking at its own result.

03 / sheet

The record stays readable behind it.

436 pixels, from the right, at the panel duration of 180ms. It never dims the page, because dimming would defeat the reason it is a sheet. It edits one section and it says which section in its title, so a sheet is never a second form page in disguise.

04 / confirm

It shows the loss, computed, before the word yes.

A confirm is not a dialog with a scary colour. It is the surface for something that cannot be undone, and its job is to replace the word "sure?" with an arithmetic. Cancelling this booking costs a real number, and the person clicking should see that number rather than be asked to be brave.

05 / toast

What happened, and the way back.

Bottom left, above the pager, clear of the primary action which lives top right and clear of the right rail. Five seconds, one line, and an Undo whenever an undo genuinely exists. When it does not, the toast says what to do instead rather than offering a button that lies.

The test that keeps them apart

A dialog blocks because it asks a question with consequences, and answering it while scrolling something else is how a wrong number gets entered. A sheet does not block because the record behind it is the reference material: somebody editing a billing address is reading the rest of the profile while they do it. If a surface would be better if you could still see what is behind it, it is a sheet. If it would be worse, it is a dialog.

And a fifth that already exists

Popovers, from Lab 05: the filter, views and columns menus. They are anchored to their trigger, dismiss on any outside click, and never carry a decision with money in it. Nothing new here, but naming them stops somebody reaching for a dialog to hold a tick list.

Three things in that band that are not decoration

The hatched green segment is the payment being added, drawn on the same meter the booking page shows, so it is the same picture in both places. The struck-through $1,600.00 is the value that is about to stop being true, which is the cheapest possible way to say "this is a change and here is what it was". And the sentence about the next item is the only one a person actually needs, because "can I issue the flight now" is the reason they are recording the payment at all.

Why the currency is locked and says so in the sheet

The field is dashed and dimmed with its reason underneath, using the disabled treatment from Lab 08 rather than a new one. A sheet is where a person discovers what they may not change, and the discovery has to happen in the sheet rather than after pressing save, because a save that fails on a rule nobody mentioned is the most annoying event in software.

Typing the reference is reserved, and this is the whole list

Cancel a booking, archive a customer with live trips, revoke a credit release, and delete a tenant. Four actions. Everywhere else a confirm is one button, because typing a reference for something recoverable trains people to type references without reading, which destroys the protection on the four that need it.

The destructive button is red and it is the only red button on the platform

Every other primary action is solid ink. Red is spent here and on the exposure tick and on a margin below its floor, and nowhere else, so the three times it appears it still means something.

What this lab asked

  1. Typing the reference on four actions only. Cancel a booking, archive a customer with live trips, revoke a credit release, delete a tenant. If the list grows the protection weakens, because people learn to type references without reading. If you want a fifth, tell me which and I would want to drop one.
  2. Five seconds on a success toast, and never on a failure. Five is long enough to read one line and short enough not to sit in the way. The alternative some teams prefer is that everything waits to be dismissed, which is safer and, on a screen somebody uses for nine hours, considerably more annoying.
The original document, in its own chrome and drawings, is kept unedited: open the original.
Tripbooks Design SystemBuilt on Untitled UI · Inter for language, IBM Plex Mono for every figureLight and dark from the same tokens