際際滷

際際滷Share a Scribd company logo
Google TV
            GDG@BCN
GDG@BCN

What is Google TV

Developing for TV

Developing for Google TV

Developing Second screens

Adapting sites/webapps
What is Google TV
What is Google TV
What is Google TV
What is Google TV
What is Google TV
What is Google TV
TV
TV
TV
TV
GTV
GTV
GTV


      px = dp * (dpi/160)
GTV


      px = dp * (dpi/160)


      dp=(px/dpi) * 160
GTV


      px = dp * (dpi/160)


      dp=(px/dpi) * 160


      dp1 = (720 / 213) * 160


      dp2 = (1080 / 320) * 160
GTV


      px = dp * (dpi/160)


      dp=(px/dpi) * 160


      dp1 = (720 / 213) * 160


      dp2 = (1080 / 320) * 160


      dp1 = dp2
GTV
GTV


android.hardware.bluetooth              android.hardware.sensor.barometer


android.hardware.camera                 android.hardware.sensor.compass


android.hardware.location.gps           android.hardware.telephony


android.hardware.microphone             android.hardware.touchscreen


android.hardware.nfc                    android.hardware.touchscreen.multitouch


android.hardware.sensor.accelerometer   android.hardware.sensor.light
GTV
GTV
GTV
GTV
GTV




http://code.google.com/p/googletv-android-samples/source/browse/#git%2FLeftNavBarDemo
http://code.google.com/p/googletv-android-samples/source/browse/#git%2FLeftNavBarLibrary
GTV

 private LeftNavBar mLeftNavBar;
 ...



 private LeftNavBar getLeftNavBar() {
    if (mLeftNavBar == null) {
       mLeftNavBar = new LeftNavBar(this);
    }
   return mLeftNavBar;
 }
GTV
GTV
GTV
GTV
GTV


<uses-feature android:name="android.hardware.touchscreen" android:
required="false"/>
GTV


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




<uses-feature android:name="com.google.android.tv" android:required="true"/>
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"/>
GTV
#F1F1F1

BOLD fonts

Dark background
GTV
#F1F1F1

BOLD fonts

Dark background

Short lines / Line Spacing
GTV
#F1F1F1

BOLD fonts

Dark background

Short lines / Line Spacing

UI feedback. StateListDrawable
GTV
#F1F1F1

BOLD fonts

Dark background

Short lines / Line Spacing

UI feedback. StateListDrawable

Low Volume

setRequestedOrientation(ActivityInfo.
SCREEN_ORIENTATION_PORTRAIT);
GTV
#F1F1F1

BOLD fonts

Dark background

Short lines / Line Spacing

UI feedback. StateListDrawable

Low Volume

setRequestedOrientation(ActivityInfo.
SCREEN_ORIENTATION_PORTRAIT);
Second-Screen Apps
Second-Screen Apps

Discovers a Google TV device (mDNS)
Second-Screen Apps

Discovers a Google TV device (mDNS)


Authenticates itself with the Google TV device.
Second-Screen Apps
private 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();
Second-Screen Apps
private 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));
Second-Screen Apps
private 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));
Second-Screen Apps
Google TV Remote:   http://goo.gl/ViqXE
Chrome
Chrome




HTML5 / CSS3

jQuery - Clousure
Chrome




HTML5 / CSS3

jQuery - Clousure

Optimized Templates
Chrome
Q&A
References:
https://developers.google.com
http://code.google.com/p/googletv-android-samples
http://en.wikipedia.org/wiki/10-foot_user_interface
https://developers.google.com/tv/web/docs/spotlight
http://code.google.com/p/anymote-protocol/
https://code.google.com/p/google-tv-chrome-extensions/
https://developers.google.com/tv/android/docs/gtv_presentations



I単aki Villar
inaki.seri@gmail.com
@inyaki_mwc
+I単aki Villar

More Related Content

Google tv