SlideShare ist ein Scribd-Unternehmen logo
1 von 16
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

Weitere ähnliche Inhalte

Andere mochten auch

Edu fisica aprendizaje motor
Edu fisica aprendizaje motorEdu fisica aprendizaje motor
Edu fisica aprendizaje motorkatherinee__94
 
Purchasing Funnel Brand Presentation Linked In
Purchasing Funnel Brand Presentation Linked InPurchasing Funnel Brand Presentation Linked In
Purchasing Funnel Brand Presentation Linked Inlongship
 
Fircroft Brand Brochure (Electronic Version)
Fircroft Brand Brochure (Electronic Version)Fircroft Brand Brochure (Electronic Version)
Fircroft Brand Brochure (Electronic Version)Liam Gover
 
PHP za pocetnike - predavanje 11
PHP za pocetnike - predavanje 11PHP za pocetnike - predavanje 11
PHP za pocetnike - predavanje 11Nermin Sehic
 
PHP za pocetnike - predavanje 3
PHP za pocetnike - predavanje 3PHP za pocetnike - predavanje 3
PHP za pocetnike - predavanje 3Nermin Sehic
 
Mapa sistema-arterial
Mapa sistema-arterialMapa sistema-arterial
Mapa sistema-arterialAndrea Soria
 
Bid and Ask Prices Tailored to Traders' Risk Aversion and Gain Propension: a ...
Bid and Ask Prices Tailored to Traders' Risk Aversion and Gain Propension: a ...Bid and Ask Prices Tailored to Traders' Risk Aversion and Gain Propension: a ...
Bid and Ask Prices Tailored to Traders' Risk Aversion and Gain Propension: a ...Waqas Tariq
 
η αγγελική (2)
η αγγελική (2)η αγγελική (2)
η αγγελική (2)Despina Zeka
 
Ajustes razonables al curriculo
Ajustes razonables al curriculoAjustes razonables al curriculo
Ajustes razonables al curriculoCitla Terre
 
Adecuaciones Curriculares y Ajustes Razonables
Adecuaciones Curriculares y Ajustes RazonablesAdecuaciones Curriculares y Ajustes Razonables
Adecuaciones Curriculares y Ajustes Razonablestanya059
 

Andere mochten auch (14)

Web 2
Web 2Web 2
Web 2
 
RObin Hood and the Hunger Games
RObin Hood and the Hunger GamesRObin Hood and the Hunger Games
RObin Hood and the Hunger Games
 
Edu fisica aprendizaje motor
Edu fisica aprendizaje motorEdu fisica aprendizaje motor
Edu fisica aprendizaje motor
 
Purchasing Funnel Brand Presentation Linked In
Purchasing Funnel Brand Presentation Linked InPurchasing Funnel Brand Presentation Linked In
Purchasing Funnel Brand Presentation Linked In
 
Fircroft Brand Brochure (Electronic Version)
Fircroft Brand Brochure (Electronic Version)Fircroft Brand Brochure (Electronic Version)
Fircroft Brand Brochure (Electronic Version)
 
PHP za pocetnike - predavanje 11
PHP za pocetnike - predavanje 11PHP za pocetnike - predavanje 11
PHP za pocetnike - predavanje 11
 
Diseño editorial
Diseño editorialDiseño editorial
Diseño editorial
 
PHP za pocetnike - predavanje 3
PHP za pocetnike - predavanje 3PHP za pocetnike - predavanje 3
PHP za pocetnike - predavanje 3
 
Mapa sistema-arterial
Mapa sistema-arterialMapa sistema-arterial
Mapa sistema-arterial
 
Bid and Ask Prices Tailored to Traders' Risk Aversion and Gain Propension: a ...
Bid and Ask Prices Tailored to Traders' Risk Aversion and Gain Propension: a ...Bid and Ask Prices Tailored to Traders' Risk Aversion and Gain Propension: a ...
Bid and Ask Prices Tailored to Traders' Risk Aversion and Gain Propension: a ...
 
η αγγελική (2)
η αγγελική (2)η αγγελική (2)
η αγγελική (2)
 
Ajustes razonables al curriculo
Ajustes razonables al curriculoAjustes razonables al curriculo
Ajustes razonables al curriculo
 
Adecuaciones Curriculares y Ajustes Razonables
Adecuaciones Curriculares y Ajustes RazonablesAdecuaciones Curriculares y Ajustes Razonables
Adecuaciones Curriculares y Ajustes Razonables
 
Sociolingüística
SociolingüísticaSociolingüística
Sociolingüística
 

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

Web tehnologije u desktop developmentu
Web tehnologije u desktop developmentuWeb tehnologije u desktop developmentu
Web tehnologije u desktop developmentuDarko Kukovec
 
WebUG - Hibridne mobilne aplikacije
WebUG - Hibridne mobilne aplikacijeWebUG - Hibridne mobilne aplikacije
WebUG - Hibridne mobilne aplikacijeMatija Šmalcelj
 
Kako pretvoriti server_sobu_u_cloud
Kako pretvoriti server_sobu_u_cloudKako pretvoriti server_sobu_u_cloud
Kako pretvoriti server_sobu_u_cloudDubravko Marak
 
[TVZ računarstvo] Dinamičke web aplikacije, predavanje 11.
[TVZ računarstvo] Dinamičke web aplikacije, predavanje 11. [TVZ računarstvo] Dinamičke web aplikacije, predavanje 11.
[TVZ računarstvo] Dinamičke web aplikacije, predavanje 11. Stipe Predanic
 
Zašto nam treba PaaS u Srcu?
Zašto nam treba PaaS u Srcu?Zašto nam treba PaaS u Srcu?
Zašto nam treba PaaS u Srcu?Denis Kranjčec
 
MSNetwork 4 - Enterprise funkcionalnosti u malim tvrtkama sa Office 365
MSNetwork 4 - Enterprise funkcionalnosti u malim tvrtkama sa Office 365MSNetwork 4 - Enterprise funkcionalnosti u malim tvrtkama sa Office 365
MSNetwork 4 - Enterprise funkcionalnosti u malim tvrtkama sa Office 365Tomislav Lulic
 
FSEC2011: Reverzni inzenjering Android aplikacija
FSEC2011: Reverzni inzenjering Android aplikacijaFSEC2011: Reverzni inzenjering Android aplikacija
FSEC2011: Reverzni inzenjering Android aplikacijaDinko Korunic
 
Razvoj Softvera Za Android Os
Razvoj Softvera Za Android OsRazvoj Softvera Za Android Os
Razvoj Softvera Za Android OsViktor Brešan
 
Goran Aleksić - HORA games - Development automatizacija
Goran Aleksić - HORA games - Development automatizacijaGoran Aleksić - HORA games - Development automatizacija
Goran Aleksić - HORA games - Development automatizacijaSerbian Games Association
 
WinDays 13 - Internet Explorer 10 - san koji je postao java
WinDays 13 - Internet Explorer 10 - san koji je postao javaWinDays 13 - Internet Explorer 10 - san koji je postao java
WinDays 13 - Internet Explorer 10 - san koji je postao javaMatija Šmalcelj
 
Upravljanje pristupom uz Azure AD B2C_IvanMarkovic
Upravljanje pristupom uz Azure AD B2C_IvanMarkovicUpravljanje pristupom uz Azure AD B2C_IvanMarkovic
Upravljanje pristupom uz Azure AD B2C_IvanMarkovicIvan Marković
 
Big Brother Hrvatska 2007 - Case Study - BizBuzz
Big Brother Hrvatska 2007 - Case Study - BizBuzzBig Brother Hrvatska 2007 - Case Study - BizBuzz
Big Brother Hrvatska 2007 - Case Study - BizBuzzwebburza
 
Heron MC - JavaScript for sysadmins and lazy developers
Heron MC - JavaScript for sysadmins and lazy developersHeron MC - JavaScript for sysadmins and lazy developers
Heron MC - JavaScript for sysadmins and lazy developersDavor Racić
 

Ähnlich wie Razvoj aplikacija za Google Chromecast - Branimir Conjar, Matija Kovačić, Krešimir Mišura - Google Developer Group Zagreb (20)

JavaCro'14 - Developing Google Chromecast applications on Android – Branimir ...
JavaCro'14 - Developing Google Chromecast applications on Android – Branimir ...JavaCro'14 - Developing Google Chromecast applications on Android – Branimir ...
JavaCro'14 - Developing Google Chromecast applications on Android – Branimir ...
 
Web tehnologije u desktop developmentu
Web tehnologije u desktop developmentuWeb tehnologije u desktop developmentu
Web tehnologije u desktop developmentu
 
Javantura Zagreb 2014 - Java na klijenstskoj strani - Ivan Vučak
Javantura Zagreb 2014 - Java na klijenstskoj strani - Ivan VučakJavantura Zagreb 2014 - Java na klijenstskoj strani - Ivan Vučak
Javantura Zagreb 2014 - Java na klijenstskoj strani - Ivan Vučak
 
WebUG - Hibridne mobilne aplikacije
WebUG - Hibridne mobilne aplikacijeWebUG - Hibridne mobilne aplikacije
WebUG - Hibridne mobilne aplikacije
 
JavaCro'15 - Integration of Mobile Applications with Facebook - Krešimir Mišu...
JavaCro'15 - Integration of Mobile Applications with Facebook - Krešimir Mišu...JavaCro'15 - Integration of Mobile Applications with Facebook - Krešimir Mišu...
JavaCro'15 - Integration of Mobile Applications with Facebook - Krešimir Mišu...
 
Kako pretvoriti server_sobu_u_cloud
Kako pretvoriti server_sobu_u_cloudKako pretvoriti server_sobu_u_cloud
Kako pretvoriti server_sobu_u_cloud
 
[TVZ računarstvo] Dinamičke web aplikacije, predavanje 11.
[TVZ računarstvo] Dinamičke web aplikacije, predavanje 11. [TVZ računarstvo] Dinamičke web aplikacije, predavanje 11.
[TVZ računarstvo] Dinamičke web aplikacije, predavanje 11.
 
Zašto nam treba PaaS u Srcu?
Zašto nam treba PaaS u Srcu?Zašto nam treba PaaS u Srcu?
Zašto nam treba PaaS u Srcu?
 
MSNetwork 4 - Enterprise funkcionalnosti u malim tvrtkama sa Office 365
MSNetwork 4 - Enterprise funkcionalnosti u malim tvrtkama sa Office 365MSNetwork 4 - Enterprise funkcionalnosti u malim tvrtkama sa Office 365
MSNetwork 4 - Enterprise funkcionalnosti u malim tvrtkama sa Office 365
 
Zasto Flex
Zasto FlexZasto Flex
Zasto Flex
 
FSEC2011-Dinko
FSEC2011-DinkoFSEC2011-Dinko
FSEC2011-Dinko
 
FSEC2011: Reverzni inzenjering Android aplikacija
FSEC2011: Reverzni inzenjering Android aplikacijaFSEC2011: Reverzni inzenjering Android aplikacija
FSEC2011: Reverzni inzenjering Android aplikacija
 
HUJAK - JavaOne 2012
HUJAK - JavaOne 2012HUJAK - JavaOne 2012
HUJAK - JavaOne 2012
 
Razvoj Softvera Za Android Os
Razvoj Softvera Za Android OsRazvoj Softvera Za Android Os
Razvoj Softvera Za Android Os
 
RSII_P6_2017_18.pdf
RSII_P6_2017_18.pdfRSII_P6_2017_18.pdf
RSII_P6_2017_18.pdf
 
Goran Aleksić - HORA games - Development automatizacija
Goran Aleksić - HORA games - Development automatizacijaGoran Aleksić - HORA games - Development automatizacija
Goran Aleksić - HORA games - Development automatizacija
 
WinDays 13 - Internet Explorer 10 - san koji je postao java
WinDays 13 - Internet Explorer 10 - san koji je postao javaWinDays 13 - Internet Explorer 10 - san koji je postao java
WinDays 13 - Internet Explorer 10 - san koji je postao java
 
Upravljanje pristupom uz Azure AD B2C_IvanMarkovic
Upravljanje pristupom uz Azure AD B2C_IvanMarkovicUpravljanje pristupom uz Azure AD B2C_IvanMarkovic
Upravljanje pristupom uz Azure AD B2C_IvanMarkovic
 
Big Brother Hrvatska 2007 - Case Study - BizBuzz
Big Brother Hrvatska 2007 - Case Study - BizBuzzBig Brother Hrvatska 2007 - Case Study - BizBuzz
Big Brother Hrvatska 2007 - Case Study - BizBuzz
 
Heron MC - JavaScript for sysadmins and lazy developers
Heron MC - JavaScript for sysadmins and lazy developersHeron MC - JavaScript for sysadmins and lazy developers
Heron MC - JavaScript for sysadmins and lazy developers
 

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

  • 1. Razvoj aplikacija za Google Chromecast Branimir Conjar Matija Kovačić Krešimir Mišura
  • 2. Sadržaj • Što je to Google Chromecast? • Kako funkcionira • Korisničko iskustvo (UX) • Kako postati developer • Razvoj aplikacija • Zaključak • Q & A
  • 3. Što je to Google 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žani formati – 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

Hinweis der Redaktion

  1. 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)
  2. 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. 
  3. - 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)
  4. 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...