Google TV For Fun

938 views

Published on

Presentation on Google TV app development for DC Droids

Published in: Technology, Business
0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total views
938
On SlideShare
0
From Embeds
0
Number of Embeds
4
Actions
Shares
0
Downloads
23
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide

Google TV For Fun

  1. 1. DC Droids Google TV: For Fun! (and profit?)Copyright © 2012 CommonsWare, LLC
  2. 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. 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. 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. 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. 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. 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. 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. 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. 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. 11. Design Tips ● Think ZonesCopyright © 2012 CommonsWare, LLC
  12. 12. Design Tips ● Think ZonesCopyright © 2012 CommonsWare, LLC
  13. 13. Design Tips ● Think ZonesCopyright © 2012 CommonsWare, LLC
  14. 14. Design Tips ● Think Navigation with ZonesCopyright © 2012 CommonsWare, LLC
  15. 15. Design Tips ● Think Navigation with ZonesCopyright © 2012 CommonsWare, LLC
  16. 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. 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. 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. 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. 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. 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. 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. 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. 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. 25. Help! ● https://developers.google.com/tv/ ● Design guidance ● Sample code ● StackOverflow #google-tv ● Official support point!Copyright © 2012 CommonsWare, LLC

×