For the launch of its much-discussed Chromecast device for streaming content to TVs, Google focused largely on how users will be able to display YouTube and Netflix videos on their televisions. But the company is also encouraging third-party developers to build, or augment, their own apps for Chromecast.
All third-party apps will need to get Google’s approval before they go live, however, according to documentation Google posted Wednesday for developers.
“You may not publicly distribute or ship your Google Cast application without written permission from Google, per the terms of service described on the downloads page,” said the Google Cast Developer Preview page.
Google didn’t say why it requires approval for third-party software, and it clearly wants outside developers to build on the platform.
“It is interesting that they are offering a developer API to give developers control over” Chromecast, said Al Hilwa, an IDC analyst covering developer tools, in an email interview. “Given the popularity of Android and the size of its developer ecosystem, I would expect some fun apps to come over time.”
Google has posted an SDK (software development kit) including API (application programming interface) documentation for Google Cast, the company’s name for the underlying architecture. It has also set up a community forum to answer questions on StackOverflow, and a repository on GitHub where it will post sample applications.
Chromecast and Google Cast
Chromecast can be controlled by a phone or tablet running Android or iOS, or by a traditional computer running Chrome OS, Mac OS, or Microsoft Windows (as shown at the top of the story).
Unlike other wireless protocols, such as Apple AirPlay or Miracast, Google Cast does not mirror what’s on the screen of the control device. Instead, the Chromecast dongle, which plugs into a TV through the HDMI jack, is itself a tiny computer that displays one tab of the Chrome browser on the TV screen.
Using a downloadable app, the user’s computer or mobile device can send commands, Web addresses, and content to the Chromecast device. Chromecast, which connects to the Internet via a home Wi-Fi network, then renders the video onto the television, by streaming it from the Internet or from the user’s device. If the material to be viewed is on the user’s device, Chromecast transfers it using the Websocket protocol. While Chromecast controls the television, users are free to multitask on other tasks, such as checking email.

Google promises that adding Google Cast support to existing applications can in many cases take less than 200 lines of code.
The Google Cast API provides capabilities such as authentication and a set of controls for starting, stopping and pausing content. It includes a way to pass text messages to the receiver and to receive responses to status requests.
Chromecast applications can be built for Android, Apple iOS devices, and any desktop and laptop computers that can run the Chrome browser—desktop apps are created by embedding them into Chrome as an extension. Applications can also be developed to run on the Chromecast device itself, though the client portion of these apps must be Web applications—built on HTML, CSS and JavaScript.
To get its Chromecast application whitelisted by Google, a development shop must submit various bits of information, including contact information, a description of the app being developed, and the serial number and MAC address of the Chromecast device being used for development.
On their own, Chromecast devices are not set up to support development work such as debugging, though a development mode can be enabled that can provide technical information about Chromecast and its operations. Debugging receiver apps can be done through the Chrome developer tools package.