Each row is something you can right-click in the Mac app. Today every report link offers WebKit's generic link menu, and its Open Link in New Window lands in the video player's window. Proposed (docs/design-webview-context-menu.md §9, 24 Oct 2026): the first item is what a single click does, then the same in a new window, then the other useful action. A blue timecode plays and a speaker badge shows the transcript, so every moment offers both the recording and the transcript. Labels say exactly what happens. Reload Report stays on page menus only, as Safari does.
1Quotes — card timecode
Blue [12:34]. A click plays the recording at that moment.
Today — WebKit's default
Delivery costs
[12:34]
“I wanted to see the delivery cost before I typed my card number, not after.”
p3Dana
frustration
[05:01]
“Free delivery over thirty pounds, fine, but tell me on the basket.”
p5Sam
Open Link
Open Link in New Window
Download Linked File
Copy Link
Share…
Reload Report
Proposed
Delivery costs
[12:34]
“I wanted to see the delivery cost before I typed my card number, not after.”
p3Dana
frustration
[05:01]
“Free delivery over thirty pounds, fine, but tell me on the basket.”
p5Sam
Play
Show in Transcript
Open Transcript in New Window
CommentaryToday Open Link in New Window opens the Quotes lens at the top, in the Video Player window, and closes any playing clip. Proposed the click first (D10: a blue timecode plays), then the transcript at the moment, here or parked in a new window; that window starts playing in its own player (D1). Same menu on every blue timecode that plays: Discussion and Screens cards, the dashboard, the Screens version time.
2Quotes — speaker badge
<a href="/report/sessions/s3#t-754">. A click shows Dana's transcript at 12:34.
Today — WebKit's default
Delivery costs
[12:34]
“I wanted to see the delivery cost before I typed my card number, not after.”
p3Dana
frustration
[05:01]
“Free delivery over thirty pounds, fine, but tell me on the basket.”
p5Sam
Open Link
Open Link in New Window
Download Linked File
Copy Link
Share…
Reload Report
Proposed
Delivery costs
[12:34]
“I wanted to see the delivery cost before I typed my card number, not after.”
p3Dana
frustration
[05:01]
“Free delivery over thirty pounds, fine, but tell me on the basket.”
p5Sam
Show in Transcript
Open Transcript in New Window
CommentaryProposed the badge is that person and their whole conversation, at the moment (D10, D11). No Play on a person: the timecode beside it plays. Same on the Discussion moderator badge.
3Quotes — the card itself
Right-click the quote text, not a link (D12).
Today — WebKit's default
Delivery costs
[12:34]
“I wanted to see the delivery cost before I typed my card number, not after.”
p3Dana
frustration
[05:01]
“Free delivery over thirty pounds, fine, but tell me on the basket.”
p5Sam
Proposed
Delivery costs
[12:34]
“I wanted to see the delivery cost before I typed my card number, not after.”
p3Dana
frustration
[05:01]
“Free delivery over thirty pounds, fine, but tell me on the basket.”
p5Sam
Star
Hide
Add Tag…
Show in Transcript
Open Transcript in New Window
Copy Quote
CommentaryToday the page menu. Proposed the card's own commands, the ones the Quotes menu already holds, as Mail's message menu does. A card click selects rather than acts, so there is no lead item. Star reads Unstar on a starred card; with several cards selected the menu acts on the selection, as the Quotes menu does (Star 3 Quotes).
4Transcript — paragraph timecode
Blue [12:34] on Dana's transcript. A click plays.
Today — WebKit's default
[12:21]
m1Alex
And what were you looking for at that point?
[12:34]
p3Dana
I wanted to see the delivery cost before I typed my card number, not after. That's when I'd normally bail.
[12:59]
m1Alex
So you'd have left there?
Open Link
Open Link in New Window
Download Linked File
Copy Link
Share…
Reload Report
Proposed
[12:21]
m1Alex
And what were you looking for at that point?
[12:34]
p3Dana
I wanted to see the delivery cost before I typed my card number, not after. That's when I'd normally bail.
[12:59]
m1Alex
So you'd have left there?
Play
Open Transcript in New Window
CommentaryShow in Transcript is left out: you are in it. The new window is a second view of this transcript at 12:34, playing in its own player.
5Sessions — #N
<a href="/report/sessions/s3">. A click opens the session's transcript.
Today — WebKit's default
p3Dana
m1Alex
14 Oct 10:02
Open Link
Open Link in New Window
Download Linked File
Copy Link
Share…
Reload Report
Proposed
p3Dana
m1Alex
14 Oct 10:02
Open Transcript
Open Transcript in New Window
Play
CommentaryOpen, not Show: the click opens the session's transcript itself, at the top (D4). Play is the recording from the start.
6Sessions — thumbnail
<img src="/report/assets/thumbnails/s3.jpg">. A click plays from 0:00.
Today — WebKit's default
p3Dana
m1Alex
14 Oct 10:02
Open Image in New Window
Download Image
Copy Image
Copy Subject
Look Up
Share…
Reload Report
Proposed
p3Dana
m1Alex
14 Oct 10:02
Play
Open Transcript
Open Transcript in New Window
Copy Image
Copy Subject
Look Up
Share…
CommentaryToday Open Image in New Window replaces the playing clip with the bare JPEG; Download Image does nothing. Proposed the filename's menu, then the image items. Copy Subject and Look Up stay for now (D2); the review would drop them here, where they are WebKit's leftovers, which leaves Copy Image · Share….
7Signals — expanded-quote timecode
Blue [12:34]. Today a click shows the transcript (the report reloads).
Today — WebKit's default
frustration · 4 quotes
[12:34]
I wanted to see the delivery cost before I typed my card number. p3Dana
Open Link
Open Link in New Window
Download Linked File
Copy Link
Share…
Reload Report
Proposed
frustration · 4 quotes
[12:34]
I wanted to see the delivery cost before I typed my card number. p3Dana
Play
Show in Transcript
Open Transcript in New Window
CommentaryRecommended, awaiting the owner. The timecode plays, as every blue timecode does (D10), and the card's badge becomes the transcript link it is on a quote card (§9.3). Same for the Codebooks threshold-review timecode, which also drops its target=_blank.
8Signals — location heading
<a href="#section-delivery-costs">. A click shows the section in Quotes.
Today — WebKit's default
Open Link
Open Link in New Window
Download Linked File
Copy Link
Share…
Reload Report
Proposed
Show in Quotes
Open Quotes in New Window
CommentaryToday the player window opens on Signals, since the href names the wrong lens. Proposed the place comes from the component, not the href (§4.2). Same on the dashboard's section links and the stat cards that name a section.
9Codebooks — author link
External https:// from the codebook's YAML.
Today — WebKit's default
Jesse James Garrett
Author of The Elements of User Experience, which divides a product into five planes from strategy to surface.
Open Link
Open Link in New Window
Download Linked File
Copy Link
Share…
Reload Report
Proposed
Jesse James Garrett
Author of The Elements of User Experience, which divides a product into five planes from strategy to surface.
CommentaryAs Safari, minus two: no Open Link in New Window (the click already goes to the browser; the item would open the page inside a Bristlenose window) and no Download Linked File (it does nothing). No Reload Report on a link (D6).
10Codebooks — navigator row
<a href="#">, a JS action, not a place.
Today — WebKit's default
Open Link
Open Link in New Window
Download Linked File
Copy Link
Share…
Reload Report
CommentaryNot a link to anything, so the page menu (D3, D6). Same for the hidden-quotes counter and the Sessions header's Reveal link.
11Screens — screengrab
<img src="data:image/jpeg…">
Today — WebKit's default
[12:34] “Tell me on the basket.”
Open Image in New Window
Download Image
Copy Image
Copy Subject
Look Up
Share…
Reload Report
Proposed
[12:34] “Tell me on the basket.”
Copy Image
Copy Subject
Look Up
Share…
CommentaryToday Open Image in New Window does nothing (the data: scheme is refused) and Download does nothing. A screengrab has no click action, so no lead item. On a custom board the Screens lens puts Tidy above these.
12Popout player — video
<video> in the player window, playing.
Today — WebKit's default
Open Video in New Window
Download Video
Copy Video Address
Hide Controls
Enter Full Screen
Enter Picture in Picture
Pause
Mute
Loop
Proposed
Pause
Mute
Enter Full Screen
Enter Picture in Picture
Hide Controls
CommentaryWebKit's media items here are its usual set, not measured in the probe. Proposed the click action first (Pause while playing, Play while paused), as QuickTime; Open, Download and Copy Video go (they do nothing or hand out a loopback address). Video ▸ Fullscreen in the menu bar becomes Enter Full Screen to match (D9).
Today
Video Player
[12:21]
m1Alex
And what were you looking for at that point?
[12:34]
p3Dana
I wanted to see the delivery cost before I typed my card number, not after. That's when I'd normally bail.
[12:59]
m1Alex
So you'd have left there?
Proposed
Checkout study — Sessions
Checkout study
Project
Sessions
Quotes
Codebooks
Signals
◀︎ ▶︎Session 3 · Dana
[12:21]
m1Alex
And what were you looking for at that point?
[12:34]
p3Dana
I wanted to see the delivery cost before I typed my card number, not after. That's when I'd normally bail.
[12:59]
m1Alex
So you'd have left there?
CommentaryToday the player's own 720×480 window, titled Video Player, holds the report with no toolbar, sidebar or lens rail; any playing clip closes; and, from reading the code, its route changes reach the main window's bridge (doc §2, a hand check owed). Proposed WindowSeed.fresh(project:, lens: sessions, place: .session("s3", 754)): a full window on the same project, the transcript scrolled to 12:34 and the paragraph highlighted as a deep link already does, playing in that window's own player (D1; one player per window, measured from code). The window chrome here is an approximation; the transcript inside it is the shipped CSS.