SlideShare ist ein Scribd-Unternehmen logo
1 von 37
Downloaden Sie, um offline zu lesen
Enlarge
your screen :-)
 Introducing the Google TV

     Matteo Bonifazi - Stefano Sanna

               GDG Roma




     Florence - 2012/10/19
Let’s talk about...
• Speakers

• Android happens elsewhere
• Google TV
 •   timeline
 •   how it works
 •   writing apps for the Google TV
 •   beyond the TV: second screen and Anymote


• DEMO

• Conclusion
                            Enlarge your screen
                       Matteo Bonifazi - Stefano Sanna
Ladies & gentlemen...

• Matteo Bonifazi
 •   Android Developer @ Open Reply Android Lab
 •   Member of GDG L-Ab Roma




• Stefano Sanna
 •   Head of Open Reply Android Lab
 •   Author (with E. Di Saverio) of
     “Android Programmazione Avanzata” (Ed. FAG)


                            Enlarge your screen
                       Matteo Bonifazi - Stefano Sanna
For most people Android is...




              Enlarge your screen
         Matteo Bonifazi - Stefano Sanna
Android happens elsewhere

• “Beyond the product” (being an operating
  system), Android is a rich eco-system: open
  source, widely supported by manufacturers
  and developers...

• Its strong and stable Linux foundation makes
  Android an affordable alternative to “typical
  Linux distribution” for embedded systems


                       Enlarge your screen
                  Matteo Bonifazi - Stefano Sanna
Today
Tomorrow
Today




     Enlarge your screen
Matteo Bonifazi - Stefano Sanna
Google TV

• Among these “unconventional” Android
  devices, the Google TV is the official platform
  for (upcoming?) interactive services “beyond
  smartphones and tablets”

• Although it has still not been announced in
  Italy, Google TV has landed in Europe (UK)
  this year and it will be available in other
  country later in 2012

                       Enlarge your screen
                  Matteo Bonifazi - Stefano Sanna
Timeline
• 2007/11
  •   Android is announced
• 2008/09
  •   T-Mobile G1 launched
• 2010/06
  •   Launch of Google TV 1st gen as a “closed platform”
• 2011/02
  •   Motorola Xoom officially brings Android into the tablet market
• 2011/08
  •   Google TV SDK (beta) is published: the platform is now open!
• 2011/10
  •   Google TV update includes Android Market
• 2011/11
  •   Ice Cream Sandwich merges smartphone and tablets in a single platform
• 2012/06
  •   Google TV 2.0 and Jelly Bean mark new Android evolution
                                       Enlarge your screen
                                  Matteo Bonifazi - Stefano Sanna
Google TV hardware

• First generation devices
 •   Sony NSZ-GT1 (Blu-ray Player)
 •   Sony NSX-40GT1 (Internet TV)
 •   Logitech Revue (set-top box)



• New generation devices
 •   LG 47G2/55G2 (Internet TV)
 •   Sony NSZ-GS7 (set-top box)
 •   Vizio Co-Star (set-top box)
 •   More to come later this year...

                              Enlarge your screen
                         Matteo Bonifazi - Stefano Sanna
Any TV with HDMI input
                                                                How it works


Any DVB-T, DVB-S, DVB-C
decoder with HDMI output




                                                 HDMI IN             HDMI OUT




                               Internet connection via                     Optional external
                                  Ethernet or WiFi                        storage via USB 2.0

                                        Enlarge your screen
                                   Matteo Bonifazi - Stefano Sanna
Logitech Revue
• First generation of Google TV device
• Based on Intel ATOM CPU

• Recently updated to Honeycomb 3.2
• Supports ADK, HLS and USB storage
• Affordable (about €150 with keyboard)

• Unfortunately it is no longer sold... but it can
  be easily found used or brand-new on ebay! :-)


                       Enlarge your screen
                  Matteo Bonifazi - Stefano Sanna
Sony NSZ-GS7
• Second generation of Google TV
• First STB launched in Europe (July 2012)!
• Based on ARM CPU
• Equipped with
  Honeycomb 3.2
• Not so cheap
  (about €250)
  with enhanced remote controller



                       Enlarge your screen
                  Matteo Bonifazi - Stefano Sanna
Google TV main features
• For end-users
 •   Rent movies and TV episodes on demand
 •   Youtube
 •   Chrome
 •   3rd party apps
 •   Movies, pictures, music on local storage


• For developers
 •   Honeycomb 3.2 platform
 •   Rich, powerful and well-known Android multiscreen API
 •   Google Play Store for distributing apps

                             Enlarge your screen
                        Matteo Bonifazi - Stefano Sanna
Google TV API
• The Google TV platform consist of

         0 (ZERO) NEW API
  over the “standard” platform!
• A new Content Provider and a few constants
  provide the way to address channel switching
  and filter platform specific features
• Android SDK and Eclipse are the basic toolkit
  for targeting the Google TV!
                      Enlarge your screen
                 Matteo Bonifazi - Stefano Sanna
Targeting the Google TV
 • The AndroidManifest.xml rules:
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
    package="org.example.phototv" android:versionCode="1" android:versionName="1.0" >

    <uses-sdk android:minSdkVersion="13" android:targetSdkVersion="15" />

    <supports-screens
        android:anyDensity="true" android:largeScreens="true"
        android:normalScreens="false" android:smallScreens="false"
        android:xlargeScreens="false" />

    <uses-feature android:name="android.hardware.touchscreen" android:required="false" />
    <uses-feature android:name="com.google.android.tv" android:required="true"/>

    <uses-permission android:name="com.google.android.tv.permission.READ_CHANNELS">

    <application
        android:icon="@drawable/ic_launcher" android:label="@string/app_name" >
        <activity android:screenOrientation="unspecified"
            android:name=".PhotoTV" android:label="@string/app_name">
            <intent-filter> [...] </intent-filter>
        </activity>
    </application>

</manifest>


                                        Enlarge your screen
                                   Matteo Bonifazi - Stefano Sanna
Test environment
• The best is to have a real set-top box

• If not available, install the Google TV Add-on
  •   Runs on Linux 64bit with KVM Kernel
  •   Can’t run on virtual environments
  •   Does not support video streaming (as for Platform 1.0)


• The DIY way: a old-fashioned Android 1.x
  device (HTC Dream, HTC Magic, Samsung
  Galaxy) with D-PAD can be used to test
  navigation!
                              Enlarge your screen
                         Matteo Bonifazi - Stefano Sanna
Configure the set-top box
• Run the initial configuration (language, screen
  size, network, Google Account...)
• Apps deployment and debugging is over the
  network connection. USB ports work in host
  mode.
• Try to have a fixed IP address for both Google
  TV STB and development workstation
• Enable remote debugging and assign remote
  debugging host IP
  •   If using a Logitech Revue: set resolution to 720p (sigh!) to get
      screenshots via ADB
                               Enlarge your screen
                          Matteo Bonifazi - Stefano Sanna
Let them find each other... :-)



set-top
  box




 host       AndroidDev:~ gdx$ adb connect GTV_IP_ADDRESS


                      Enlarge your screen
                 Matteo Bonifazi - Stefano Sanna
Size and density
• The TV screen is classified as “large”

• HD Ready TV (720p) are classified as tvdpi
  density, 213 dpi

• Full HD TV (1080p) are classified as xhdpi
  density, 320 dpi

• 720p and 1080p have the same “independent”
  resolution: 960x540dp
                       Enlarge your screen
                  Matteo Bonifazi - Stefano Sanna
Size, density and distance
TV Full HD
30” - 320dpi
                        smartphone
                        5” - 320dpi




                                      30-50cm


                300cm
The 10ft environment

• The UI is at 10ft (about 3m) from the user
  which
  •   is in a relaxing/funny environment
  •   is shared with family and friends
  •   is in a dimmed environment
  •   provides (high quality) audio that is not (usually) optional
  •   has no keyboards and mouse/touchpads, that are (usually)
      replaced by compact remote controllers with simple 5-way
      navigation (aka D-PAD)



                               Enlarge your screen
                          Matteo Bonifazi - Stefano Sanna
A closer look to the controller
                                D-PAD, BACK, MENU,
                                    HOME, PiP



  An embedded accelerometer disables
 the QWERTY keyboard when using the
  trackpad, which is disabled when using
            the back keyboard




                                                                       TRACKPAD with hard
                                                                        button (as in MBP)
BACK-LIGHT QWERTY
    KEYBOARD                              Enlarge your screen
                                     Matteo Bonifazi - Stefano Sanna
Good practices
• UI
 •   Dynamic layouts and relative sizes are encouraged
 •   Different screens may have different overscan areas: never
     rely on physical pixels!!!
 •   App layout should be divided in three areas:
     global, contextual and detail




                            Source:
                             https://developers.google.com/tv/android/docs/gtv_android_patterns
                             Enlarge your screen
                        Matteo Bonifazi - Stefano Sanna
Good practices
• Navigation
 •   Every App should be implemented according to D-PAD
     navigability
 •   All the controls in each View has to be get through the D-PAD
• Controls
 •   Avoid long typing: try, if possible, to suggest texts,
     shortcuts...
 •   Limit use of pointing
     device
 •   False friend: “it seems a
     big tablet”. It is not.
     The user can’t swipe on
     it!
 •   BACK is your friend!
                               Source:
                                https://developers.google.com/tv/android/docs/gtv_android_patterns
                               Enlarge your screen
                          Matteo Bonifazi - Stefano Sanna
DEMO

a photo viewer


        Enlarge your screen
   Matteo Bonifazi - Stefano Sanna
Album selection   Photo viewer “views”




                                                     Album overview




Picture browser


                        Enlarge your screen
                   Matteo Bonifazi - Stefano Sanna
Main and sub navigation
• The developer has to identify main navigation (on
  the detail view, where the user spends more of his
  time) and sub navigation (contextual view, used less
  often)
• In the photo browser app:
  •   Likelihood, the user will spend most of time browsing photos of an
      album, instead of jumping between albums
  •   The main navigation is the photo browser within an album
  •   The sub navigation is the selection of an album
• The main navigation should performed using just
  the D-PAD
• The sub navigation could be accessed using
  secondary button (e.g., MENU and BACK)
                                 Enlarge your screen
                            Matteo Bonifazi - Stefano Sanna
                                                              Google will forgive us for this... ;-)
Navigation
                              NAV:
              CENTER    UP/DOWN/LEFT/RIGHT


               MENU
  NAV:
UP/DOWN
                         BACK
                                   CENTER
                       MENU


             CENTER

                               NAV:
                            LEFT/RIGHT

   NAV:        BACK
LEFT/RIGHT
Beyond the TV




        Enlarge your screen
   Matteo Bonifazi - Stefano Sanna
Second Screen applications
• Enhance interactions between Google TV and
  others device ( smartphone,tablets,etc.)
• Adding more functionality for the Google TV
  itself
• Huge opportunities to develop new different
  kind of application




  Able Remote: Transform your Android                         Multiplayer Games: Android device is the
  device in a custom Google TV Remote                         joystick and the TV is the controller

                                         Enlarge your screen
                                    Matteo Bonifazi - Stefano Sanna
Anymote
• Anymote protocol is IP layer protocol

• Devices use TLS/SSL to avoid sniffing issues

• Thanks to Anymote service Google TV stb can
  receive and respond to Anymote messages

• In order to communicate with the Google TV, a
  remote app does:
  •   Identifies Google TV
  •   Authenticates the device through Paring Protocol
  •   Sends events (connection, key, mouse, trackball...)
                               Enlarge your screen
                          Matteo Bonifazi - Stefano Sanna
Conclusions
• Have fun with smartphones and tablet, but
  don’t forget that it is only the beginning!

• Google TV enlarges “screens and
  opportunities”
  •   new entertainment machine for people not so comfortable
      with computers
  •   second screen applications may enhance UX and encourage
      gaming
  •   Google TV could be the cornerstone of new home automation
      application and services: the STB is always powered, always
      connected, always accessible

                              Enlarge your screen
                         Matteo Bonifazi - Stefano Sanna
Resources

• Google TV
 •   http://www.google.com/tv/
 •   https://developers.google.com/tv/
 •   http://googletv.blogspot.it/


• Hardware and community
 •   http://store.sony.com/p/NSZ-GS7/en/p/NSZGS7
 •   http://www.vizio.com/costar/overview
 •   http://www.gtvhacker.com/



                             Enlarge your screen
                        Matteo Bonifazi - Stefano Sanna
Contacts

• Matteo Bonifazi
 •   dekra06 AT gmail DOT com
 •   @mbonifazi


• Stefano Sanna
 •   gerdavax AT gmail DOT com
 •   @gerdavax
 •   http://www.gerdavax.it
 •   http://www.androidavanzato.it



                             Enlarge your screen
                        Matteo Bonifazi - Stefano Sanna
Thank you

Weitere ähnliche Inhalte

Was ist angesagt?

N8 training-bg
N8 training-bgN8 training-bg
N8 training-bg
mkushev
 
Singapore Electronics budget
Singapore Electronics budget Singapore Electronics budget
Singapore Electronics budget
Gustavo Dias
 
Gv eye%201.1.1-apple
Gv eye%201.1.1-appleGv eye%201.1.1-apple
Gv eye%201.1.1-apple
TSOLUTIONS
 

Was ist angesagt? (7)

Android Tablet for Business
Android Tablet for BusinessAndroid Tablet for Business
Android Tablet for Business
 
N8 training-bg
N8 training-bgN8 training-bg
N8 training-bg
 
Singapore Electronics budget
Singapore Electronics budget Singapore Electronics budget
Singapore Electronics budget
 
Gv eye%201.1.1-apple
Gv eye%201.1.1-appleGv eye%201.1.1-apple
Gv eye%201.1.1-apple
 
Beyond live streaming 2 way communications
Beyond live streaming 2 way communications Beyond live streaming 2 way communications
Beyond live streaming 2 way communications
 
Dukane 8120 wi projector
Dukane 8120 wi projectorDukane 8120 wi projector
Dukane 8120 wi projector
 
Tips for online services &amp; spiritual sharing sessions
Tips for online services &amp; spiritual sharing sessionsTips for online services &amp; spiritual sharing sessions
Tips for online services &amp; spiritual sharing sessions
 

Andere mochten auch

Gtug florence intro
Gtug florence introGtug florence intro
Gtug florence intro
firenze-gtug
 
C:\Documents And Settings\Guty\Desktop\Bach147 Jesu Lgria Dos Homens Teclado
C:\Documents And Settings\Guty\Desktop\Bach147 Jesu Lgria Dos Homens TecladoC:\Documents And Settings\Guty\Desktop\Bach147 Jesu Lgria Dos Homens Teclado
C:\Documents And Settings\Guty\Desktop\Bach147 Jesu Lgria Dos Homens Teclado
eletricadouro.com
 
De Meldij presentatie
De Meldij presentatieDe Meldij presentatie
De Meldij presentatie
NienkeWind
 
Google country day_intervento
Google country day_interventoGoogle country day_intervento
Google country day_intervento
firenze-gtug
 
DCD London 2016 - OCP Data Center Project Engineering Workshop Presentation D...
DCD London 2016 - OCP Data Center Project Engineering Workshop Presentation D...DCD London 2016 - OCP Data Center Project Engineering Workshop Presentation D...
DCD London 2016 - OCP Data Center Project Engineering Workshop Presentation D...
Inflectiontech Ltd
 

Andere mochten auch (18)

Clean android code
Clean android codeClean android code
Clean android code
 
Meiga Guadec 2009 English
Meiga Guadec 2009 EnglishMeiga Guadec 2009 English
Meiga Guadec 2009 English
 
Presentazione Google App Engine
Presentazione Google App EnginePresentazione Google App Engine
Presentazione Google App Engine
 
NATALIA15
NATALIA15NATALIA15
NATALIA15
 
Click Here
Click HereClick Here
Click Here
 
Gtug florence intro
Gtug florence introGtug florence intro
Gtug florence intro
 
Click Here
Click HereClick Here
Click Here
 
MARCOMmagazine Maart 2010
MARCOMmagazine Maart 2010MARCOMmagazine Maart 2010
MARCOMmagazine Maart 2010
 
C:\Documents And Settings\Guty\Desktop\Bach147 Jesu Lgria Dos Homens Teclado
C:\Documents And Settings\Guty\Desktop\Bach147 Jesu Lgria Dos Homens TecladoC:\Documents And Settings\Guty\Desktop\Bach147 Jesu Lgria Dos Homens Teclado
C:\Documents And Settings\Guty\Desktop\Bach147 Jesu Lgria Dos Homens Teclado
 
De Meldij presentatie
De Meldij presentatieDe Meldij presentatie
De Meldij presentatie
 
Google country day_intervento
Google country day_interventoGoogle country day_intervento
Google country day_intervento
 
MARCOMmagazine Januari 2010
MARCOMmagazine Januari 2010MARCOMmagazine Januari 2010
MARCOMmagazine Januari 2010
 
The eTwinning Desktop - PDW Istanbul, 17-18 September 2010
The eTwinning Desktop - PDW Istanbul, 17-18 September 2010The eTwinning Desktop - PDW Istanbul, 17-18 September 2010
The eTwinning Desktop - PDW Istanbul, 17-18 September 2010
 
Mapping Networks for Day 3 Management
Mapping Networks for Day 3 Management  Mapping Networks for Day 3 Management
Mapping Networks for Day 3 Management
 
Our project - 50 easy things you can do save the earth
Our project - 50 easy things you can do save the earthOur project - 50 easy things you can do save the earth
Our project - 50 easy things you can do save the earth
 
Android chat in the cloud
Android chat in the cloudAndroid chat in the cloud
Android chat in the cloud
 
Gwt development with errai and forge
Gwt development with errai and forgeGwt development with errai and forge
Gwt development with errai and forge
 
DCD London 2016 - OCP Data Center Project Engineering Workshop Presentation D...
DCD London 2016 - OCP Data Center Project Engineering Workshop Presentation D...DCD London 2016 - OCP Data Center Project Engineering Workshop Presentation D...
DCD London 2016 - OCP Data Center Project Engineering Workshop Presentation D...
 

Ähnlich wie Google tv gdg_devfest_firenze2012

Mobile apps on the big screen
Mobile apps on the big screenMobile apps on the big screen
Mobile apps on the big screen
Heinrich Seeger
 
Developing Android Applications for Google TV - Android Developer Lab 2011
Developing Android Applications for Google TV - Android Developer Lab 2011Developing Android Applications for Google TV - Android Developer Lab 2011
Developing Android Applications for Google TV - Android Developer Lab 2011
Paris Android User Group
 
Hu9000 spec sheet_7_31_14
Hu9000 spec sheet_7_31_14Hu9000 spec sheet_7_31_14
Hu9000 spec sheet_7_31_14
Rizwan Nsr
 
Google TV - Droidcon Murcia
Google TV - Droidcon MurciaGoogle TV - Droidcon Murcia
Google TV - Droidcon Murcia
Iñaki Villar
 
1620 tablet monsoon showcase
1620 tablet monsoon showcase1620 tablet monsoon showcase
1620 tablet monsoon showcase
Jeff Loechner
 

Ähnlich wie Google tv gdg_devfest_firenze2012 (20)

Mobile apps on the big screen
Mobile apps on the big screenMobile apps on the big screen
Mobile apps on the big screen
 
Ifa Report - public part
Ifa Report - public partIfa Report - public part
Ifa Report - public part
 
Developing Android Applications for Google TV - Android Developer Lab 2011
Developing Android Applications for Google TV - Android Developer Lab 2011Developing Android Applications for Google TV - Android Developer Lab 2011
Developing Android Applications for Google TV - Android Developer Lab 2011
 
I tube tr
I tube trI tube tr
I tube tr
 
Google TV: Thoughts From Left Field
Google TV: Thoughts From Left FieldGoogle TV: Thoughts From Left Field
Google TV: Thoughts From Left Field
 
From desktop to big screens
From desktop to big screens From desktop to big screens
From desktop to big screens
 
ASUS CUBE with Google TV
ASUS CUBE with Google TVASUS CUBE with Google TV
ASUS CUBE with Google TV
 
Hu9000 spec sheet_7_31_14
Hu9000 spec sheet_7_31_14Hu9000 spec sheet_7_31_14
Hu9000 spec sheet_7_31_14
 
What is a tv box from Tronfy
What is a tv box from TronfyWhat is a tv box from Tronfy
What is a tv box from Tronfy
 
What Are Famous TV Brands Best Known For [Slideshare]
What Are Famous TV Brands Best Known For [Slideshare]What Are Famous TV Brands Best Known For [Slideshare]
What Are Famous TV Brands Best Known For [Slideshare]
 
Google tv
Google tvGoogle tv
Google tv
 
CES 2011 Recap - by @AdamB
CES 2011 Recap - by @AdamBCES 2011 Recap - by @AdamB
CES 2011 Recap - by @AdamB
 
Netgear
NetgearNetgear
Netgear
 
Ministry and Media Technologies - Pro Tips
Ministry and Media Technologies - Pro TipsMinistry and Media Technologies - Pro Tips
Ministry and Media Technologies - Pro Tips
 
Google TV - Droidcon Murcia
Google TV - Droidcon MurciaGoogle TV - Droidcon Murcia
Google TV - Droidcon Murcia
 
Smart TV Box, 1.6GHz CUP with Android 4.1
Smart TV Box, 1.6GHz CUP with Android 4.1Smart TV Box, 1.6GHz CUP with Android 4.1
Smart TV Box, 1.6GHz CUP with Android 4.1
 
1620 tablet monsoon showcase
1620 tablet monsoon showcase1620 tablet monsoon showcase
1620 tablet monsoon showcase
 
Azbox me
Azbox meAzbox me
Azbox me
 
Smart TV Essentials for OEM/ODM
Smart TV Essentials for OEM/ODMSmart TV Essentials for OEM/ODM
Smart TV Essentials for OEM/ODM
 
Serenity for Android: Designing for Android TV Devices
Serenity for Android: Designing for Android TV DevicesSerenity for Android: Designing for Android TV Devices
Serenity for Android: Designing for Android TV Devices
 

Mehr von firenze-gtug

Maven from dummies
Maven from dummiesMaven from dummies
Maven from dummies
firenze-gtug
 

Mehr von firenze-gtug (20)

Html5 apps - GWT oriented
Html5 apps - GWT orientedHtml5 apps - GWT oriented
Html5 apps - GWT oriented
 
Android ndk - ottimizzazione su dispositivi Intel
Android ndk - ottimizzazione su dispositivi IntelAndroid ndk - ottimizzazione su dispositivi Intel
Android ndk - ottimizzazione su dispositivi Intel
 
Gwt kickoff - Alberto Mancini & Francesca Tosi
Gwt kickoff - Alberto Mancini & Francesca TosiGwt kickoff - Alberto Mancini & Francesca Tosi
Gwt kickoff - Alberto Mancini & Francesca Tosi
 
Youtube broadcast live - Massimiliano D'Ambrosio
Youtube broadcast live - Massimiliano D'AmbrosioYoutube broadcast live - Massimiliano D'Ambrosio
Youtube broadcast live - Massimiliano D'Ambrosio
 
Intro BeagleBone Black - Massimiliano D'Ambrosio
Intro BeagleBone Black - Massimiliano D'AmbrosioIntro BeagleBone Black - Massimiliano D'Ambrosio
Intro BeagleBone Black - Massimiliano D'Ambrosio
 
Arduino - Massimiliano D'Ambrosio
Arduino - Massimiliano D'AmbrosioArduino - Massimiliano D'Ambrosio
Arduino - Massimiliano D'Ambrosio
 
Introduzione a GAE - Alessandro Aglietti e Lorenzo Bugiani
Introduzione a GAE - Alessandro Aglietti e Lorenzo BugianiIntroduzione a GAE - Alessandro Aglietti e Lorenzo Bugiani
Introduzione a GAE - Alessandro Aglietti e Lorenzo Bugiani
 
RFID: What & Why - Stefano Coluccini
RFID: What & Why - Stefano ColucciniRFID: What & Why - Stefano Coluccini
RFID: What & Why - Stefano Coluccini
 
GWT - AppDays - (25 aprile 2014, pordenone)
GWT - AppDays - (25 aprile 2014, pordenone)GWT - AppDays - (25 aprile 2014, pordenone)
GWT - AppDays - (25 aprile 2014, pordenone)
 
#Html2Native
#Html2Native#Html2Native
#Html2Native
 
Intel ndk - a few Benchmarks
Intel ndk - a few BenchmarksIntel ndk - a few Benchmarks
Intel ndk - a few Benchmarks
 
EE Incremental Store
EE Incremental StoreEE Incremental Store
EE Incremental Store
 
Programming objects with android
Programming objects with androidProgramming objects with android
Programming objects with android
 
Apertura "Mobile & Embedded" - 13 febbraio 2014
Apertura "Mobile & Embedded" - 13 febbraio 2014Apertura "Mobile & Embedded" - 13 febbraio 2014
Apertura "Mobile & Embedded" - 13 febbraio 2014
 
Maven from dummies
Maven from dummiesMaven from dummies
Maven from dummies
 
Apps fuel oct2012
Apps fuel oct2012Apps fuel oct2012
Apps fuel oct2012
 
Dev fest android application case study
Dev fest android application   case studyDev fest android application   case study
Dev fest android application case study
 
google drive and the google drive sdk
google drive and the google drive sdkgoogle drive and the google drive sdk
google drive and the google drive sdk
 
You tube api overview
You tube api overviewYou tube api overview
You tube api overview
 
AdWordsScripts v1
AdWordsScripts v1AdWordsScripts v1
AdWordsScripts v1
 

Kürzlich hochgeladen

CNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of ServiceCNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of Service
giselly40
 
Histor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slideHistor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slide
vu2urc
 

Kürzlich hochgeladen (20)

Partners Life - Insurer Innovation Award 2024
Partners Life - Insurer Innovation Award 2024Partners Life - Insurer Innovation Award 2024
Partners Life - Insurer Innovation Award 2024
 
Boost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityBoost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivity
 
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdfThe Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
 
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemkeProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
 
Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...
 
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected Worker
 
CNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of ServiceCNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of Service
 
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot TakeoffStrategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
 
Scaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationScaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organization
 
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
 
Handwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsHandwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed texts
 
Boost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfBoost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdf
 
Presentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreterPresentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreter
 
A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)
 
Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024
 
GenAI Risks & Security Meetup 01052024.pdf
GenAI Risks & Security Meetup 01052024.pdfGenAI Risks & Security Meetup 01052024.pdf
GenAI Risks & Security Meetup 01052024.pdf
 
Histor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slideHistor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slide
 
The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024
 
Automating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps ScriptAutomating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps Script
 

Google tv gdg_devfest_firenze2012

  • 1. Enlarge your screen :-) Introducing the Google TV Matteo Bonifazi - Stefano Sanna GDG Roma Florence - 2012/10/19
  • 2. Let’s talk about... • Speakers • Android happens elsewhere • Google TV • timeline • how it works • writing apps for the Google TV • beyond the TV: second screen and Anymote • DEMO • Conclusion Enlarge your screen Matteo Bonifazi - Stefano Sanna
  • 3. Ladies & gentlemen... • Matteo Bonifazi • Android Developer @ Open Reply Android Lab • Member of GDG L-Ab Roma • Stefano Sanna • Head of Open Reply Android Lab • Author (with E. Di Saverio) of “Android Programmazione Avanzata” (Ed. FAG) Enlarge your screen Matteo Bonifazi - Stefano Sanna
  • 4. For most people Android is... Enlarge your screen Matteo Bonifazi - Stefano Sanna
  • 5. Android happens elsewhere • “Beyond the product” (being an operating system), Android is a rich eco-system: open source, widely supported by manufacturers and developers... • Its strong and stable Linux foundation makes Android an affordable alternative to “typical Linux distribution” for embedded systems Enlarge your screen Matteo Bonifazi - Stefano Sanna
  • 8. Today Enlarge your screen Matteo Bonifazi - Stefano Sanna
  • 9. Google TV • Among these “unconventional” Android devices, the Google TV is the official platform for (upcoming?) interactive services “beyond smartphones and tablets” • Although it has still not been announced in Italy, Google TV has landed in Europe (UK) this year and it will be available in other country later in 2012 Enlarge your screen Matteo Bonifazi - Stefano Sanna
  • 10. Timeline • 2007/11 • Android is announced • 2008/09 • T-Mobile G1 launched • 2010/06 • Launch of Google TV 1st gen as a “closed platform” • 2011/02 • Motorola Xoom officially brings Android into the tablet market • 2011/08 • Google TV SDK (beta) is published: the platform is now open! • 2011/10 • Google TV update includes Android Market • 2011/11 • Ice Cream Sandwich merges smartphone and tablets in a single platform • 2012/06 • Google TV 2.0 and Jelly Bean mark new Android evolution Enlarge your screen Matteo Bonifazi - Stefano Sanna
  • 11. Google TV hardware • First generation devices • Sony NSZ-GT1 (Blu-ray Player) • Sony NSX-40GT1 (Internet TV) • Logitech Revue (set-top box) • New generation devices • LG 47G2/55G2 (Internet TV) • Sony NSZ-GS7 (set-top box) • Vizio Co-Star (set-top box) • More to come later this year... Enlarge your screen Matteo Bonifazi - Stefano Sanna
  • 12. Any TV with HDMI input How it works Any DVB-T, DVB-S, DVB-C decoder with HDMI output HDMI IN HDMI OUT Internet connection via Optional external Ethernet or WiFi storage via USB 2.0 Enlarge your screen Matteo Bonifazi - Stefano Sanna
  • 13. Logitech Revue • First generation of Google TV device • Based on Intel ATOM CPU • Recently updated to Honeycomb 3.2 • Supports ADK, HLS and USB storage • Affordable (about €150 with keyboard) • Unfortunately it is no longer sold... but it can be easily found used or brand-new on ebay! :-) Enlarge your screen Matteo Bonifazi - Stefano Sanna
  • 14. Sony NSZ-GS7 • Second generation of Google TV • First STB launched in Europe (July 2012)! • Based on ARM CPU • Equipped with Honeycomb 3.2 • Not so cheap (about €250) with enhanced remote controller Enlarge your screen Matteo Bonifazi - Stefano Sanna
  • 15. Google TV main features • For end-users • Rent movies and TV episodes on demand • Youtube • Chrome • 3rd party apps • Movies, pictures, music on local storage • For developers • Honeycomb 3.2 platform • Rich, powerful and well-known Android multiscreen API • Google Play Store for distributing apps Enlarge your screen Matteo Bonifazi - Stefano Sanna
  • 16. Google TV API • The Google TV platform consist of 0 (ZERO) NEW API over the “standard” platform! • A new Content Provider and a few constants provide the way to address channel switching and filter platform specific features • Android SDK and Eclipse are the basic toolkit for targeting the Google TV! Enlarge your screen Matteo Bonifazi - Stefano Sanna
  • 17. Targeting the Google TV • The AndroidManifest.xml rules: <manifest xmlns:android="http://schemas.android.com/apk/res/android" package="org.example.phototv" android:versionCode="1" android:versionName="1.0" > <uses-sdk android:minSdkVersion="13" android:targetSdkVersion="15" /> <supports-screens android:anyDensity="true" android:largeScreens="true" android:normalScreens="false" android:smallScreens="false" android:xlargeScreens="false" /> <uses-feature android:name="android.hardware.touchscreen" android:required="false" /> <uses-feature android:name="com.google.android.tv" android:required="true"/> <uses-permission android:name="com.google.android.tv.permission.READ_CHANNELS"> <application android:icon="@drawable/ic_launcher" android:label="@string/app_name" > <activity android:screenOrientation="unspecified" android:name=".PhotoTV" android:label="@string/app_name"> <intent-filter> [...] </intent-filter> </activity> </application> </manifest> Enlarge your screen Matteo Bonifazi - Stefano Sanna
  • 18. Test environment • The best is to have a real set-top box • If not available, install the Google TV Add-on • Runs on Linux 64bit with KVM Kernel • Can’t run on virtual environments • Does not support video streaming (as for Platform 1.0) • The DIY way: a old-fashioned Android 1.x device (HTC Dream, HTC Magic, Samsung Galaxy) with D-PAD can be used to test navigation! Enlarge your screen Matteo Bonifazi - Stefano Sanna
  • 19. Configure the set-top box • Run the initial configuration (language, screen size, network, Google Account...) • Apps deployment and debugging is over the network connection. USB ports work in host mode. • Try to have a fixed IP address for both Google TV STB and development workstation • Enable remote debugging and assign remote debugging host IP • If using a Logitech Revue: set resolution to 720p (sigh!) to get screenshots via ADB Enlarge your screen Matteo Bonifazi - Stefano Sanna
  • 20. Let them find each other... :-) set-top box host AndroidDev:~ gdx$ adb connect GTV_IP_ADDRESS Enlarge your screen Matteo Bonifazi - Stefano Sanna
  • 21. Size and density • The TV screen is classified as “large” • HD Ready TV (720p) are classified as tvdpi density, 213 dpi • Full HD TV (1080p) are classified as xhdpi density, 320 dpi • 720p and 1080p have the same “independent” resolution: 960x540dp Enlarge your screen Matteo Bonifazi - Stefano Sanna
  • 22. Size, density and distance TV Full HD 30” - 320dpi smartphone 5” - 320dpi 30-50cm 300cm
  • 23. The 10ft environment • The UI is at 10ft (about 3m) from the user which • is in a relaxing/funny environment • is shared with family and friends • is in a dimmed environment • provides (high quality) audio that is not (usually) optional • has no keyboards and mouse/touchpads, that are (usually) replaced by compact remote controllers with simple 5-way navigation (aka D-PAD) Enlarge your screen Matteo Bonifazi - Stefano Sanna
  • 24. A closer look to the controller D-PAD, BACK, MENU, HOME, PiP An embedded accelerometer disables the QWERTY keyboard when using the trackpad, which is disabled when using the back keyboard TRACKPAD with hard button (as in MBP) BACK-LIGHT QWERTY KEYBOARD Enlarge your screen Matteo Bonifazi - Stefano Sanna
  • 25. Good practices • UI • Dynamic layouts and relative sizes are encouraged • Different screens may have different overscan areas: never rely on physical pixels!!! • App layout should be divided in three areas: global, contextual and detail Source: https://developers.google.com/tv/android/docs/gtv_android_patterns Enlarge your screen Matteo Bonifazi - Stefano Sanna
  • 26. Good practices • Navigation • Every App should be implemented according to D-PAD navigability • All the controls in each View has to be get through the D-PAD • Controls • Avoid long typing: try, if possible, to suggest texts, shortcuts... • Limit use of pointing device • False friend: “it seems a big tablet”. It is not. The user can’t swipe on it! • BACK is your friend! Source: https://developers.google.com/tv/android/docs/gtv_android_patterns Enlarge your screen Matteo Bonifazi - Stefano Sanna
  • 27. DEMO a photo viewer Enlarge your screen Matteo Bonifazi - Stefano Sanna
  • 28. Album selection Photo viewer “views” Album overview Picture browser Enlarge your screen Matteo Bonifazi - Stefano Sanna
  • 29. Main and sub navigation • The developer has to identify main navigation (on the detail view, where the user spends more of his time) and sub navigation (contextual view, used less often) • In the photo browser app: • Likelihood, the user will spend most of time browsing photos of an album, instead of jumping between albums • The main navigation is the photo browser within an album • The sub navigation is the selection of an album • The main navigation should performed using just the D-PAD • The sub navigation could be accessed using secondary button (e.g., MENU and BACK) Enlarge your screen Matteo Bonifazi - Stefano Sanna Google will forgive us for this... ;-)
  • 30. Navigation NAV: CENTER UP/DOWN/LEFT/RIGHT MENU NAV: UP/DOWN BACK CENTER MENU CENTER NAV: LEFT/RIGHT NAV: BACK LEFT/RIGHT
  • 31. Beyond the TV Enlarge your screen Matteo Bonifazi - Stefano Sanna
  • 32. Second Screen applications • Enhance interactions between Google TV and others device ( smartphone,tablets,etc.) • Adding more functionality for the Google TV itself • Huge opportunities to develop new different kind of application Able Remote: Transform your Android Multiplayer Games: Android device is the device in a custom Google TV Remote joystick and the TV is the controller Enlarge your screen Matteo Bonifazi - Stefano Sanna
  • 33. Anymote • Anymote protocol is IP layer protocol • Devices use TLS/SSL to avoid sniffing issues • Thanks to Anymote service Google TV stb can receive and respond to Anymote messages • In order to communicate with the Google TV, a remote app does: • Identifies Google TV • Authenticates the device through Paring Protocol • Sends events (connection, key, mouse, trackball...) Enlarge your screen Matteo Bonifazi - Stefano Sanna
  • 34. Conclusions • Have fun with smartphones and tablet, but don’t forget that it is only the beginning! • Google TV enlarges “screens and opportunities” • new entertainment machine for people not so comfortable with computers • second screen applications may enhance UX and encourage gaming • Google TV could be the cornerstone of new home automation application and services: the STB is always powered, always connected, always accessible Enlarge your screen Matteo Bonifazi - Stefano Sanna
  • 35. Resources • Google TV • http://www.google.com/tv/ • https://developers.google.com/tv/ • http://googletv.blogspot.it/ • Hardware and community • http://store.sony.com/p/NSZ-GS7/en/p/NSZGS7 • http://www.vizio.com/costar/overview • http://www.gtvhacker.com/ Enlarge your screen Matteo Bonifazi - Stefano Sanna
  • 36. Contacts • Matteo Bonifazi • dekra06 AT gmail DOT com • @mbonifazi • Stefano Sanna • gerdavax AT gmail DOT com • @gerdavax • http://www.gerdavax.it • http://www.androidavanzato.it Enlarge your screen Matteo Bonifazi - Stefano Sanna