[Feature] Presentation mode has no visible exit, slide position or controls #607

Closed
opened 2026-07-22 16:19:52 +00:00 by brenno · 2 comments
Owner

Found in the pre-publication first-run review.

Reproduce: open a deck, click the play icon in the top bar, move the mouse including to the edges, then click past the last slide.

What happens: full screen with no controls at all — no slide number, no previous/next, no close button, and moving the mouse reveals nothing. Nowhere is it stated that Esc works. The presentation also starts on the selected slide rather than slide 1. After the last slide an unannounced dialog appears with total time and per-slide times.

Why this matters now: the scenario is a room with an audience and a projector that is working. Someone presenting for the first time has to guess how to get out, and is then handed a timing report that looks like the app grading their performance. That is the moment people go back to Keynote — and it happens at the point of maximum stress, in front of other people.

Proposal: on mouse movement, show a minimal bar for three seconds with the slide number, arrows and a close button. Put the rehearsal summary behind a button or a setting rather than showing it automatically. Consider starting at slide 1 unless the user explicitly chose "present from here".

Found in the pre-publication first-run review. **Reproduce:** open a deck, click the play icon in the top bar, move the mouse including to the edges, then click past the last slide. **What happens:** full screen with no controls at all — no slide number, no previous/next, no close button, and moving the mouse reveals nothing. Nowhere is it stated that Esc works. The presentation also starts on the *selected* slide rather than slide 1. After the last slide an unannounced dialog appears with total time and per-slide times. **Why this matters now:** the scenario is a room with an audience and a projector that is working. Someone presenting for the first time has to guess how to get out, and is then handed a timing report that looks like the app grading their performance. That is the moment people go back to Keynote — and it happens at the point of maximum stress, in front of other people. **Proposal:** on mouse movement, show a minimal bar for three seconds with the slide number, arrows and a close button. Put the rehearsal summary behind a button or a setting rather than showing it automatically. Consider starting at slide 1 unless the user explicitly chose "present from here".
Author
Owner

Het eerste en grootste deel is opgelost in PR #691, op main. Het issue blijft open voor de twee andere, want dat zijn keuzes en geen gebreken.

De balk staat er, precies als tussenweg zoals je voorstelde: muisbeweging → drie seconden een smalle balk onderin met waar je bent, een pijl elke kant op, en een sluitknop die Escape bij naam noemt. Daarna weg. Verborgen tenzij je hem zoekt is hier het punt en geen zuinigheid — een projectiebeeld hoort geen permanente knoppen te dragen, want die staan straks op elke foto van de zaal.

De knoppen dragen hun naam via IconButton(tooltip:) en niet via een Tooltip eromheen. Dat verschil is #586, en het zou hier extra pijnlijk zijn geweest: dit ís de uitknop.

De test dekt alle drie de toestanden, waarvan weg na drie seconden de belangrijkste is — een balk die blijft staan is precies de fout die dit ontwerp vermijdt.

Wat er niet in zit, en waarom niet:

  • "Zet de repetitiesamenvatting achter een knop of een instelling." Die instelling bestaat alPresentatie-eigenschappen → toon tijdsoverzicht, per deck, en een play-only deck toont hem sowieso nooit. Wat je voorstelt is dus feitelijk: zet de standaard op uit. Dat is een productkeuze die gedrag voor iedereen verandert.
  • "Begin bij dia 1 tenzij de gebruiker 'presenteer vanaf hier' koos." Ook een keuze, met een reëel tegenargument: wie tijdens het maken op dia 12 werkt en op play drukt, wil vaak juist dáár beginnen. Dit vraagt twee ingangen, en dat is ontwerpwerk.

Zeg wat je wilt en ik bouw het; ik leg het niet onderweg zelf vast.

Het eerste en grootste deel is opgelost in PR #691, op main. **Het issue blijft open** voor de twee andere, want dat zijn keuzes en geen gebreken. **De balk staat er**, precies als tussenweg zoals je voorstelde: muisbeweging → drie seconden een smalle balk onderin met waar je bent, een pijl elke kant op, en een sluitknop die Escape bij naam noemt. Daarna weg. Verborgen tenzij je hem zoekt is hier het punt en geen zuinigheid — een projectiebeeld hoort geen permanente knoppen te dragen, want die staan straks op elke foto van de zaal. De knoppen dragen hun naam via `IconButton(tooltip:)` en niet via een `Tooltip` eromheen. Dat verschil is #586, en het zou hier extra pijnlijk zijn geweest: dit ís de uitknop. De test dekt alle drie de toestanden, waarvan **weg na drie seconden** de belangrijkste is — een balk die blijft staan is precies de fout die dit ontwerp vermijdt. **Wat er niet in zit, en waarom niet:** - *"Zet de repetitiesamenvatting achter een knop of een instelling."* Die instelling **bestaat al** — *Presentatie-eigenschappen → toon tijdsoverzicht*, per deck, en een play-only deck toont hem sowieso nooit. Wat je voorstelt is dus feitelijk: zet de standaard op uit. Dat is een productkeuze die gedrag voor iedereen verandert. - *"Begin bij dia 1 tenzij de gebruiker 'presenteer vanaf hier' koos."* Ook een keuze, met een reëel tegenargument: wie tijdens het maken op dia 12 werkt en op play drukt, wil vaak juist dáár beginnen. Dit vraagt twee ingangen, en dat is ontwerpwerk. Zeg wat je wilt en ik bouw het; ik leg het niet onderweg zelf vast.
Author
Owner

Volledig opgelost in PR #711, op main. Daarmee is dit issue rond — de bedieningsbalk zat al in #691, en dit zijn de twee resterende keuzes.

Start bij dia 1. De startknop gebruikt fromStart: true; wie ergens anders wil beginnen kiest Presenteer vanaf hier in het contextmenu van de dia, dat de dia selecteert en op de selectie start.

Samenvatting standaard uit. Deck.showRehearsalSummary van true naar false, met de per-deck instelling intact. Het bestandsformaat is consistent meegegaan: de serializer schreef de sleutel hardgecodeerd op de oude standaard (: false bij opt-out) en schrijft nu alleen de opt-in (: true), met de parser-standaard mee omlaag. Oude decks droegen nooit : true — dat wás de oude standaard en werd dus nooit weggeschreven — dus er gaat geen opgeslagen keuze verloren.

Onderweg opgeruimd: de twee bijna woordelijk dubbele SlideThumbnail-constructies in de diastrook zijn samengetrokken. Dat loste het klasseplafond op én was de reden dat de nieuwe callback maar op één plek toegevoegd hoefde te worden — precies het soort duplicatie waar een vergeten callback in verdwijnt.

Volledig opgelost in PR #711, op main. Daarmee is dit issue rond — de bedieningsbalk zat al in #691, en dit zijn de twee resterende keuzes. **Start bij dia 1.** De startknop gebruikt `fromStart: true`; wie ergens anders wil beginnen kiest *Presenteer vanaf hier* in het contextmenu van de dia, dat de dia selecteert en op de selectie start. **Samenvatting standaard uit.** `Deck.showRehearsalSummary` van `true` naar `false`, met de per-deck instelling intact. Het bestandsformaat is consistent meegegaan: de serializer schreef de sleutel hardgecodeerd op de oude standaard (`: false` bij opt-out) en schrijft nu alleen de opt-in (`: true`), met de parser-standaard mee omlaag. Oude decks droegen nooit `: true` — dat wás de oude standaard en werd dus nooit weggeschreven — dus er gaat geen opgeslagen keuze verloren. **Onderweg opgeruimd:** de twee bijna woordelijk dubbele `SlideThumbnail`-constructies in de diastrook zijn samengetrokken. Dat loste het klasseplafond op én was de reden dat de nieuwe callback maar op één plek toegevoegd hoefde te worden — precies het soort duplicatie waar een vergeten callback in verdwijnt.
Sign in to join this conversation.
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set

Reference
LibreKAT/Ocideck#607
No description provided.