1.9 KiB
1.9 KiB
Mobile Fullscreen Round Flow
This document is the interaction contract for the TikTok-style round flow.
Entry
- App opens directly into the round experience in
Demomode by default. - Demo mode must not require account creation or login.
- Demo mode must not rely on backend round selection or reveal transitions.
Demo Assets
- Preview clip:
example-round.mov - Reveal clip:
example-reveal.mov - On iOS these files are bundled into the app and used locally.
Round Flow
- Start fullscreen preview playback immediately.
- Show the event prompt at the top, driven by event type or
questionKey. - Show a shrinking half-circle timer based on the preview clip duration.
- Allow swipe anywhere on the screen while preview is active.
- Use Tinder directions: right swipe = first/yes outcome left swipe = second/no outcome
- When dragging, tint the side being chosen: right side = green left side = red
- Do not show bottom swipe buttons or button-like selection panels during preview.
- After selection, do not jump ahead in the preview clip.
- Instead, keep playing the current preview clip at accelerated speed.
- Only when the preview clip finishes should reveal playback start.
- Reveal playback uses the reveal clip and then transitions into the result state.
Locking
- If the timer reaches zero before a selection, freeze the current preview frame.
- Locked-without-selection must not auto-reveal.
- In demo mode, selection acceptance is local.
- In live mode, selection still goes through backend acceptance.
Android Follow-Up
Android should match the iOS behavior exactly:
- direct demo-mode entry
- no backend dependency in demo mode
- fullscreen preview surface
- timer derived from preview clip length
- side tint feedback instead of bottom buttons
- accelerated preview continuation after selection
- reveal starts only after the preview clip actually ends