Skip to content

Latest commit

 

History

History
66 lines (52 loc) · 4.1 KB

interoperability.md

File metadata and controls

66 lines (52 loc) · 4.1 KB

Assess interoperability of Presentation API implementations

This document discusses the interoperability of potential Presentation API implementations; in particular, interoperability between user agents in case of 2-UA implementations and between user agents and presentation displays in case of 1-UA implementations. For this, state of the art technologies and standards that may be useful to implement the Presentation API will be considered.

Interoperability between user agents (2-UA)

The following diagram shows an overview of the main components for the 2-UA implementation. Each of the user agents implements part of the Presentation API (for controlling browsing context or presenting browsing context).

2-UA implementation

To ensure interoperability between user agents running on controller devices and user agents running on presentation devices the following aspects should be considered:

  • Discovery: To discover presentation devices, the controlling user agent should use the same technology as the presenting user agent uses to advertise itself.
  • Launch: after discovery, the controlling user agent should know how to launch a new presentation or join an existing one. Common message formats should be also used.
    • Potential technologies: DIAL (uses SSDP for discovery), Google Cast (part of it), HBBTv 2.0 (see #67).
  • Communication: also for communication both user agents should use same technologies/protocols to ensure interoperability.
    • Potential technologies: WebSockets, WebRTC, Raw Socket, Google Cast (part of it).
  • Signaling: Common language and message formats (e.g. using JSON or XML) should be used to exchange signaling information between the two user agents.
  • Security: Means of authenticatating the presenting user agent to the controlling user agent (and vice versa), and ensuring privacy of communication.

Interoperability between user agents and presentation displays (1-UA)

The following diagram shows an overview of the main components for the 1-UA implementation. There are fewer requirements than the 2-UA case for interoperability between controlling user agents and presentation displays. The controlling user agent implements the Presentation API for both controlling and presenting browsing contexts and the presentation page is rendered in silent mode (not visible for the user). The controlling user agent captures the UI output of the presentation page and sends the frames to a presentation device like a projector or wireless display.

1-UA implementation

The controlling user agent and the presentation device must implement a common streaming technology to interoperate. More than likely, the user agent will use system APIs offered by the OS to show content on the presentation device. But other technologies not offered directly by the OS are also possible; for example, the Google Cast extension for Chrome supports mirroring tabs to Chromecast using WebRTC.

Potential Technologies: HDMI, Intel WiDi, Miracast, Airplay, MHL, WebRTC.