Speculative mockups · 13 Oct 2026 · a series, not a plan

Screens — eleven ways to show what was on the shared screen

Companion to docs/design-screens-lens.md and docs/mockups/screens-lens.html. Each frame is one idea, marked by how much evidence is under it: grounded measured on real sessions or shipped elsewhere, plausible follows from the prior art, speculative needs something nobody has measured. Everything shown is invented: a kettle shop, six sessions, participant codes only, wireframe stand-ins for stills.

Palette Appearance
Artefact: what would shipCommentary: why, and what it rests on

    1Grounded sections: the screen beside the section

    Not a new lens. The Quotes lens's sections, which the pipeline already infers from speech, each gain the screens they were said on, and a quote said somewhere else says so.

     /report/quotes/ · Sectionsgrounded

    The smallest step that uses the data, and the answer to open question 1 in the design doc. Measured on two real sessions: 14 of 17 and 12 of 15 section quotes were said on the section's most common page, so the strip is right most of the time; the orange "said on" marks the rest, which were usually a remark about the previous page made on the next one. Nothing new to learn: a section already exists, a quote card already exists.

    2Swimlanes: every session's screens on one axis

    One row per participant, one colour per screen, quotes as dots above the row. Click a dot.

     /report/screens/?layout=lanesgrounded

    Screens

    time from the start of each share
    Click a dot to read the quote.

    The prior-art survey's recommended small-sample form (swimlanes; Fluxicon's milestone view; CoreFlow's raw-sequence access) and the Sessions timeline's own idiom. It shows what a flow diagram cannot: how long, in what rhythm, and where the talking happened. "Share length" stretches each row to the same width, which lines up the ends of tasks rather than the clock.

    3Participant tree: where people diverged

    Every path from the first screen, merged where it is shared, forked where it is not. Nodes count participants. A screen seen again appears again, further along.

     /report/screens/?layout=treeplausible

    LifeFlow/CoreFlow prefix trees and Treejack's pietree, both counting people. Unlike a flow graph it cannot invent a loop: a return to the basket is a second basket node on that branch, not an arrow back (van der Aalst's warning about directly-follows graphs). At n = 6 it has at most six leaves. It grows wide with long sessions; folding branches after the first divergence is the obvious control.

    4Transition matrix: from here, people went to…

    Rows are where people were, columns where they went next. Each cell counts participants. Outlined cells go backwards.

     /report/screens/?layout=matrixplausible

    MatrixWave's finding: people made fewer errors reading transitions from a matrix than from a Sankey, and preferred it. It scales to twenty screens without edges crossing. It is the least friendly for a first look, and the best for "who went from Delivery back to Basket?" — click-through to those participants' moments would be the point of it.

    5Expected path: direct, indirect, unfinished — and lost or exploring?

    The discussion guide's tasks supply the route the researcher expected. Each participant's actual route is scored, and where the score says "lost", what they said decides it.

     /report/screens/?view=tasksplausible

    Maze's direct / indirect / unfinished, and Smith's lostness (1996): √((N/S − 1)² + (R/N − 1)²) over screens visited S, unique screens N and the minimum R; above 0.5 reads as lost. Smith's own follow-up found a participant above 0.5 who was exploring, not lost — which is exactly what the quote under each flagged row is for. Needs the guide's tasks mapped to screens, which the Discussion lens's guide could supply; the mapping itself is the unbuilt part.

    6First seconds: every arrival on one screen, lined up

    Each participant's first visit to the Basket, aligned at the moment they arrived. Dialogs are orange; quotes are dots, placed by seconds since arrival.

     /report/screens/basket/?align=arrivalspeculative

    Nothing in the survey does this; it comes from first-click testing and the "five-second test", turned into a view of real sessions. It answers "what happened in the first moments on this screen", which is when a dialog, a missing price or a misleading label bites. It needs dialog states to be known (the spike could not detect them; see #8) and arrival times good to about the 4-second sampling interval.

    7Speech against screen, for one session

    Above the line, the sections the transcript was split into. Below, the screens actually shown. Where they disagree is marked.

     /report/sessions/s2/ · Screen and speechgrounded
    Click an orange quote.

    The measured gap, made visible: speech-detected screen changes caught 2 of 8 page transitions in one real session, and a fifth of section quotes were said on a different page. Ticks under the screens track are screen changes the transcript never marked. This belongs on a session, not the Screens lens: it is a check on the analysis, and the place a researcher would correct a misfiled quote.

    8Mark a dialog once, find it everywhere

    The researcher draws round a dialog on one still and names it. Bristlenose finds the other times the same text appeared in the same place.

     /report/screens/basket/ · Mark a statespeculative

    The spike's automatic dialog detection found 9 of 21 and 4 of 14. But dialogs recur (one came back five times in a session), and a template of words at fixed places — UiPath's method — is good at finding this dialog again once someone has said what it is. Human-seeded, machine-propagated, every match confirmed: the near-miss (another dialog in the same place) is offered unchecked. Unmeasured: how often the template finds the right ones.

    9A screens lane in the Sessions timeline

    The timeline under each Sessions row gains one lane: which screen was up. Hover names it; click opens Screens at that screen.

     /report/sessions/ · timelineplausible

    The scene colours already on that timeline say "the screen changed", not "to what". A named lane does both and ties the two lenses together. Cheap once screens exist. The catch is the export: the timeline is embedded in the HTML export and screen names are screen text, so this lane would have to be dropped from the exported copy (it would ride its own server-only route).

    10Corrections as suggestions, and the screen you shouldn't see

    The derivation proposes merges it was unsure about. A screen seen once, on another site, is hidden and counted.

     /report/screens/ · Review screensgrounded

    Every method mis-merges or over-splits; thresholds don't transfer between products (ICSE 2020). So the uncertain cases become a short review list rather than a silent decision. All three suggestions here are cases the spike met: loading frames, a URL changing before the page, product pages that are one template. The hidden screen is the privacy default from §7 of the design doc: the participant's own inbox should not be a card with a thumbnail.

    11Two locales of one site, aligned by address

    Sessions run on the German and UK sites, matched by the shape of the URL rather than the words on the page.

     /report/screens/?compare=localespeculative

    Measured on two real sessions in two languages: with the locale prefix dropped, six page types and four transitions lined up, where on-screen text shares almost nothing. A multi-market study is the case a researcher can least do by hand. Speculative because two sessions prove the alignment, not that the comparison is useful; and screens a locale has that the other lacks (a planner, a search page) must read as absent, not as zero.