TV Search UX
Overview
Treat search as a state machine, not a single text input. Optimize for remote latency, IME variability, and low-typing interaction.
Search State Model
- •
IDLE: no query, show history/trending. - •
KEYBOARD_OPEN: OSK active; focus ownership clearly defined. - •
TYPING: remote key entry in progress. - •
LOADING: request in-flight with cancellable stale queries. - •
RESULTS: ranked rows with deterministic focus defaults. - •
ERROR: actionable recovery with focus-safe retry.
Workflow
- •Define keyboard open/close transitions and focus restore targets.
- •Tune debounce for remote input cadence, not desktop keyboard speed.
- •Prioritize suggestions/history to reduce full query entry.
- •Add hooks for voice intent injection into the same query pipeline.
- •Preserve search context across suspend/resume.
Reliability Rules
- •Cancel stale requests on new query.
- •Keep Back behavior deterministic: close keyboard, then leave search route.
- •Never drop focus on async result refresh.
Validation Checklist
- •Query latency feedback is visible without jitter.
- •Suggestion accept path needs minimal key presses.
- •IME/OSK transitions never trap focus.
References
- •Use
references/search-state-machine.mdfor transition table and event contract.