19.7 · Top Shelf on tvOS, and treating extensions as a product API

tvOS has far fewer extension points than iOS, and the one most apps need is Top Shelf. At the other end, a mature product treats everything its extensions expose as an API with versions and contracts.

Mental model. On the TV the extension is a content provider the system asks for a shelf. At scale every extension is a public API you must not break.

The living room

Top Shelf and what tvOS does not have.

  1. What is a tvOS Top Shelf extension, how do static and dynamic content differ, and what does tvOS not have compared with iOS? 19.7.1 · L5
    On the Apple TV Home Screen, when the user focuses an app in the top row, the area above shows that app’s Top Shelf: a banner or a row of content that works as…

The product surface

Designing extensions and widgets as a versioned public API.

  1. How do you treat extensions, widgets and intents as a public API of the product: shared modules, data contracts, versioning, testing and operations? 19.7.2 · L8
    Once an app has a widget, a notification service extension, a share extension, a watch app, a Top Shelf and App Intents, it is no longer one program but a…

More in Extensions, widgets & intents