ScreenRoom tvOS architecture and focus
ScreenRoom is a television-first streaming product with an iPhone companion. It treats focus, playback lifetime, account state, access, and progress as durable product concerns rather than details of a player screen.
Product decision
How should route state, focus restoration, shelves, remote input, and profiles cooperate?
The smallest useful vertical slice is concrete: Represent catalog selection and preferred focus explicitly so a shelf can restore a meaningful item after navigation or data refresh.
Boundaries that keep the design honest
- Model catalog, profile, entitlement, playback intent, and progress separately so each lifecycle can fail and recover visibly.
- Make focus and remote interaction deterministic across navigation, refreshed shelves, overlays, and profile changes.
- Keep the player in a stable coordinator and persist progress from meaningful playback events.
- Validate poor networks, subtitle and accessibility behavior, account transitions, StoreKit state, and television hardware before release.
- Avoid this failure: Treating focus as a hover decoration rather than the primary television interaction state.
Release evidence
No ScreenRoom tvOS or iOS target, focus journey, AVPlayer session, media stream, StoreKit transaction, download, remote command, subtitle track, or Apple TV device run was exercised.
This chapter records product and architecture decisions. Apple framework behavior still requires the matching Xcode target, configured service or account where applicable, and named Simulator or physical-device evidence. The browser Swift runner does not validate these Apple SDK surfaces.
Series navigation
- Previous: Part 123: ScreenRoom product and content model
- Next: Part 125: ScreenRoom playback and media lifecycle
- Series index: Zero to iOS Hero