Google seems ready to try to take over the big screen again. Chromecast provides a unique way for developers to extend their apps with a second screen experience. This talk shows the inner bits and bolts of Chromecast and sheds light on Androids deep connection with Chromecast.
Saturday, 17 May 2014
Presented at Android Developer Days 2014, Ankara, Turkey
9. Three Generations
1. Generation, late 2010
based on Android 3.2
2. Generation, Summer 2012
based on Android 3.2
3. Generation, 2013
probably on Android 4.2.2
10. GoogleTV: Pros
Part of the Android-family.
Deploying apps is easy (via Play Store)
Re-use most of your existing Android code
11. GoogleTV: Cons
Does not evolve as fast as mainline Android
Not many devices sold (500,000 - 1,000,000)
Late start in the European Union (2012)
15. ChromeCast: Hardware
Model Number: H2G2-42
Its not based on ChromeOS
Its based on Android
and Chromium
Its not going to kill GoogleTV
http://www.i鍖xit.com/Teardown/Chromecast+Teardown/16069
16. ChromeCast: Pros
Very cheap hardware (35$)
Very easy to use (My Grandma can do it)
Web Developers can easily write Receiver-Apps
Simple Protocol Stack
18. ChromeCast: Cons
Google Cast SDK is still a Developer Preview
(read: things will break, things will change)
You have to manually whitelist
all your apps with Google
Its not officially released outside the U.S.
Things have been broken. But the SDK is stable now.
19. WebTech
UDP
ChromeCast: Protocol Stack
SSDP (Simple Service Discovery Protocol)
DIAL (DIscovery And Launch)
RAMP (Remote Application Media Protocol)
HTML5 & JS (You know that this is)
WebSockets (Bi-directional communication Browser<>WebApp)
WebRTC (Web Real Time Communication)
20. TCP
WebTech
UDP
ChromeCast: New Protocol
mDNS (Multicast Domain Name System, aka Bonjour)
Protobuf over TLS Sockets
RAMP (Remote Application Media Protocol)
HTML5 & JS (You know that this is)
WebSockets (Bi-directional communication Browser<>WebApp)
WebRTC (Web Real Time Communication, ex. Screen Mirroring)
21. ChromeCast: How it works!
1. Advertises ChromeCast
using mDNS (UDP Broadcast)
!
2. Discovers Endpoints using mDNS
!
!
3. Requests App and opens
TLS Socket connection
!
!
!
4. CC fetches HTML5 based 1st
Screen App (opens WebSocket)
22. ChromeCast: How it works! II!
!
!
!
5. Sends request to play media
!
!
!
!
!
6. HTML5 app receives
media request (WebSocket)
starts fetching content.
!
!
!
!
!
!
7. Media is downloaded/streamed
by ChromeCast device
23. ChromeCast: Sender App
Cast SDK available for
You need to pay $5 to create an account
on the Google Cast Developer Console
29. CheapCast all the Droids
Is an app that emulates a
ChromeCast (or Google Cast)
device on almost any Android
Device
Implements DIAL, RAMP/WS
Proxy-ing
Does not care if your id is
whitelisted or not.
Written by me
31. CheapCast: Use Cases
Start developing ChromeCast apps without owning
an actual ChromeCast Device
Turn one of your old Android-devices into a
ChromeCast Dongle (connect via MHL<->HDMI)
Cast content from your Android Smartphone
to your Android Tablet just for the hell of it.