Chapter 8. Device Communication

Yahoo Connected TV's Device Communication model enables new and exciting TV-viewing experiences driven by the sophisticated controls available on today's mobile phones, tablets, and laptops. A new generation of connected TV capabilities is now available to consumers, including gesture-based, multi-display, and multi-user features for intensive gaming, multimedia, and social applications.

Device Communication provides two-way message-passing between Internet-enabled devices (such as AndroidOS and iOS mobile phones, tablets, and laptops) and consumer electronic devices (such as TVs, DVD/Blu-ray players, and DVRs) running the Yahoo Connected TV Platform (the "Platform"). These messages are communicated through a new protocol created by Yahoo using SSL-wrapped sockets over local TCP/IP. Message payloads can contain either JSON-encoded strings or predefined commands. Keyboard, navigation, media control, and app-specific messages are communicated using a publish/subscribe model and direct method calls.

Device Communication supports two types of application programming interfaces (APIs):

  • The Device Interface — The mobile app developer uses this interface to write extensions to their own mobile apps to enable communication with TV Apps and the Platform. This device communication protocol is versioned.

  • The KONtx Framework Remote Device Singleton — The app developer uses this JavaScript API to enable TV Apps to communicate with mobile apps on a remote device. The KONtx Application Framework is based on standard JavaScript and Yahoo JavaScript Extensions. The entire Remote Device JavaScript API is contained in the common namespace KONtx.remotedevice.

    The KONtx.remotedevice interface is only available when it is enabled on the Platform. The Boolean system.features.devicecommunication must be true in the config-oem.xml file. Event callbacks are use to relay messages from the mobile app to the TV App via the Platform.

Leveraging Device Communication

Device Communication allows any Internet-enabled device with access to a local network to communicate directly with a Yahoo-enabled television. Designed with creativity in mind, developers are free to implement new ways of controlling and interacting with a TV. The following examples are only a few of the many new applications made possible by this technology:

  • App Launching — When paired with a connected TV, your phone can show a list of all TV Apps installed for your profile. You can bring up the TV Dock (dock) and launch apps on the TV from your phone from any location. The launch command sent from your phone can contain a message payload for the TV App which may redirect the sidebar to a specific view. You can now use your phone to operate unique interfaces to the dock.

  • Gesture-based Remote Controls — Use the touchpad on your phone to navigate the menus in a TV App with a gesture-based remote control instead of a button-based remote control.

  • Video On Demand (VOD) — Your tablet is running a VOD mobile app and has been paired with a VOD TV App which is visible on your TV screen. The tablet displays a list of movies for rent. You tap a movie on the tablet, and the device sends a message to the Platform on the TV which then plays the selected video. If you are watching a streaming video via the web on your tablet and you have a Yahoo Connected TV, you can click a button to offload the video up to the TV.

  • Multimedia Applications — You are having a party and playing your personal music collection from your laptop. The application on your laptop communicates to the Platform which launches a TV App to show different types of metadata on your TV. You can display the song title, the album art, and the associated music video on your TV. If the music file is accessible via the home network or the web, you can use your TV's surround-sound audio to play your songs.

  • User-Intensive Interfaces — If you have a sophisticated game app on your TV, you can use a very creative controller application on any Internet-enabled device. If your application uses a lot of keyboard, voice recognition, or accelerometer controls, you can offload these advanced controller activities to an appropriate device that can handle intensive user input.

  • Accelerometer-based Interfaces — A first-person shooter TV App is loaded on your TV. Your mobile phone, with an accelerometer control, uses gestures to move the player in the game. The mobile app also displays in-game statistics, for example, health, ammunition, treasure, and other properties.

  • Data-Rich Interfaces — If you are trying to wade through a lot of data using a TV App, for example a list of video podcasts with usage and popularity statistics, you can offload choosing the video to a laptop that has more searching, sorting, navigating, and control options.

  • Polling Applications — You have a trivia game on your TV and everyone in your living room has mobile phones. The trivia TV App can support a unique interface to each phone. Each person has their own remote control for voting on a particular trivia answer. App developers can create interactive multi-user experiences for a TV display.

  • Whiteboard Applications — You can use your tablet computer as a drawing board and use your TV display as the whiteboard. When you play a party game with this interface no one has to crowd around a piece of paper while you are drawing, instead you can put your artwork up on the big screen.

  • Payment Schemes — TV Apps can offload all types of content, shopping, and service payment schemes to your mobile device.

The possible applications supported by Yahoo Connected TV's Device Communication are limited only by these few restrictions. You cannot transmit binary data over this protocol. Media you send to the TV for display has to be accessible over the network. For example, you can send metadata messages, but if you want to send a video or an image to the TV, it first has to be fetched via the web by the paired TV App.

Table of Contents