Google tv

794 views
697 views

Published on

Google Dev Fest Bacelona 11/2012

Published in: Technology
0 Comments
1 Like
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total views
794
On SlideShare
0
From Embeds
0
Number of Embeds
4
Actions
Shares
0
Downloads
25
Comments
0
Likes
1
Embeds 0
No embeds

No notes for slide

Google tv

  1. 1. Google TV GDG@BCN
  2. 2. GDG@BCNWhat is Google TVDeveloping for TVDeveloping for Google TVDeveloping Second screensAdapting sites/webapps
  3. 3. What is Google TV
  4. 4. What is Google TV
  5. 5. What is Google TV
  6. 6. What is Google TV
  7. 7. What is Google TV
  8. 8. What is Google TV
  9. 9. TV
  10. 10. TV
  11. 11. TV
  12. 12. TV
  13. 13. GTV
  14. 14. GTV
  15. 15. GTV px = dp * (dpi/160)
  16. 16. GTV px = dp * (dpi/160) dp=(px/dpi) * 160
  17. 17. GTV px = dp * (dpi/160) dp=(px/dpi) * 160 dp1 = (720 / 213) * 160 dp2 = (1080 / 320) * 160
  18. 18. GTV px = dp * (dpi/160) dp=(px/dpi) * 160 dp1 = (720 / 213) * 160 dp2 = (1080 / 320) * 160 dp1 = dp2
  19. 19. GTV
  20. 20. GTVandroid.hardware.bluetooth android.hardware.sensor.barometerandroid.hardware.camera android.hardware.sensor.compassandroid.hardware.location.gps android.hardware.telephonyandroid.hardware.microphone android.hardware.touchscreenandroid.hardware.nfc android.hardware.touchscreen.multitouchandroid.hardware.sensor.accelerometer android.hardware.sensor.light
  21. 21. GTV
  22. 22. GTV
  23. 23. GTV
  24. 24. GTV
  25. 25. GTVhttp://code.google.com/p/googletv-android-samples/source/browse/#git%2FLeftNavBarDemohttp://code.google.com/p/googletv-android-samples/source/browse/#git%2FLeftNavBarLibrary
  26. 26. GTV private LeftNavBar mLeftNavBar; ... private LeftNavBar getLeftNavBar() { if (mLeftNavBar == null) { mLeftNavBar = new LeftNavBar(this); } return mLeftNavBar; }
  27. 27. GTV
  28. 28. GTV
  29. 29. GTV
  30. 30. GTV
  31. 31. GTV<uses-feature android:name="android.hardware.touchscreen" android:required="false"/>
  32. 32. GTV<uses-feature android:name="android.hardware.touchscreen" android:required="false"/><uses-feature android:name="com.google.android.tv" android:required="true"/>
  33. 33. GTV<uses-feature android:name="android.hardware.touchscreen" android:required="false"/><uses-feature android:name="com.google.android.tv" android:required="true"/><supports-screens android:largeScreens="true"/>
  34. 34. GTV#F1F1F1BOLD fontsDark background
  35. 35. GTV#F1F1F1BOLD fontsDark backgroundShort lines / Line Spacing
  36. 36. GTV#F1F1F1BOLD fontsDark backgroundShort lines / Line SpacingUI feedback. StateListDrawable
  37. 37. GTV#F1F1F1BOLD fontsDark backgroundShort lines / Line SpacingUI feedback. StateListDrawableLow VolumesetRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_PORTRAIT);
  38. 38. GTV#F1F1F1BOLD fontsDark backgroundShort lines / Line SpacingUI feedback. StateListDrawableLow VolumesetRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_PORTRAIT);
  39. 39. Second-Screen Apps
  40. 40. Second-Screen AppsDiscovers a Google TV device (mDNS)
  41. 41. Second-Screen AppsDiscovers a Google TV device (mDNS)Authenticates itself with the Google TV device.
  42. 42. Second-Screen Appsprivate void sendKeyEvent(final int keyEvent) { // create new Thread to avoid network operations on UI Thread new Thread(new Runnable() { public void run() { anymoteSender.sendKeyPress(keyEvent); } }).start();
  43. 43. Second-Screen Appsprivate void sendKeyEvent(final int keyEvent) { // create new Thread to avoid network operations on UI Thread new Thread(new Runnable() { public void run() { anymoteSender.sendKeyPress(keyEvent); } }).start();final Intent intent = new Intent();intent.setAction ("com.example.googletv.myApp.VIEW_ACTION");anymoteSender.sendUrl (intent.toUri(Intent.URI_INTENT_SCHEME));
  44. 44. Second-Screen Appsprivate void sendKeyEvent(final int keyEvent) { // create new Thread to avoid network operations on UI Thread new Thread(new Runnable() { public void run() { anymoteSender.sendKeyPress(keyEvent); } }).start();final Intent intent = new Intent();intent.setAction ("com.example.googletv.myApp.VIEW_ACTION");anymoteSender.sendUrl (intent.toUri(Intent.URI_INTENT_SCHEME));final Intent intent = new Intent(Intent.ACTION_VIEW,Uri.parse("http://<webpage_url>");anymoteSender.sendUrl (intent.toUri(Intent.URI_INTENT_SCHEME));
  45. 45. Second-Screen AppsGoogle TV Remote: http://goo.gl/ViqXE
  46. 46. Chrome
  47. 47. ChromeHTML5 / CSS3jQuery - Clousure
  48. 48. ChromeHTML5 / CSS3jQuery - ClousureOptimized Templates
  49. 49. Chrome
  50. 50. Q&AReferences:https://developers.google.comhttp://code.google.com/p/googletv-android-sampleshttp://en.wikipedia.org/wiki/10-foot_user_interfacehttps://developers.google.com/tv/web/docs/spotlighthttp://code.google.com/p/anymote-protocol/https://code.google.com/p/google-tv-chrome-extensions/https://developers.google.com/tv/android/docs/gtv_presentationsIñaki Villarinaki.seri@gmail.com@inyaki_mwc+Iñaki Villar

×