Skip to content
Back to skills

Smart Tv Platforms And 10 Foot Ui

ASecurity

Use when scoping or designing a TV app. Covers the platform matrix and who actually owns the living room (Roku, Samsung Tizen, LG webOS, Android TV/Google TV, Fire OS and Vega OS, tvOS, VIDAA, SmartCast), the two structural shifts in progress, the frozen-browser problem, why TV design is genuinely different, the 10-foot numbers and the standard layout vocabulary, focus as the architecture, spatial navigation, the remote, and text entry. Includes the router for the whole smart-tv-app-developme...

  • 2 stars
  • 0 votes
  • 0 copies
  • 1 view
  • Added September 19, 2026
ai-agentsgojavaswiftkotlinreactnextjsnodetestingapisecurity

Works with

  • cli
  • api

Security analysis

A100/100

Scanned September 19, 2026

npx -y skills add the-vibey-project/vibey --skill smart-tv-platforms-and-10-foot-ui --agent claude-code

Installs into .claude/skills of the current project.

Are you the author of Smart Tv Platforms And 10 Foot Ui?

Add the live security badge to your README. It updates with every re-scan.

Security grade badge for Smart Tv Platforms And 10 Foot Ui
[![Security: A — Skills Directory](https://www.skillsdirectory.com/api/skills/the-vibey-project-smart-tv-platforms-and-10-foot-ui/badge)](https://www.skillsdirectory.com/skills/the-vibey-project-smart-tv-platforms-and-10-foot-ui)

More formats (shields.io, HTML) on the badges page. Keep it an A: scan every change in CI with Pro.

Download with Pro
SKILL.md
---
name: smart-tv-platforms-and-10-foot-ui
description: "Use when scoping or designing a TV app. Covers the platform matrix and who actually owns the living room (Roku, Samsung Tizen, LG webOS, Android TV/Google TV, Fire OS and Vega OS, tvOS, VIDAA, SmartCast), the two structural shifts in progress, the frozen-browser problem, why TV design is genuinely different, the 10-foot numbers and the standard layout vocabulary, focus as the architecture, spatial navigation, the remote, and text entry. Includes the router for the whole smart-tv-app-development reference."
---

# Smart TV Apps: The Platform Landscape, the 10-Foot UI, and Focus and Input

> **Part 1 of 4** of the *Smart TV App Development* reference (plugin `smart-tv-app-development`), covering §0–§3. Sibling skills: `smart-tv-playback-drm-and-performance` (§4–§7), `smart-tv-monetization-certification-and-operations` (§8–§14), `smart-tv-reference` (§15–§20). Section numbers are shared across the set; a reference written as §N → `skill` points into that sibling skill.
>
> **Currency:** Verified August 2026. See §17 → `smart-tv-reference` for the currency snapshot and what goes stale first.

> **How to read this.** Reference, not tutorial. Sections are independent. Three markers:
> - **[DURABLE]** — human factors, hardware physics, or a lesson every TV platform has
>   independently arrived at. Does not expire.
> - **[PLATFORM]** — specific to Roku, Tizen, webOS, Android TV, Fire OS/Vega, or tvOS.
>   Verify against that vendor's current docs, which change annually with the model year.
> - **[CONTESTED]** — real disagreement about approach, usually because the trade-off
>   depends on your budget and platform mix.
>
> **⚠️ GOTCHA** boxes mark the mistakes that fail certification, get discovered only on a
> five-year-old TV in someone's living room, or quietly halve your completion rate.
>
> **The three framings that organize everything below:**
> 1. **You are writing for a 2015 phone bolted to a 2025 display.** TV silicon is
>    cost-optimized to the bone. Assume ~1–2 GB RAM, a weak CPU, and a GPU that exists
>    mostly to composite video. Your desktop intuitions about performance are wrong by an
>    order of magnitude.
> 2. **The remote has a D-pad, and that is the entire input model.** No pointer, no touch,
>    no hover, no keyboard. Every interaction is up/down/left/right/OK/back. Focus
>    management is not a detail — it *is* the UI architecture.
> 3. **The platform owner is your distributor, your competitor, and your ad network.**
>    Certification is a gate they control, discovery placement is inventory they sell, and
>    on most platforms they take a cut of your revenue. This is a commercial relationship
>    wearing an SDK.

---

## §0. Routing

### 0.1 The platform matrix

**[PLATFORM/VERSIONED — the single most important table in this document.]**

| Platform | Language / model | UI framework | Notes |
|---|---|---|---|
| **Roku OS** | **BrightScript** (proprietary, BASIC-like, dynamically typed, single-threaded interpreter) | **SceneGraph** (XML scene graph) | **No browser engine. No HTML/CSS/JS.** A wholly separate discipline |
| **Samsung Tizen** | **HTML/CSS/JS web app** | Your own / any web framework | Runs in a **model-year-frozen Chromium**. See §1.3 — this is the defining constraint |
| **LG webOS** | **HTML/CSS/JS web app** | Your own / **Enact** (React-based) | Same frozen-engine problem as Tizen |
| **Android TV / Google TV** | **Kotlin/Java** (or Compose for TV) | Leanback / **Jetpack Compose for TV** | Real native media stack (**Media3/ExoPlayer**), Widevine L1 |
| **Amazon Fire OS** | Android (AOSP fork) — Kotlin/Java | Leanback/Compose | ⚠️ Being **replaced** — see below |
| **Amazon Vega OS** | **React Native 0.72** or web (**Vega WebView**) | React Native for Vega | ⚠️ **Linux-based, NOT Android. APKs do not run.** New packaging (VPKG) |
| **Apple tvOS** | **Swift** (SwiftUI/UIKit) or **TVML/TVMLKit** | SwiftUI for TV | The most consistent hardware; smallest US share |
| **VIDAA** (Hisense), **whaleOS**, **webOS Hub**, **VIZIO SmartCast**, **Xumo**, **Titan OS** | Mostly web apps | varies | The long tail. Each is its own certification and QA burden |

**[DURABLE] There are three programming models, not eight**: **web apps** (Tizen, webOS,
VIDAA, most of the long tail, Vega WebView), **Android/Kotlin** (Android TV, Google TV,
Fire OS), and **proprietary** (Roku BrightScript, tvOS Swift, Vega React Native). Your
cross-platform strategy (§13 → `smart-tv-monetization-certification-and-operations`) is really a decision about how many of those three you're
willing to staff.

### 0.2 The question router

| Asked about... | Go to |
|---|---|
| Which platforms to target, market reality | §1 |
| The 10-foot UI, safe areas, typography, layout | §2 |
| Focus, spatial navigation, remote input | §3 |
| Video playback, HLS/DASH, ABR, players | §4 → `smart-tv-playback-drm-and-performance` |
| DRM and content protection | §5 → `smart-tv-playback-drm-and-performance` |
| Performance and memory on TV silicon | §6 → `smart-tv-playback-drm-and-performance` |
| App lifecycle, resume, deep linking, discovery feeds | §7 → `smart-tv-playback-drm-and-performance` |
| Monetization: subs, IAP, AVOD/FAST | §8 → `smart-tv-monetization-certification-and-operations` |
| CTV advertising: VAST, SSAI, ad pods, measurement | §9 → `smart-tv-monetization-certification-and-operations` |
| Certification and store submission | §10 → `smart-tv-monetization-certification-and-operations` |
| Testing on real devices | §11 → `smart-tv-monetization-certification-and-operations` |
| Analytics and QoE | §12 → `smart-tv-monetization-certification-and-operations` |
| Cross-platform strategy and frameworks | §13 → `smart-tv-monetization-certification-and-operations` |
| Accessibility, privacy, ACR, regulation | §14 → `smart-tv-monetization-certification-and-operations` |
| "Don't do this" | §15 → `smart-tv-reference` |
| "Which approach is better?" | §16 → `smart-tv-reference` (contested) |
| "Is this still current?" | §17 → `smart-tv-reference` |
| Docs, tools, people | §18 → `smart-tv-reference` |

---

## §1. The Platform Landscape

### 1.1 Who actually owns the living room

**[VERSIONED — and note that the numbers disagree wildly depending on what's being
measured.]** Three different, all-defensible framings:

- **US usage share** (Parks Associates, Streaming Video Tracker, April 2026, "device used
  most frequently to watch online video" in US broadband households): **Roku OS 28%,
  Samsung Tizen 23%**, with Amazon Fire TV, LG webOS, and VIZIO SmartCast mid-tier, and
  tvOS, consoles, and Android TV smaller.
- **US activated screens**: Roku OS around **38%**, with Google TV growing ~2.6%/year.
- **Global units shipped**: an entirely different ranking, where **Tizen and Android TV
  lead** because Samsung and the Android licensees ship the most TVs worldwide, and Roku
  barely registers outside North America.

**[DURABLE] Reconcile those before you plan.** *Installed base* ≠ *units shipped* ≠
*hours watched* ≠ *ad revenue*. Roku's US strength and near-absence in Europe is the
canonical trap for teams that read one number and built one app.

Rough scale anchors for 2026: **Android TV/Google TV crossed ~300M monthly active
devices** globally; **Roku passed ~100M streaming households**; **LG webOS is ~12%
overall but ~52% of the premium OLED tier**; and **smart-TV ownership is heading past
1.1 billion households**.

Parks Associates' framing is the one worth internalizing: *"Control of the platform layer
is central to competition in the connected TV market. Operating systems determine what
content consumers see, how services are positioned, and how advertising is delivered."*
A small number of OSes account for the majority of usage, **limiting visibility for
services without strong distribution partnerships** — which is a polite way of saying
discovery placement is negotiated, not earned.

### 1.2 The two structural shifts in progress

**[VERSIONED — both are live as of 2026 and both change build plans.]**

**Amazon is replacing Fire OS with Vega OS.** Vega is **Linux-based, built from the ground
up, and not Android** — it cannot natively run APKs. Apps are built with **React Native
0.72** ("React Native for Vega") or web via **Vega WebView**, packaged as **VPKG** rather
than APK. Timeline: first shipped on the **Fire TV Stick 4K Select (late 2025)**, then the
**Fire TV Stick HD (April 2026)**; Amazon's developer site states that **starting with the
4K Select, all future Fire TV Sticks run Vega**. Existing Fire OS devices are **not being
upgraded** and are supported with security updates through at least 2030 (or four years
from purchase).

What this means practically:
- **Porting is re-engineering, not recompiling** — new APIs, new packaging, and rewritten
  UI, focus management, and entitlement flows. React Native apps reuse the most.
- Amazon is **cloud-streaming selected apps** during the transition, with roughly nine
  months of free hosting, to buy publishers time to build native Vega versions.
- **Sideloading is gone** on Vega devices — Amazon Appstore only.
- **⚠️ You now support two Amazon platforms simultaneously**, indefinitely. That is a real
  and unwelcome addition to an already-fragmented matrix.

**Fox agreed to acquire Roku (announced April 2026, ~$22B cash-and-stock).** If it
completes, it shifts the strategic value of a TV OS further toward distribution and
advertising, and it will affect OS licensing and ad-supply negotiations. **Treat any
Roku commercial term as subject to change.**

### 1.3 The frozen-browser problem

**[PLATFORM — this is the single most under-anticipated constraint in TV development, and
it deserves its own section.]**

On Tizen and webOS your app is a web app running in the browser engine the TV shipped
with — **and that engine is never updated**. Samsung publishes the mapping, and it is
sobering:

| TV model year | Tizen | Web engine |
|---|---|---|
| **2026** | 10.0 | **Chromium M130** |
| 2025 | 9.0 | Chromium M120 |
| 2024 | 8.0 | Chromium M108 |
| 2023 | 7.0 | Chromium M94 |
| 2022 | 6.5 | Chromium M85 |
| 2021 | 6.0 | Chromium M76 |
| 2020 | 5.5 | Chromium M69 |
| 2019 | 5.0 | Chromium M63 |
| 2018 | 4.0 | Chromium M56 |
| 2017 | 3.0 | Chromium M47 |
| 2016 / 2015 | 2.4 / 2.3 | **WebKit** |

Read that table again: **a 2024 TV shipped with Chromium 108 while desktop Chrome was on
130.** A 2018 TV is on Chromium 56 — an engine from 2016. webOS has the same structure.

Consequences you must design around:
- **Your baseline is whatever the oldest model year you support shipped**, not "modern
  evergreen browsers." A team targeting 2019+ Samsungs is writing for **Chromium 63**.
- **Feature-detect, never version-sniff.** An API introduced in Chrome 110 works on 2025+
  sets and **fails silently** on everything older.
- **Transpile and polyfill aggressively**, and *test what your bundler actually emits* —
  a modern framework's default output targets browsers your fleet doesn't have.
- **⚠️ Teams routinely start with Next.js or a modern SPA framework and hit a wall**,
  because both platforms run considerably outdated Chromium. Budget for this in week one,
  not month four.
- **No webview embedding on Tizen** — the only way to embed external content is an
  `iframe`, which sites can refuse via frame-ancestors/X-Frame-Options.
- Old engines also mean **no security updates**: Chromium 56 and below are unsafe to run
  web content on at all.
- **[VERSIONED] Native binaries have their own cliff**: Samsung used **GCC 9.2.0 through
  the 2025 model year and moved to GCC 14.2.0 for 2026**, so any native library must be
  rebuilt for 2026 sets.

---

## §2. The 10-Foot UI

### 2.1 Why TV design is genuinely different

**[DURABLE] The name is the specification: the viewer is ~10 feet (3 m) away.** Everything
follows from that plus the D-pad:

| Constraint | Consequence |
|---|---|
| Viewing distance ~10× a phone | Everything must be far larger relative to the screen |
| No pointer | Only focusable elements are reachable — nothing is "clickable" |
| No hover | Every affordance must be visible in the default state |
| No text input worth the name | On-screen keyboards are miserable; minimize typing (§3.4) |
| Shared/social viewing | Others are watching you navigate. Errors are public |
| Lean-back intent | The user wants to *watch*, not to *operate a UI* |
| Ambient light varies wildly | Contrast must survive a sunlit room and a dark one |
| Overscan on older sets | Content near the edge may be physically cut off |

### 2.2 The numbers

- **Design canvas: 1920×1080**, scaled to 4K by the platform. Most platforms want 1080p
  assets; a few accept 4K UI. **Design at 1080p and let the compositor scale.**
- **Safe area: keep all UI inside ~90% of the screen** — i.e. a **5% margin on every
  side** (≈96 px horizontally, ≈54 px vertically at 1080p). Older sets overscan; text at
  the edge disappears.
- **Minimum body text ~24 px at 1080p**; titles 32–48 px. **Anything under ~18 px is
  unreadable at 10 feet** regardless of what it looks like on your monitor.
- **Focusable targets ≥ 60–80 px** in their smallest dimension, with clear separation.
- **Contrast**: aim well above the WCAG 4.5:1 minimum. **Avoid pure white (#FFFFFF) on
  large areas** — on a bright HDR panel in a dark room it's genuinely painful; use ~#F0F0F0
  or lower. Similarly avoid pure black backgrounds on OLED for UI chrome that persists.
- **Avoid thin fonts and hairline strokes.** Compression, upscaling, and chroma subsampling
  destroy them.
- **Frame budget: 16.6 ms at 60 Hz** — and TV silicon will miss it far more easily than
  a phone (§6 → `smart-tv-playback-drm-and-performance`).

### 2.3 The standard layout vocabulary

**[DURABLE] TV UI has converged on a small set of patterns, and deviating from them costs
you.** Users navigate a dozen apps with the same muscle memory:
- **The rail/row grid** — horizontal shelves of posters, vertically stacked by category.
  This is *the* content-browse pattern on every platform.
- **Hero/spotlight** at the top with a featured item.
- **Left sidebar nav**, often collapsed to icons until focused.
- **Detail page** — big art, synopsis, a primary CTA (Play/Resume) that must be the first
  focused element.
- **Player with a transport overlay** that auto-hides.
- **Grid** for search results and full catalogues.

**⚠️ Do not invent a novel navigation model.** The cost is not aesthetic — a user who
can't find the back-out path with a D-pad simply leaves, and you will never learn why.

---

## §3. Focus and Input

### 3.1 Focus is the architecture

**[DURABLE] On TV, "what is focused" is application state as fundamental as "what page am
I on."** Get this wrong and nothing else matters.

The rules:
1. **Exactly one thing is focused at all times.** Never zero. If a focused element is
   removed, you must explicitly move focus somewhere sensible — this is the single most
   common TV bug, and it manifests as a **completely dead remote**.
2. **The focus indicator must be unmissable** — scale, border, glow, and/or brightness.
   A subtle 1 px outline is invisible at 10 feet. Use at least two visual channels.
3. **Focus must be predictable**: pressing Right then Left should return you where you
   were. Users build a spatial model, and violating it feels broken even when it isn't.
4. **Restore focus on return** — coming back from a detail page must land on the tile you
   left from, not the start of the row.
5. **Set initial focus on every screen**, on the primary action.

### 3.2 Spatial navigation

The engine that decides, given the currently focused element and a direction, what gets
focus next. Approaches:
- **Geometric** — compute the nearest candidate in the direction pressed, using overlap
  and distance heuristics. Flexible, and produces surprising results with irregular layouts.
- **Explicit graph** — declare each element's up/down/left/right neighbours. Predictable;
  tedious; and the right answer for complex screens.
- **Hybrid** — geometric by default with explicit overrides. **What most production apps
  end up doing.**

**[PLATFORM]** Roku's SceneGraph has focus built into the node hierarchy
(`setFocus`, `focusable`); Android TV uses the Android focus system plus
`nextFocusUp/Down/Left/Right` (and Compose for TV's focus APIs); web platforms have
**CSS `spatial-navigation`** in limited/uneven form, so most teams ship a JS library or
their own engine; tvOS has the **focus engine** with focus guides.

> **⚠️ GOTCHA — the classic focus traps.** Focus lands on an off-screen element and the
> user sees nothing move. Focus enters a container it cannot leave. A modal opens without
> capturing focus, so D-pad presses go to the page behind it. A carousel wraps
> inconsistently at the ends. Async content loads and steals focus mid-navigation.
> **Every one of these presents to the user as "the remote stopped working."**

### 3.3 The remote

**[DURABLE] Assume the minimal remote**: D-pad + OK, Back, Home, and maybe
Play/Pause/FF/RW. Everything else is optional and varies by manufacturer, model year, and
whether it's the OEM remote or a universal one.

- **Back must always work and must be predictable.** Back from the player returns to
  detail; back from detail returns to the row; back at the root exits the app (usually
  with a confirmation). **Never trap the user.**
- **Home always exits**, immediately, and you don't get to intervene. Save state
  *continuously*, not on exit.
- **Long-press, key-repeat, and rapid input** — users hold Down to scroll a long row.
  Your list must handle a burst of repeats without falling behind or crashing; debounce
  navigation, and never do heavy work per keypress.
- **Voice** is a first-class input on most platforms (Alexa, Google Assistant, Bixby, and
  in 2026 the LG webOS integrations with Copilot and Gemini) — mostly consumed as
  **deep-link intents** (§7.3 → `smart-tv-playback-drm-and-performance`) rather than in-app.
- **Colour buttons** (red/green/yellow/blue) exist in European broadcast contexts and are
  frequently the right answer for secondary actions there.

### 3.4 Text entry

**[DURABLE] Typing on a TV is so bad that avoiding it is a design requirement, not a
nicety.** Entering a password with a D-pad on an on-screen grid keyboard takes a minute
and fails often. The answers, in order of preference:
1. **Device-code pairing** — show a short code, user enters it on their phone at a URL.
   **This is the standard and correct pattern for sign-in.** Roku's "on-device
   authentication" work is in this family.
2. **Account linking via the platform identity** where offered.
3. **QR code** on screen to hand off to a phone.
4. Voice input for search.
5. Only then, an on-screen keyboard — and if you must, support the platform's native one
   rather than rolling your own.

Attribution

Is this your skill, or is something wrong with this listing? Request removal or report an issue. Author removals are honored within 72 hours.

Comments

Loading comments…