FAMIUM Multiscreen

FAMIUM Multiscreen is a prototype implementation of upcoming web standards and technologies related to key multiscreen features such as discovery, pairing, launch, communication and synchronization of apps and media across multiple devices.

FAMIUM Multiscreen
Media interaction in a world of connected devices: Connect multiple screens together so that applications can interact with all accessible screens Fraunhofer FOKUS

Benefits

  1. Present apps bigger and focused on secondary screens.
    • Example: share media conveniently on big TV screens rather than just on the smartphone. (media sharing use cases)
  2. Extend the reach of apps to show more content on different screens.
    • Example: enrich a gaming experience with near screen controller mutually connected to a big screen. (gaming use cases)
  3. Arrange and distribute apps with computational and visual parts presented on different screens as desired.
    • Example: work on a document using one screen, hand over to another screen or even continue to collaborate on a shared screen. (productivity use cases)

Features and Assets

  1. Discovery of devices and services using SSDP, mDNS/DNS-SD or a central registry
  2. Launch of apps on remote displays or devices using DIAL (Discovery And Launch)
  3. Mirror apps to other screens so that multiple screens showing the same or supplementary content using Miracast and Airplay
  4. Extend apps to other screens so that multiple screens may show adapted or different content using the W3C Second Screen Presentation API or HbbTV 2.0 Companion Screen API
  5. Supporting physical displays like TVs or TV Pluggable devices (e.g. Chromecast, Miracast Dongles, AppleTV, Android Sticks, etc.), or virtual displays (apps acting as displays)
  6. Content and Media Synchronization across devices
  7. Synchronization of app state across multiple devices
  8. Enable apps running on different devices communicating either directly (peer-to-peer) using WebRTC or indirectly (via a messaging server) using WebSockets or XHR

Key Technologies & Standards

  1. Presentation of Web Content: W3C Second Screen Presentation API
  2. Companion Screen: HbbTV 2.0 CS API
  3. Screen and Media Sharing: Miracast, Airplay, UPnP
  4. Application Launch: DIAL
  5. Discovery: SSDP and mDNS/DNS-SD
  6. Communication: WebRTC, WebSockets, XHR, WebMessaging

Implementations

FAMIUM offers implementations for the key multiscreen features listed above. A selection of the FAMIUM Multiscreen components is even published under a permissive open source license.

  • W3C Second Screen Presentation API: The W3C Presentation API enables web pages to use secondary screens to display web content. Fraunhofer FOKUS contributed to the specification and offers prototype implementations of the API for different protocols (Miracast, Airplay, DIAL, Pure JavaScript using WebSockets and WebRTC, etc.) and platforms (Android, iOS, Web, etc.) as open source. Please visit the FAMIUM implementations of Presentation API project to get more details on available implementations like the Presentation API as Apache Cordova Plugin or JavaScript service
  • UPnP/SSDP: FAMIUM has published a selection of service discovery components as open source. The two components "peer-ssdp" and "peer-upnp" provided as a JavaScript Node.js implementation realize the Simple Service Discovery Protocol (SSDP) and the Universal Plug and Play Protocol (UPnP). The source code with sample apps is available on GitHub and the NPM registry peer-ssdp, peer-upnp.
  • DIAL: FAMIUM offers Sever and Client Implementations of the Discovery and Launch Protocol DIAL for Desktop Platforms as Node.js module as well as for Android and iOS.
  • FAMIUM Synchronization Framework: FAMIUM Multiscreen includes components for time, content and state synchronization of apps and media across multiple devices based on standard web technologies like JavaScript, WebRTC and WebSockets APIs for app clients and Node.js for the synchronization server.
  • FAMIUM Backend Stack: Tool set of microservices for common multiscreen tasks enabling and supporting use cases across different platforms and networks.

Contact us

If you would like to get deeper insights into multiscreen technologies ask for our training and tutorial sessions regarding multiscreen app concepts, challenges and development. If you would like to make your hardware multiscreen compatible we can support you with integrating your devices. If you would like to see how your apps or ideas feel in a multiscreen world you may be interested in our multiscreen playground. If you have any questions about distributed apps or in particular about the multiscreen world - FAMIUM Multiscreen has the right answers.