Mockup · sidebar status line · iteration 3 · proposal for the owner to judge

One line, several jobs: when it holds, when it rolls

The sidebar row has one subtitle line. This page specifies a line that can roll between several things that are true at once, and lets you watch eight real situations play out. Nothing here is wired to the app.

Plain panel = the drawn sidebar row, what would shipHatched panel = commentary, never shipsScenario catalogue ↓Free-play bench ↓
Commentary · the rules

The idea in two tiers

Every state that can appear on the line is flagged holds or rolls. If anything that holds is true, it owns the line, exactly as today. If nothing holds, the line rolls between the states that roll.

The rules, and when each is triggered

#RuleTriggered whenSee card
R1Holders first. If any active state is flagged holds, the highest-ranked holder owns the line, fixed. Nothing rolls, and the rest wait in the tooltip. A holder beats a roller even where today's order ranks the roller higher (an acknowledgement must be seen).An error-kind state, a gesture acknowledgement (adding, exporting), a run in flight, a copy with its cancel ring, a queued, stopped or partial run.3, 4, 5
R2Rollers roll. With no holder present and two or three rolls states, the line rolls between them in rank order.Screens with Signals; a warning or info beside progress; the cloud batch beside either.1, 2
R3Cap of three. More than three rollers: the top-ranked one holds and the rest are in the tooltip. Rolling resumes when the count falls to three. (At 5 s, three lines is already a 15 s cycle.)A fourth long state appears.6
R4Entry and exit. When a state starts, the line moves at once to the top-ranked state, one roll. When the state on screen ends, the line moves once to a survivor. When a state that is not on screen ends, nothing moves. A change of text inside a state (3 of 40 to 4 of 40) never rolls.Any state starting or ending.1, 7
R5Dwell and pause. 5 s per line, a 0.32 s roll. Hovering the row pauses the roll; after about a second the tooltip lists every state running, in full, in rank order. Moving away starts a full dwell.Always while rolling.all
R62 s floor. A state that starts stays visible for at least 2 s, even if it ends sooner (the floor the gesture acknowledgements already have).A short job: Signals on a small study.4, 7
R7Glyph, door and ring travel with their line. A warning or info glyph is part of its line and rolls with it. The ring belongs to the run, which holds, so a rolling row never has one. The glyph still opens its popover; hover pauses, so the click lands. Keyboard and VoiceOver reach it through the row's actions, not the moving line.A warning or info state is on screen.2
R8Reduce Motion. No roll and no shimmer: the top-ranked state holds and changes by cut. The tooltip and lens rows carry the rest. (Apple's guidance would allow a dissolve; owner call.)The system setting is on.8
R9Quiet. No count and no "finished" message: the lens row changing state is the confirmation. The row's accessibility value lists every state once and never changes on a roll. VoiceOver speaks a state when it starts, never on a roll or a finish.Always.1, bench log

Which states hold and which roll

State (shipped wording)KindPolicyWhy
Folder can't be found · Run failed · Can't be reached · Report out of date · a study that couldn't starterrorholdsG1: the project is unusable or the report is wrong. Displaces everything.
Analysing · N of M · ~1 min left · Stopping… · Queued · Stopped · Transcribedactivity / infoholdsG3: the verb-led run ladder owns the ring and the shimmer; Stopped, Queued and Transcribed are the researcher's own act or queue. Owner call for the last three.
Adding N interviews… · Exporting… · Copying · N% · Cancelling…acknowledgementholdsG2: a gesture answer that lives under one cycle, or carries a cancel ring.
Screens · N of MactivityrollsLong-lived, not started by a gesture, cannot be stopped.
Picking up Signals…activityrollsSame. Shimmers once settled.
3 of 4 (cloud batch)activityrollsLong-lived, no per-row control. Owner call.
Partial completion · Report couldn't be shown · N missingwarningrollsYour rule: visible within one dwell, glyph and door travel. Owner call for the report crash, which has the only door to its stack.
+N unanalysedinforollsQuiet news; never holds over progress.

When someone adds a new state, ask in this order. G1: does it make the project unusable or the report wrong? Holds. G2: did the researcher just press something and wait for an answer, or will it live under one cycle (about 15 s)? Holds. G3: does it carry a control on the row (a ring with cancel, a stop), or is it a run's verb ladder? Holds. Otherwise, if it is long-lived and ambient, it rolls. When unsure, it holds, because that is today's behaviour and cannot be worse than now. In code this is an exhaustive switch with no default, next to glyphKind, so a new variant cannot compile without the decision, and a table test pins every row.

Scenario catalogue

Eight situations, each playing a short script on a loop (the frame bar shows the time and the rule in force). Hover a row to pause it and see the tooltip. Strings are shipped English or German; "Picking up Signals…" is the owner's draft. Glyphs and the lens rows are stand-ins; German "Signale werden vorbereitet…" is the readiness doc's example and the German run ladder is a stand-in.

Commentary · evidence, communication risks, costs

Communication risks, and the rule that answers each

RiskAnswerStatus
A warning or error rolls away, or progress hides under it unseenErrors hold (R1). Warnings roll, so nothing is hidden for more than one dwell (R2). Hover lists everything (R5).decided (owner's rule)
A moving glyph is a moving click targetThe glyph travels with its line, hover pauses, and the popover is also reachable from the row's context menu and accessibility actions (R7).owner call; needs a hand check
Nothing says something else is runningNo count (owner). The tooltip lists it, and the lens rows show the effect (R5, R9).decided
"Is it finished?"No message. The roll settles, the lens row turns available, VoiceOver stays silent (R4, R9).owner call
The line reads as a promiseRolling lines are present-tense activity or a count of work done, never an ETA. The ETA ladder holds and is the run's (R1).decided
A truncated line sits on screen 5 s (German)Hover pauses and shows the full text (R5). The shorter German phrase is still an open item in the readiness doc.partly open
Roll and shimmer togetherThe shimmer starts once the line has settled.owner call
A status that flashes2 s floor (R6).decided in principle
The ticker creepsCap of three (R3).owner call
VoiceOver hears the rollStatic value, speak at start only (R9).owner call; hand check
Reduce Motion loses informationTop-ranked holds; tooltip and lens rows carry the rest (R8).owner call
A second window shows a different statusAccepted: the Signals status is window-scoped (readiness decision 1).decided

Prior art: what I could and could not verify

Statuses: fetched = read this session; excerpt = only a search excerpt; none = nothing found. I found no shipping product that rolls between concurrent jobs in one status line. The verified convention is one ambient line plus a separate place that lists everything.

ProductWhat it does with several tasksSourceStatus
Xcode activity viewShows progress of executing tasks, status messages and indicators. Silent on several at once: no cycling, count or expanding stated. I half remember a stack or cycle but did not verify it.Xcode helpfetched, silent
Mail (Mac)An Activity window to monitor progress; a few activities at the bottom of the sidebar (downloading, a large download paused to save battery, with resume); account offline at the end of the Favorites bar. Silent on several at once.Mail help; forumfetched / excerpt
Photos (Mac)One status area: item count, last update, Pause/Resume, a count of items that could not sync with a View door. No rotation described.Apple Supportexcerpt
HIG, Progress indicatorsSilent on concurrency. Keep indicators moving; avoid labelling a spinner on macOS; be accurate and succinct.HIGfetched
HIG, MotionGratuitous motion distracts; avoid motion on frequent interactions; make motion optional.HIGfetched
Apple, reduced-motion criteriaDecorative motion stops; motion that carries a status change is replaced by something like a dissolve, a highlight fade or a colour shift, not removed.App Store Connect Helpfetched
WCAG 2.2.2 Pause, Stop, HideAuto-updating information that starts by itself beside other content needs a way to pause, stop or hide it, unless essential. Hover-to-pause alone is mouse-only.W3Cfetched
GitHub checks, Time Machine, Finder copy, Safari downloads, Music, iOS Mail, Linear, SlackNothing usable found. Not claimed either way.n/anone

What the repo already says

Costs and a native version

The owner decides.

Free-play bench

Same engine as the catalogue, with job toggles. Frame "a" is today's single-winner line; "b" is the roll under the rules above. Toggle a job off to finish it; the floor and the roll rules apply.

Other variant (crossfade): not chosen, kept for the record