TPAC2015/Distributing Web Applications Among Devices

From W3C Wiki

There are a number of device-centric APIs in various stages of development, including the Presentation API, Web Bluetooth API, Web NFC API , Sensors API. This session describes potential use cases for Web applications that use nearby devices to distribute input, output, sensing and control, and how to improve interoperability among these APIs to make them possible.

This session discussed the potential for creating a new class of Web applications that can be distributed among multiple devices and user agents, instead of executing within the context of a single device/user agent. The motivation is the set of upcoming device centric APIs such as those mentioned above.

The wide ranging discussion touched on several topics, including:

  • For some of the scenarios in the presentation, there is a need to discover and attach a remote input device into an existing browsing context. The Presentation API doesn't seem like the right vehicle, so maybe another capability is needed.
  • A lot of discussion about the "Exploded App" use case, where an application running on one user agent is "split" with output and input sent to alternative devices. Several alternatives were brainstormed for how this could be done.
  • There is one concept where the single DOM splits into two or more DOMs and they communicate through messaging. This is more in line with the Presentation API.
  • There is another concept where the DOM is kept on one device, but is styled in two different ways depending on the screen type. For example retaining the mobile view on a smartphone and a large screen view on a bigger display.
  • Finally there is a third concept where the entire DOM is packaged and sent to another display. Some mechanism to keep the DOM's in sync would be necessary.
  • There was agreement that sharing the DOM between two user agents introduced a lot of complexity, and it may be simpler to create a separate document with a specific mechanism for synchronization.
  • In the early iteration of CSS, there was a concept of styling the same DOM with alternative stylesheets, that could be applicable to this scenario.
  • The MediaScape project is developing relevant technology for multi-document applications and would be relevant to this idea.