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 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();
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));
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));
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.comhttp://code.google.com/p/googletv-android-sampleshttp://en.wikipedia.org/wiki/10-foot_user_interfacehttps://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 [email protected]@inyaki_mwc+Iñaki Villar