Skip to content

Contexts

approved

The player must behave correctly in four contexts. Every design decision is tested against all four.

The four contexts

#ContextDescription
1Latest Thinking websitePublication pages and related surfaces, landscape and portrait
2Embed pageAn LT-hosted page included by third-party sites through an iframe
3Basic pagesLT pages without publications: a stripped-down player, still the LT Player
4Third-party npm consumersAnyone installing the public package on their own site

Latest Thinking website

The primary context. Multiple instances can exist on one page. The site owns page-level concerns: the page shows the video title next to the player, so instances there typically hide the cover title and show the author only.

Embed page for third-party iframes

The player runs on an LT-controlled page, but inside an iframe on a site LT does not control. Constraints: no assumptions about the parent page, careful keyboard capture, and the share capability points users to canonical LT URLs. Hosting pages must delegate at least autoplay; fullscreen; picture-in-picture through the iframe's allow attribute; the player-generated snippet carries those permissions and the additional permissions its embedded Share actions require.

Basic pages

Pages without publication context run the player with capabilities disabled through configuration: the core baseline with basic controls. No special build or mode exists for this; it is ordinary configuration.

Third-party npm consumers

The package is public. Under its license, third parties may install, bundle, and use the unmodified player. Consequences: the documentation rendered on the showcase must be sufficient on its own, the player must run without any LT service, and every observable behavior belongs to the documented contract.

Constraints summary

  • No network requests except fetching the media and assets the configuration names.
  • Multiple independent instances per page; no shared mutable state except where specified (the shorts feed defines its own audio coordination).
  • No global namespace pollution beyond the documented page API entry.
  • All UI strings replaceable per instance; defaults are English.
  • Accessibility is part of the contract: keyboard operability and screen-reader labels ship by default and survive configuration changes.