Google TV For Fun
Upcoming SlideShare
Loading in...5
×
 

Like this? Share it with your network

Share

Google TV For Fun

on

  • 893 views

Presentation on Google TV app development for DC Droids

Presentation on Google TV app development for DC Droids

Statistics

Views

Total Views
893
Views on SlideShare
892
Embed Views
1

Actions

Likes
0
Downloads
22
Comments
0

1 Embed 1

http://www.verious.com 1

Accessibility

Categories

Upload Details

Uploaded via as Adobe PDF

Usage Rights

© All Rights Reserved

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Processing…
Post Comment
Edit your comment

Google TV For Fun Presentation Transcript

  • 1. DC Droids Google TV: For Fun! (and profit?)Copyright © 2012 CommonsWare, LLC
  • 2. Why TV? ● Lots of Tube Time ● Sets ● Hours in front of a set ● Lots of Smart Tubes ● 2010: 20% had integrated Internet functionality – (no report on number with VCRs blinking “12:00”) ● 2014: estimated 123 million “smart TVs”Copyright © 2012 CommonsWare, LLC
  • 3. What is Google TV? ● Android on the Tube ● Integrated into some televisions ● Integrated into some Blu-Ray players ● Dedicated set-top boxes ● Future: cable boxes? ● Taking a TourCopyright © 2012 CommonsWare, LLC
  • 4. What Is Different for Developers? ● Usage Model ● Phones: used by an individual, mostly ● Tablets: might be used by a group, but mostly one at a time ● TVs: used by individuals or collectively as a group ● Net: may need “profiles” or other ways for different settings/contentCopyright © 2012 CommonsWare, LLC
  • 5. What Is Different for Developers? ● Information Density ● Phones = low – Small screen, but held close ● Tablets = medium – Larger screen, held close ● TVs = low – Large screen, but distant ● Net: think font size, contrast, etc. to make it easy to read and view from the sofaCopyright © 2012 CommonsWare, LLC
  • 6. What Is Different for Developers? ● Input ● Televisions are not touchscreens... usually ● Interact with your app via a controller – Arrow keys/D-pad and dedicated buttons – Mouse-style pointer emulation mode – Full QWERTY common (with Tab!) – Media keys common (play, pause, etc.) – Option: control via your phoneCopyright © 2012 CommonsWare, LLC
  • 7. What Is Different for Developers? ● Input Tips ● Cut out the cruft = essentials only ● Group stuff by priority and provide easy arrow- key/tab navigation ● Use hardware keys where practicalCopyright © 2012 CommonsWare, LLC
  • 8. What Is Different for Developers? ● An Inch Is No Longer an Inch ● 720p is -large, -tvdpi (~213dpi) ● 1080p is -xlarge, -xhdpi ● Note: regardless of physical screen size! – Set-top boxes do not know physical size ● Net: use fluid layouts, stretchable graphicsCopyright © 2012 CommonsWare, LLC
  • 9. What Is Different for Developers ● Overscan: Your TV Is Smaller Than You Think ● Holdover from days with CRT-style “tubes” ● Visible screen area can be up to ~20% fewer pixels than actual rating ● Net: do NOT try to truly fill the screen! – Flexible widget sizing – Flexible whitespace between zones – Flexible whitespace on edgesCopyright © 2012 CommonsWare, LLC
  • 10. What Is Different for Developers ● Miscellany ● 1080p backgrounds = ~8MB heap space ● Sound over haptics (no vibration motor) ● No GPS, use “static” location provider ● Internet, but not necessarily WiFi ● Content provider and Uri values for channels ● No NDKCopyright © 2012 CommonsWare, LLC
  • 11. Design Tips ● Think ZonesCopyright © 2012 CommonsWare, LLC
  • 12. Design Tips ● Think ZonesCopyright © 2012 CommonsWare, LLC
  • 13. Design Tips ● Think ZonesCopyright © 2012 CommonsWare, LLC
  • 14. Design Tips ● Think Navigation with ZonesCopyright © 2012 CommonsWare, LLC
  • 15. Design Tips ● Think Navigation with ZonesCopyright © 2012 CommonsWare, LLC
  • 16. Deployment Tips ● Avoiding Google TV ● <uses-feature android:name=“android.hardware.touchscreen” android:required=“true” /> ● Google TV-Specific ● <uses-feature android:name=“com.google.android.tv” android:required=“true” />Copyright © 2012 CommonsWare, LLC
  • 17. Deployment Tips ● Multiple Targets ● <uses-feature android:name=“android.hardware.touchscreen” android:required=“false” /> ● getPackageManager() .hasSystemFeature(“com.google.android.tv”)Copyright © 2012 CommonsWare, LLC
  • 18. Google TV Rollout ● Rolling Out Your App ● Initially: Nothing – Do not enable Google TV support until you have at least tested it in the emulator – One chance to make a first impression ● Next Tier: Not Completely Stupid – App is usable if not ideally suited for the form factor ● Ultimate: OptimizedCopyright © 2012 CommonsWare, LLC
  • 19. Google TV Rollout ● Example: Video Player ● Nothing: Relies on swiping ● Not Completely Stupid – Focus works, can navigate with D-pad ● Optimized – Eliminate on-screen controls for play, pause, etc.; use remote instead – Tip: get rid of extraneous focusable widgetsCopyright © 2012 CommonsWare, LLC
  • 20. Google TV Business Models ● App-Centric ● TV app as premium offering ● Cable provider partnerships – Licensing – Sponsorships – Provider-supplied ads/sponsors ● Show-related apps – Video for those not able to get niche channel – Socializing around the show, real-timeCopyright © 2012 CommonsWare, LLC
  • 21. Google TV Business Models ● Other Services ● TV UX Expert – Lots of phone UX experts, fewer tablet UX experts, negligible experts for TV ● TV Firmware Expert – Many smaller manufacturers may want to use the Google TV concepts in their set-top boxes and TVs – Learn the ropes via firmware mods and kinCopyright © 2012 CommonsWare, LLC
  • 22. Emulator ● Step #1: Get a Nice CPU ● Intel with VT extensions (e.g., Core i7) ● AMD with SVM extensions ● Step #2: Get Linux ● No current support for Windows, OS X ● Step #3: Get KVM ● Virtualization engine, akin to VirtualBox, XenCopyright © 2012 CommonsWare, LLC
  • 23. Emulator ● Step #4: Get Android SDK and Tools ● Google TV add-on available from SDK Manager ● Use R15 Android Developer Tools! ● Step #5: Create an AVD ● 720p or 1080p ● With or without simulated overscanCopyright © 2012 CommonsWare, LLC
  • 24. Debugging on Real Hardware ● Configure Google TV Box ● Only accepts debugger connections from 1 IP ● adb connect <ipaddr> ● Adds IP-based connection ● Google TV box will show up in DDMS ● Can use as if locally attached ● Helpful if the TV is somewhere nearby...Copyright © 2012 CommonsWare, LLC
  • 25. Help! ● https://developers.google.com/tv/ ● Design guidance ● Sample code ● StackOverflow #google-tv ● Official support point!Copyright © 2012 CommonsWare, LLC