SlideShare una empresa de Scribd logo
1 de 37
Descargar para leer sin conexión
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

Más contenido relacionado

La actualidad más candente

N8 training-bg
N8 training-bgN8 training-bg
N8 training-bgmkushev
 
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-appleTSOLUTIONS
 
Beyond live streaming 2 way communications
Beyond live streaming 2 way communications Beyond live streaming 2 way communications
Beyond live streaming 2 way communications Paul Richards
 
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 sessionsPaul Richards
 

La actualidad más candente (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
 

Destacado

การนำเสนอโครงงานครั้งที่ 2
การนำเสนอโครงงานครั้งที่ 2การนำเสนอโครงงานครั้งที่ 2
การนำเสนอโครงงานครั้งที่ 2sc521010807
 
En Vista Introduction
En Vista IntroductionEn Vista Introduction
En Vista Introductionalgagnon
 
なごや自由大学企画書
なごや自由大学企画書なごや自由大学企画書
なごや自由大学企画書大橋 弘宜
 
Publicatie cloudcomputing webversie
Publicatie cloudcomputing webversiePublicatie cloudcomputing webversie
Publicatie cloudcomputing webversieharmwijsman
 
การนำเสนอโครงงาน ครั้งที่ 2 17 1-11
การนำเสนอโครงงาน ครั้งที่ 2 17 1-11การนำเสนอโครงงาน ครั้งที่ 2 17 1-11
การนำเสนอโครงงาน ครั้งที่ 2 17 1-11sc521010807
 
Goose Portfolio
Goose PortfolioGoose Portfolio
Goose PortfolioGoose
 
การนำเสนอโครงงาน ครั้งที่ 2 17 1-11
การนำเสนอโครงงาน ครั้งที่ 2 17 1-11การนำเสนอโครงงาน ครั้งที่ 2 17 1-11
การนำเสนอโครงงาน ครั้งที่ 2 17 1-11sc521010807
 
Sportsmanship
Sportsmanship Sportsmanship
Sportsmanship marleenj
 
Publicatie cloudcomputing webversie[1]
Publicatie cloudcomputing webversie[1]Publicatie cloudcomputing webversie[1]
Publicatie cloudcomputing webversie[1]harmwijsman
 
การนำเสนอโครงงาน ครั้งที่ 2 17 1-11
การนำเสนอโครงงาน ครั้งที่ 2 17 1-11การนำเสนอโครงงาน ครั้งที่ 2 17 1-11
การนำเสนอโครงงาน ครั้งที่ 2 17 1-11sc521010807
 
UaMobitech - App Links and App Indexing API
UaMobitech - App Links and App Indexing APIUaMobitech - App Links and App Indexing API
UaMobitech - App Links and App Indexing APIMatteo Bonifazi
 
Company Law Spring Update 2011 Linked In
Company Law Spring Update 2011 Linked InCompany Law Spring Update 2011 Linked In
Company Law Spring Update 2011 Linked Incsomnipro
 
Mana Manthani panchagam -2016-2017-telugu-rasi-phalalu-yearly-160406130349
Mana Manthani panchagam -2016-2017-telugu-rasi-phalalu-yearly-160406130349Mana Manthani panchagam -2016-2017-telugu-rasi-phalalu-yearly-160406130349
Mana Manthani panchagam -2016-2017-telugu-rasi-phalalu-yearly-160406130349Avadhanula Prasad
 
The unconventional devices for the Android video streaming
The unconventional devices for the Android video streamingThe unconventional devices for the Android video streaming
The unconventional devices for the Android video streamingMatteo Bonifazi
 
Video Streaming: from the native Android player to uncoventional devices
Video Streaming: from the native Android player to uncoventional devicesVideo Streaming: from the native Android player to uncoventional devices
Video Streaming: from the native Android player to uncoventional devicesMatteo Bonifazi
 

Destacado (16)

Ifttt入門
Ifttt入門Ifttt入門
Ifttt入門
 
การนำเสนอโครงงานครั้งที่ 2
การนำเสนอโครงงานครั้งที่ 2การนำเสนอโครงงานครั้งที่ 2
การนำเสนอโครงงานครั้งที่ 2
 
En Vista Introduction
En Vista IntroductionEn Vista Introduction
En Vista Introduction
 
なごや自由大学企画書
なごや自由大学企画書なごや自由大学企画書
なごや自由大学企画書
 
Publicatie cloudcomputing webversie
Publicatie cloudcomputing webversiePublicatie cloudcomputing webversie
Publicatie cloudcomputing webversie
 
การนำเสนอโครงงาน ครั้งที่ 2 17 1-11
การนำเสนอโครงงาน ครั้งที่ 2 17 1-11การนำเสนอโครงงาน ครั้งที่ 2 17 1-11
การนำเสนอโครงงาน ครั้งที่ 2 17 1-11
 
Goose Portfolio
Goose PortfolioGoose Portfolio
Goose Portfolio
 
การนำเสนอโครงงาน ครั้งที่ 2 17 1-11
การนำเสนอโครงงาน ครั้งที่ 2 17 1-11การนำเสนอโครงงาน ครั้งที่ 2 17 1-11
การนำเสนอโครงงาน ครั้งที่ 2 17 1-11
 
Sportsmanship
Sportsmanship Sportsmanship
Sportsmanship
 
Publicatie cloudcomputing webversie[1]
Publicatie cloudcomputing webversie[1]Publicatie cloudcomputing webversie[1]
Publicatie cloudcomputing webversie[1]
 
การนำเสนอโครงงาน ครั้งที่ 2 17 1-11
การนำเสนอโครงงาน ครั้งที่ 2 17 1-11การนำเสนอโครงงาน ครั้งที่ 2 17 1-11
การนำเสนอโครงงาน ครั้งที่ 2 17 1-11
 
UaMobitech - App Links and App Indexing API
UaMobitech - App Links and App Indexing APIUaMobitech - App Links and App Indexing API
UaMobitech - App Links and App Indexing API
 
Company Law Spring Update 2011 Linked In
Company Law Spring Update 2011 Linked InCompany Law Spring Update 2011 Linked In
Company Law Spring Update 2011 Linked In
 
Mana Manthani panchagam -2016-2017-telugu-rasi-phalalu-yearly-160406130349
Mana Manthani panchagam -2016-2017-telugu-rasi-phalalu-yearly-160406130349Mana Manthani panchagam -2016-2017-telugu-rasi-phalalu-yearly-160406130349
Mana Manthani panchagam -2016-2017-telugu-rasi-phalalu-yearly-160406130349
 
The unconventional devices for the Android video streaming
The unconventional devices for the Android video streamingThe unconventional devices for the Android video streaming
The unconventional devices for the Android video streaming
 
Video Streaming: from the native Android player to uncoventional devices
Video Streaming: from the native Android player to uncoventional devicesVideo Streaming: from the native Android player to uncoventional devices
Video Streaming: from the native Android player to uncoventional devices
 

Similar a Google TV Apps: Best Practices

Mobile apps on the big screen
Mobile apps on the big screenMobile apps on the big screen
Mobile apps on the big screenHeinrich Seeger
 
Ifa Report - public part
Ifa Report - public partIfa Report - public part
Ifa Report - public partLiux214
 
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 2011Paris Android User Group
 
Google TV: Thoughts From Left Field
Google TV: Thoughts From Left FieldGoogle TV: Thoughts From Left Field
Google TV: Thoughts From Left FieldCommonsWare
 
From desktop to big screens
From desktop to big screens From desktop to big screens
From desktop to big screens Zdenek Zenger
 
ASUS CUBE with Google TV
ASUS CUBE with Google TVASUS CUBE with Google TV
ASUS CUBE with Google TVVolha H
 
Hu9000 spec sheet_7_31_14
Hu9000 spec sheet_7_31_14Hu9000 spec sheet_7_31_14
Hu9000 spec sheet_7_31_14Rizwan Nsr
 
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 TronfyWilliamfire
 
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]SQ Digital
 
CES 2011 Recap - by @AdamB
CES 2011 Recap - by @AdamBCES 2011 Recap - by @AdamB
CES 2011 Recap - by @AdamBAdam Berger
 
Ministry and Media Technologies - Pro Tips
Ministry and Media Technologies - Pro TipsMinistry and Media Technologies - Pro Tips
Ministry and Media Technologies - Pro TipsJamie Bass
 
Google TV - Droidcon Murcia
Google TV - Droidcon MurciaGoogle TV - Droidcon Murcia
Google TV - Droidcon MurciaIñaki Villar
 
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.1liqiong
 
1620 tablet monsoon showcase
1620 tablet monsoon showcase1620 tablet monsoon showcase
1620 tablet monsoon showcaseJeff Loechner
 
Smart TV Essentials for OEM/ODM
Smart TV Essentials for OEM/ODMSmart TV Essentials for OEM/ODM
Smart TV Essentials for OEM/ODMWilliam Tam
 
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 DevicesDavid Carver
 

Similar a Google TV Apps: Best Practices (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
 

Más de Matteo Bonifazi

Invading the home screen
Invading the home screenInvading the home screen
Invading the home screenMatteo Bonifazi
 
Engage user with actions
Engage user with actionsEngage user with actions
Engage user with actionsMatteo Bonifazi
 
Kotlin killed Java stars
Kotlin killed Java starsKotlin killed Java stars
Kotlin killed Java starsMatteo Bonifazi
 
Firebase-ized your mobile app
Firebase-ized  your mobile appFirebase-ized  your mobile app
Firebase-ized your mobile appMatteo Bonifazi
 
Android - Displaying images
Android - Displaying imagesAndroid - Displaying images
Android - Displaying imagesMatteo Bonifazi
 
Android - Background operation
Android - Background operationAndroid - Background operation
Android - Background operationMatteo Bonifazi
 
The Firebase tier for your mobile app - DevFest CH
The Firebase tier for your mobile app - DevFest CHThe Firebase tier for your mobile app - DevFest CH
The Firebase tier for your mobile app - DevFest CHMatteo Bonifazi
 
Engage and retain users in the android world - Droidcon Italy 2016
Engage and retain users in the android world - Droidcon Italy 2016Engage and retain users in the android world - Droidcon Italy 2016
Engage and retain users in the android world - Droidcon Italy 2016Matteo Bonifazi
 
Google IO - Five months later
Google IO - Five months laterGoogle IO - Five months later
Google IO - Five months laterMatteo Bonifazi
 

Más de Matteo Bonifazi (14)

Invading the home screen
Invading the home screenInvading the home screen
Invading the home screen
 
Engage user with actions
Engage user with actionsEngage user with actions
Engage user with actions
 
Kotlin killed Java stars
Kotlin killed Java starsKotlin killed Java stars
Kotlin killed Java stars
 
Android JET Navigation
Android JET NavigationAndroid JET Navigation
Android JET Navigation
 
Firebase-ized your mobile app
Firebase-ized  your mobile appFirebase-ized  your mobile app
Firebase-ized your mobile app
 
Backendless apps
Backendless appsBackendless apps
Backendless apps
 
Android - Saving data
Android - Saving dataAndroid - Saving data
Android - Saving data
 
Android Networking
Android NetworkingAndroid Networking
Android Networking
 
Android - Displaying images
Android - Displaying imagesAndroid - Displaying images
Android - Displaying images
 
Android - Background operation
Android - Background operationAndroid - Background operation
Android - Background operation
 
Android things intro
Android things introAndroid things intro
Android things intro
 
The Firebase tier for your mobile app - DevFest CH
The Firebase tier for your mobile app - DevFest CHThe Firebase tier for your mobile app - DevFest CH
The Firebase tier for your mobile app - DevFest CH
 
Engage and retain users in the android world - Droidcon Italy 2016
Engage and retain users in the android world - Droidcon Italy 2016Engage and retain users in the android world - Droidcon Italy 2016
Engage and retain users in the android world - Droidcon Italy 2016
 
Google IO - Five months later
Google IO - Five months laterGoogle IO - Five months later
Google IO - Five months later
 

Último

Q1 Probe Gold Quarterly Update- April 2024
Q1 Probe Gold Quarterly Update- April 2024Q1 Probe Gold Quarterly Update- April 2024
Q1 Probe Gold Quarterly Update- April 2024Probe Gold
 
Collective Mining | Corporate Presentation - April 2024
Collective Mining | Corporate Presentation - April 2024Collective Mining | Corporate Presentation - April 2024
Collective Mining | Corporate Presentation - April 2024CollectiveMining1
 
Collective Mining | Corporate Presentation | April 2024
Collective Mining | Corporate Presentation | April 2024Collective Mining | Corporate Presentation | April 2024
Collective Mining | Corporate Presentation | April 2024CollectiveMining1
 
Osisko Gold Royalties Ltd - Corporate Presentation, April 10, 2024
Osisko Gold Royalties Ltd - Corporate Presentation, April 10, 2024Osisko Gold Royalties Ltd - Corporate Presentation, April 10, 2024
Osisko Gold Royalties Ltd - Corporate Presentation, April 10, 2024Osisko Gold Royalties Ltd
 
Falcon Invoice Discounting unlock your cash flow potential
Falcon Invoice Discounting unlock your cash flow potentialFalcon Invoice Discounting unlock your cash flow potential
Falcon Invoice Discounting unlock your cash flow potentialFalcon Invoice Discounting
 
Leveraging USDA Rural Development Grants for Community Growth and Sustainabil...
Leveraging USDA Rural Development Grants for Community Growth and Sustainabil...Leveraging USDA Rural Development Grants for Community Growth and Sustainabil...
Leveraging USDA Rural Development Grants for Community Growth and Sustainabil...USDAReapgrants.com
 
Mandalay Resources 2024 April IR Presentation
Mandalay Resources 2024 April IR PresentationMandalay Resources 2024 April IR Presentation
Mandalay Resources 2024 April IR PresentationMandalayResources
 

Último (8)

Q1 Probe Gold Quarterly Update- April 2024
Q1 Probe Gold Quarterly Update- April 2024Q1 Probe Gold Quarterly Update- April 2024
Q1 Probe Gold Quarterly Update- April 2024
 
Collective Mining | Corporate Presentation - April 2024
Collective Mining | Corporate Presentation - April 2024Collective Mining | Corporate Presentation - April 2024
Collective Mining | Corporate Presentation - April 2024
 
Korea District Heating Corporation 071320 Algorithm Investment Report
Korea District Heating Corporation 071320 Algorithm Investment ReportKorea District Heating Corporation 071320 Algorithm Investment Report
Korea District Heating Corporation 071320 Algorithm Investment Report
 
Collective Mining | Corporate Presentation | April 2024
Collective Mining | Corporate Presentation | April 2024Collective Mining | Corporate Presentation | April 2024
Collective Mining | Corporate Presentation | April 2024
 
Osisko Gold Royalties Ltd - Corporate Presentation, April 10, 2024
Osisko Gold Royalties Ltd - Corporate Presentation, April 10, 2024Osisko Gold Royalties Ltd - Corporate Presentation, April 10, 2024
Osisko Gold Royalties Ltd - Corporate Presentation, April 10, 2024
 
Falcon Invoice Discounting unlock your cash flow potential
Falcon Invoice Discounting unlock your cash flow potentialFalcon Invoice Discounting unlock your cash flow potential
Falcon Invoice Discounting unlock your cash flow potential
 
Leveraging USDA Rural Development Grants for Community Growth and Sustainabil...
Leveraging USDA Rural Development Grants for Community Growth and Sustainabil...Leveraging USDA Rural Development Grants for Community Growth and Sustainabil...
Leveraging USDA Rural Development Grants for Community Growth and Sustainabil...
 
Mandalay Resources 2024 April IR Presentation
Mandalay Resources 2024 April IR PresentationMandalay Resources 2024 April IR Presentation
Mandalay Resources 2024 April IR Presentation
 

Google TV Apps: Best Practices

  • 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