Chromecast gets things to your TV screen from a remote device in part by using something called the DIAL (Discovery And Launch) protocol. DIAL was developed jointly by Netflix and YouTube, which is owned by Google. DIAL actually launched on Google TV, Google's earlier foray into TV control, and now it's being integrated into devices and apps by a number of manufacturers and content providers.
One of Chromecast's components, the DIAL Service Discovery protocol, uses Simple Service Discovery Protocol (SSDP) version 1.1, which is defined by UPnP (Universal Plug and Play), to allow a DIAL client device to locate a DIAL server device running on the same network. The other component, the DIAL REST (Representational State Transfer) Service, is then accessed to query, launch or stop applications using HTTP (Hypertext Transfer Protocol) requests from the client device to the server device. In the case of Chromecast, your phone, tablet or computer is the client and the Chromecast itself is the server.
Google created Google Cast screen-sharing technology to work on top of DIAL, adding a lot more functionality than DIAL could offer alone. It developed the Google Cast SDK (Software Development Kit) to enable developers to add related functionality to third-party apps that can be used to launch media from the client device to the Chromecast. There are Google Cast APIs (Application Programming Interfaces) for each compatible operating system. All this allows for functionality such as pausing and volume control, as well as additional features that app developers are free to implement. As of January 2014, the SDK was still only out in preview mode and only select partners were allowed to launch apps on the device. However, that may change when Google opens up a finalized SDK to everyone sometime later in 2014.
The Chromecast is actually running a pared-down version of the Chrome browser, and the applications on the device are Web applications that receive the aforementioned HTTP requests and react accordingly. Once the app is launched, it will actually be running on the Chromecast, but a communication channel will be open that allows the client device to act as a sort of remote control. This dynamic allows you to turn off your mobile device without stopping whatever is streaming from the Chromecast to your TV.
To set up Chromecast, you have to either install a special app or a Chrome extension, depending upon what device you're using as a media launcher. Once it's set up, you use third-party apps like Netflix, YouTube or the Chrome browser to do the actual launching and controlling of your content.
There are currently other apps that work in conjunction with set-top boxes like gaming systems to enable you to use a smartphone or tablet as a remote control. But in those cases, you have to launch the app on the set top box and the app on the mobile device and run them simultaneously. Chromecast (via DIAL) eliminates a step by allowing launch and control of an app from a single device for playback on the TV through the Chromecast. It may herald the future simplification of our living room remote control situation.
Read on to find out what apps currently work with the device.