Razvoj aplikacija za
Google Chromecast
Branimir Conjar
Matija Kovačić
Krešimir Mišura
Sadržaj
• Što je to Google Chromecast?
• Kako funkcionira
• Korisničko iskustvo (UX)
• Kako postati developer
• Razvoj aplikacija
• Zaključak
• Q & A
Što je to Google Chromecast?
• Tehnologija za screen-sharing
• Komponente
– Sender aplikacija
– Receiver aplikacija
– Izvor sadržaja
Kako funkcionira?
Preuzeto s: https://developers.google.com/cast/
Tehničke specifikacije
• Podržani formati
– H.264, VP8
– AAC
– MP4-CENC, WebM, MPEG-DASH, SmoothStreaming
• Hardware
– 2 X 1.2 Ghz
– 512 MB
– 2 GB flash storage
Korisničko iskustvo (UX)
• UX je vrlo važan!
• UI na sender aplikaciji
• Ikona za upravljanje uvijek vidljiva
• Multitasking na senderu
Google preporuke
Preuzeto s: https://developers.google.com/cast/design_consider
Kako postati developer
• Kako do uređaja?
• Whitelisting
• Ograničeni broj aplikacija
– Youtube
– Netflix
– Google Play
– Chrome browser
Životni ciklus aplikacije
1. SDK initialization
2. Device discovery
3. Application session creation
4. Message stream registration
5. Message exchange between sender application and
receiver application
6. Application session teardown
7. SDK de-initialization
Razvoj Android aplikacije
• Primjeri aplikacija na Google developer stranici
• SDK je još uvijek u beta verziji
• Android notifications & lock screen
• Komplikacije u slučaju više sender aplikacija
Razvoj iOS aplikacije
• API i lifecycle analogni Android platformi
• Razlika u platform goodiesima -> nema out of the
box lockscreen i notification center podrške
• Analogne i dječje bolesti
• AirPlay
Razvoj receiver aplikacije
• HTML/CSS/JS single page app
• Jednostavan target
– Chrome browser
– Fullscreen viewovi
• Ograničene hardverske mogudnosti
• Websockets
• Učitavanje slika
Razvoj receiver aplikacije (nastavak)
• Receiver SDK
• Receiver objekt
• Channel i ChannelHandler objekt
• RemoteMedia objekt
– channel handler...
– ...ali i (nepotpuni) wrapper oko HTML5 audio/video
elementa (onMetadataLoaded, onPlay, onStop...)
– overrideanjem postojedih callback metoda
implementiramo željenu funkcionalnost
• Google Closure library
Zaključak
• Loše strane
– Štura dokumentacija
– Nedostaju primjeri koda za traženi UX
– SDK nema source (ni sender ni receiver)
– Još postoje problemi sa SDK-om
• Unatoč navedenom, pozitivno iskustvo
Hvala!
Q & A
Kontakt
mail branimir.conjar@fiveminutes.eu,
matija.kovacic@fiveminutes.eu,
kresimir.misura@fiveminutes.eu
web http://www.fiveminutes.eu

Razvoj aplikacija za Google Chromecast - Branimir Conjar, Matija Kovačić, Krešimir Mišura - Google Developer Group Zagreb

  • 1.
    Razvoj aplikacija za GoogleChromecast Branimir Conjar Matija Kovačić Krešimir Mišura
  • 2.
    Sadržaj • Što jeto Google Chromecast? • Kako funkcionira • Korisničko iskustvo (UX) • Kako postati developer • Razvoj aplikacija • Zaključak • Q & A
  • 3.
    Što je toGoogle Chromecast? • Tehnologija za screen-sharing • Komponente – Sender aplikacija – Receiver aplikacija – Izvor sadržaja
  • 4.
    Kako funkcionira? Preuzeto s:https://developers.google.com/cast/
  • 5.
    Tehničke specifikacije • Podržaniformati – H.264, VP8 – AAC – MP4-CENC, WebM, MPEG-DASH, SmoothStreaming • Hardware – 2 X 1.2 Ghz – 512 MB – 2 GB flash storage
  • 6.
    Korisničko iskustvo (UX) •UX je vrlo važan! • UI na sender aplikaciji • Ikona za upravljanje uvijek vidljiva • Multitasking na senderu
  • 7.
    Google preporuke Preuzeto s:https://developers.google.com/cast/design_consider
  • 8.
    Kako postati developer •Kako do uređaja? • Whitelisting • Ograničeni broj aplikacija – Youtube – Netflix – Google Play – Chrome browser
  • 9.
    Životni ciklus aplikacije 1.SDK initialization 2. Device discovery 3. Application session creation 4. Message stream registration 5. Message exchange between sender application and receiver application 6. Application session teardown 7. SDK de-initialization
  • 10.
    Razvoj Android aplikacije •Primjeri aplikacija na Google developer stranici • SDK je još uvijek u beta verziji • Android notifications & lock screen • Komplikacije u slučaju više sender aplikacija
  • 11.
    Razvoj iOS aplikacije •API i lifecycle analogni Android platformi • Razlika u platform goodiesima -> nema out of the box lockscreen i notification center podrške • Analogne i dječje bolesti • AirPlay
  • 12.
    Razvoj receiver aplikacije •HTML/CSS/JS single page app • Jednostavan target – Chrome browser – Fullscreen viewovi • Ograničene hardverske mogudnosti • Websockets • Učitavanje slika
  • 13.
    Razvoj receiver aplikacije(nastavak) • Receiver SDK • Receiver objekt • Channel i ChannelHandler objekt • RemoteMedia objekt – channel handler... – ...ali i (nepotpuni) wrapper oko HTML5 audio/video elementa (onMetadataLoaded, onPlay, onStop...) – overrideanjem postojedih callback metoda implementiramo željenu funkcionalnost • Google Closure library
  • 14.
    Zaključak • Loše strane –Štura dokumentacija – Nedostaju primjeri koda za traženi UX – SDK nema source (ni sender ni receiver) – Još postoje problemi sa SDK-om • Unatoč navedenom, pozitivno iskustvo
  • 15.
  • 16.

Editor's Notes

  • #4 Google Cast is a screen-sharing technology that lets a user send and control content like video from a small computing device like a phone, tablet, or laptop to a large display device like a television.Razlike u odnosu na slične proizvode: - Nexus Q (Googleov proizvod koji je prethodio chromecastu, dosta skuplji, povučen) - Apple TV (radi samo sa Apple proizvodima, ali je cijeli laptop/mobile screen zrcaljen na televizor) - Roku (99$, nešto kompliciraniji za korištenje, veće mogućnosti)
  • #5 The receiver device runs a scaled-down Chrome browser with a receiver application that receives data over Internet Protocol and transmits it to the television via HDMI. The receiver API lets you customize the messaging between the sender and receiver applications for authentication and other scenarios. 
  • #9 - Ograničeni broj trenutno podržanih aplikacija, jer Google mora eksplicitno odobriti svaku aplikaciju koja želi castati na chromecast (moguće je i dobiti developer whitelisting za određeni broj uređaja koji su potreni)
  • #11 API je star manje od 2 mjesecaKomplikacije u slučaju više sender aplikacijaSlučaj kada više sender aplikacija upravljaju istim televizorom u isto vrijemeŠto se dogodi kada dvije aplikacije zatraže različite videe u isto vrijeme, kada jedna aplikacija pojačava zvuk a druga stišava...