SlideShare una empresa de Scribd logo
1 de 90
#gtvweb #wdx
Designing the 10 Foot User Experience
Daniels Lee
May 13, 2011

Twitter: @googletvdev
Tags: #gtvweb #wdx




    #gtvweb #wdx
#gtvweb #wdx
Why is Television Interesting?


   #gtvweb #wdx
Why is Television Interesting?

    100%

    90%

    80%

    70%

    60%

    50%

    40%

    30%

    20%

    10%

     0%
             Computers    Mobile Devices    TVs
                          % of households



4          #gtvweb #wdx
Why is Television Interesting?

    100%

    90%

    80%

    70%
                                                                                                      More American households
    60%                                                                                               have TVs than cell phones
    50%
                                                                                                      or computers.
    40%

    30%

    20%

    10%

        0%
                  Computers                          Mobile Devices                             TVs
                                                    % of households
    1 Source: Nielsen Research
    2 Source: Pew Research, Internet and American Life Project 2011
    3 Source: International Telecommunication Union, The World in 2009: ICT Facts and Figures




4            #gtvweb #wdx
Why is Television Interesting?

    45M                                        43M
    40M

    35M

    30M

    25M

    20M

    15M

    10M

    5M
                  2M
    0M
                 2010                        2014 (proj)
                         Smart TV Adoption



5         #gtvweb #wdx
Why is Television Interesting?

        45M                                                                                   43M
        40M

        35M                                                                                                                         By 2014, more than 1/3
        30M
                                                                                                                                    of households in the US
        25M
                                                                                                                                    will have an Internet-
        20M

        15M
                                                                                                                                    connected television.
        10M

          5M
                                   2M
          0M
                                  2010                                                     2014 (proj)
                                                     Smart TV Adoption
    1   Source: James McQuivey, Forrester Research, Connected TVs Will Sell, But Will They Get Used?, 2010
    2   Source: In-Stat Research, Installed Base of “Smart TV” Web-Enabled Home Consumer Electronics Devices to Reach Over 230 Million by 2014


5              #gtvweb #wdx
Media Use in 8- to 18-Year-Olds
                                                                        Movies
                                                                   Print 4%
                                                                   6%
                                                        Video Games
                                                            11%
                                                                                  TV
                                                                                 42%


                                                        Computer
                                                          14%




                                                                   Music/audio
Source: Kaiser Family Foundation: “Media in the Lives
                                                                      23%
of 8- to 18-Year-Olds” (2009)



6          #gtvweb #wdx
Why is Television Interesting?




7   #gtvweb #wdx
Why is Television Interesting?


• TVs are more common than computers




7   #gtvweb #wdx
Why is Television Interesting?


• TVs are more common than computers

• Americans spend more time watching TV than any other
  media activity




7   #gtvweb #wdx
Why is Television Interesting?


• TVs are more common than computers

• Americans spend more time watching TV than any other
  media activity



         We should make better use of this time

7   #gtvweb #wdx
What about Google TV?




8   #gtvweb #wdx
What about Google TV?


• Improve TV as we know it today




8   #gtvweb #wdx
What about Google TV?


• Improve TV as we know it today




8   #gtvweb #wdx
What about Google TV?


• Improve TV as we know it today

• Combine TV and the Web




8   #gtvweb #wdx
What about Google TV?


• Improve TV as we know it today

• Combine TV and the Web




8   #gtvweb #wdx
What about Google TV?


• Improve TV as we know it today

• Combine TV and the Web

• Transform TV into an open development platform for Apps




8   #gtvweb #wdx
Opportunities




9   #gtvweb #wdx
Opportunities

    •Media consumption with social aspect
     –Watching the game “together”




9    #gtvweb #wdx
Opportunities

    •Media consumption with social aspect
     –Watching the game “together”

    •Applications that span - and morph between - devices




9    #gtvweb #wdx
Opportunities

    •Media consumption with social aspect
     –Watching the game “together”

    •Applications that span - and morph between - devices

    •Casual games, particularly multi-player




9    #gtvweb #wdx
Opportunities
     •Applications using paired “virtual controllers”
      – Connecting mobile devices and tablets to “drive,” with the TV as output




10    #gtvweb #wdx
Opportunities
     •Applications using paired “virtual controllers”
      – Connecting mobile devices and tablets to “drive,” with the TV as output




10    #gtvweb #wdx
#gtvweb #wdx
Demo: TV as a “social” center


  #gtvweb #wdx
Google TV and the Web Platform




12   #gtvweb #wdx
Google TV and the Web Platform
     • Google TV is based on Android




12     #gtvweb #wdx
Google TV and the Web Platform
     • Google TV is based on Android
     • Google TV’s web platform is Chrome
      – “Modern Browser” (i.e. many HTML5 features, Webkit)
      – Adobe Flash (10.1) supported, supports H.264 video natively




12     #gtvweb #wdx
Google TV and the Web Platform
     • Google TV is based on Android
     • Google TV’s web platform is Chrome
      – “Modern Browser” (i.e. many HTML5 features, Webkit)
      – Adobe Flash (10.1) supported, supports H.264 video natively
     • Updates automatically over the network




12     #gtvweb #wdx
What Makes Designing for TV Different?




13   #gtvweb #wdx
What Makes Designing for TV Different?

                    TV is a different mental space:
                       user is in “couch mode”




13   #gtvweb #wdx
What Makes Designing for TV Different?

                       TV is a different mental space:
                          user is in “couch mode”

     • Applications need a “10-foot UI”:
      – UI design is page-based
      – Interactions via d-pad, i.e. no mouse
      – TV content is dynamic - even when “static”
      – and more ...


13     #gtvweb #wdx
#gtvweb #wdx
Demo: Desktop vs 10ft UX


  #gtvweb #wdx
What Makes Designing for TV Different?




15   #gtvweb #wdx
What Makes Designing for TV Different?

     •Technical constraints of TV
      – Device issues: resolution, overscan, color, etc.




15   #gtvweb #wdx
What Makes Designing for TV Different?

     •Technical constraints of TV
      – Device issues: resolution, overscan, color, etc.


     •Practical constraints of TV
      – Apparent sizes, user input devices, layout, etc.




15    #gtvweb #wdx
What Makes Designing for TV Different?

     •Technical constraints of TV
      – Device issues: resolution, overscan, color, etc.


     •Practical constraints of TV
      – Apparent sizes, user input devices, layout, etc.


     •Design guidance for TV
      – What makes a “TV experience”


15    #gtvweb #wdx
Technical Constraints - Resolution




16   #gtvweb #wdx
Technical Constraints - “Overscan” and Padding




17   #gtvweb #wdx
Technical Constraints - “Overscan” and Padding




                    “Action Safe” (3.5%)
                    “Title Safe” (5-10%)




17   #gtvweb #wdx
Technical Constraints - “Overscan” and Padding

                    Bad                      Good




18   #gtvweb #wdx
Practical Constraints of Designing for TV




19   #gtvweb #wdx
Practical Constraints of Designing for TV

     • The color gamut is different on TV
      – TVs are also frequently not calibrated
      – It’s easy to over-saturate, so tone down your colors
        • Particularly oranges and reds




19     #gtvweb #wdx
Practical Constraints of Designing for TV

     • The color gamut is different on TV
      – TVs are also frequently not calibrated
      – It’s easy to over-saturate, so tone down your colors
         • Particularly oranges and reds
     • Non-white background colors are best
      – WHITE IS LIKE ALL CAPS
      – White backgrounds can cause halos




19      #gtvweb #wdx
Practical Constraints of Designing for TV

     • The color gamut is different on TV
      – TVs are also frequently not calibrated
      – It’s easy to over-saturate, so tone down your colors
         • Particularly oranges and reds
     • Non-white background colors are best
      – WHITE IS LIKE ALL CAPS
      – White backgrounds can cause halos



                                    Always test on a real TV display!

19      #gtvweb #wdx
Practical Constraints of Designing for TV




20   #gtvweb #wdx
Practical Constraints of Designing for TV
     • Optimize your text carefully
      – Limit content length
      – Avoid small text sizes
      – Make it as big as needed, then bigger




20      #gtvweb #wdx
Practical Constraints of Designing for TV
     • Optimize your text carefully
      – Limit content length
      – Avoid small text sizes
      – Make it as big as needed, then bigger

     • Typical on-screen font guidance applies:
      – Sans-serif fonts tend to be more readable
      – Don’t use too many fonts in one page




20      #gtvweb #wdx
Practical Constraints of Designing for TV
     • No horizontal/vertical scroll bars
     • Place content “above the fold”
     • Use strong visual cues




21     #gtvweb #wdx
Practical Constraints of Designing for TV

                       Strong Focus Model




22   #gtvweb #wdx
Practical Constraints of TV




23   #gtvweb #wdx
Practical Constraints of TV
     • D-Pad is better than mice/trackpads
      – Don’t rely on keyboard shortcuts, either




23     #gtvweb #wdx
Practical Constraints of TV
     • D-Pad is better than mice/trackpads
      – Don’t rely on keyboard shortcuts, either


     • D-Pad navigation: Listen for keypresses
      – Useful on desktop web, too: http://windowshop.com/, Google search results

                          document.body.onkeypress = keydown;

                          function keydown(e) {
                            switch(e.keyCode) {
                              case 37:// Left arrow - move to previous
                          
     next = $(".selectable");
                          
     var i = next.index($('.selected')) - 1;

                                
 focus.removeClass("selected");
                              // <more code>
                          }

23     #gtvweb #wdx
Practical Constraints of TV

     • The expected D-Pad focus model is 2-dimensional
        • The Web platform is used to a linear model


                 “Traditional Web” model               Directional-pad model




24     #gtvweb #wdx
Enabling The “Back” Key




        What happens when the user hits the “Back” key is one
        of the most-overlooked features of modern web apps.




25   #gtvweb #wdx
Enabling The “Back” Key




        What happens when the user hits the “Back” key is one
        of the most-overlooked features of modern web apps.

•Set window.location.hash and listen to “hashchange” events

•Don’t over-use this, though!


25   #gtvweb #wdx
Technical Points Specific to Google TV

     • Autozoom
       – Google TV automatically scales web pages to fit your TV display. If your
         site attempts to be "pixel-perfect", the algorithm may not be optimal.


      – Disable auto-zoom:
        <meta name="gtv-autozoom" content="off" />


      – Manually configure zoom:
        document.getElementsByTagName('body')[0].style.zoom = 1.3;



26      #gtvweb #wdx
Design Guidance for Web Apps on TV

                    Make the most of your space




27   #gtvweb #wdx
Design Guidance for Web Apps on TV




                                  !=
                    Sit Back. Test Your Design on TV.

28   #gtvweb #wdx
Design Guidance for Web Apps on TV

     • Visual feedback and motion
      – Display visual feedback for all actions
      – Display hints or help dialogs
      – Auto-hide overlay controls
      – Use smooth transitions and animation
      – Keep things dynamic

      <style type='text/css'>
       div {
         -webkit-transition: opacity 2s ease;
       }
      </style>

29     #gtvweb #wdx
#gtvweb #wdx
Developer Tools by Google


  #gtvweb #wdx
Google TV UI Templates
     • Site templates designed for 10ft living room experience
     • Both templates are provided in both HTML5 and Flash,
       and support D-Pad navigation and video playback controls
     • Site templates at goo.gl/guzvn




31     #gtvweb #wdx
#gtvweb #wdx
Google TV Web UI Libraries
goo.gl/8ajdi


  #gtvweb #wdx
Google TV Web UI Libraries (goo.gl/8ajdi)
      Google TV jQuery UI Library     $('mydiv')
                      goo.gl/ObULa    $('.a:even')
                                      $('.a').click(function() { ... })
                                      $('button').html('Look mah')
                                      $("div:hidden:first").fadeIn("slow");




     Google TV Closure UI Library     goog.inherits(childClass, parentClass)
                       goo.gl/sCyj4   goog.require('tv.ui.Container')
                                      goog.dom.getElement('mydiv')
                                      goog.dom.getElementsByClass('buttons')
                                      goog.debug.expose(person)


33     #gtvweb #wdx
Google TV Web UI Libraries (goo.gl/8ajdi)
      Google TV jQuery UI Library     • Requires more JavaScript
                      goo.gl/ObULa
                                      • CSS selectors to specify navigable areas
                                      • UI Control Libraries:
                                      (Row, SideNav, Sliding, Photo, Video, Roller, Rotator,
                                      Stack)


     Google TV Closure UI Library     • Requires more HTML markup
                       goo.gl/sCyj4   • Special CSS class names to specify navigable areas
                                      • UI building blocks:
                                      (Grid, scrolling containers, components, buttons, links,
                                      input, menu, ... more)
34     #gtvweb #wdx
Google TV Web UI Libraries (goo.gl/8ajdi)

     1      HTML: Structure



     2      CSS: Presentation



     3      JavaScript: Initialize / Events


35       #gtvweb #wdx
Google TV jQuery UI Library (goo.gl/ObULa)
Keyboard Navigation: Concept

                                • Key behavior zones (HTML containers)


                                • Specify zones using CSS selectors:
                                  .item:not(.nonav)


                                • Remembers last selected item per zone


                                • (optional) Geometry feature:
                                  Select next closest item based on
                                  distance

36   #gtvweb #wdx
Google TV jQuery UI Library (goo.gl/ObULa)
Keyboard Navigation: HTML


<ul id="zone1">
 <div class="item-row">
  <li class="item-parent"><div class="item">ONE</div></li>
  <li class="item-parent"><div class="item">TWO</div></li>
  <li class="item-parent"><div class="item">THREE</div></li>
 </div>
</ul>

<ul id="zone2">
 <div class="item-row">
  <li class="item-parent"><div class="item">FOUR</div></li>
  <li class="item-parent"><div class="item">FIVE</div></li>
  <li class="item-parent"><div class="item">SIX</div></li>
 </div>
</ul>


37   #gtvweb #wdx
Google TV jQuery UI Library (goo.gl/ObULa)
Keyboard Navigation: HTML
                                                               Stylize using CSS3
<ul id="zone1">
 <div class="item-row">
  <li class="item-parent"><div class="item">ONE</div></li>
  <li class="item-parent"><div class="item">TWO</div></li>
  <li class="item-parent"><div class="item">THREE</div></li>
 </div>
</ul>

<ul id="zone2">
 <div class="item-row">
  <li class="item-parent"><div class="item">FOUR</div></li>
  <li class="item-parent"><div class="item">FIVE</div></li>
  <li class="item-parent"><div class="item">SIX</div></li>
 </div>
</ul>


37   #gtvweb #wdx
Google TV jQuery UI Library (goo.gl/ObULa)
Keyboard Navigation: HTML
                                                                                      Stylize using CSS3
                                                    ul {
<ul id="zone1">                                       list-style-type: none;
 <div class="item-row">                               margin: 0 auto 10px;
                                                      padding: 10px 20px 15px;
  <li class="item-parent"><div     class="item">ONE</div></li>
                                                    }
  <li class="item-parent"><div class="item">TWO</div></li>
                                                 .item {
  <li class="item-parent"><div class="item">THREE</div></li>
                                                   -webkit-transition: -webkit-box-shadow 300ms ease;
 </div>                                          }
</ul>
                                                     #zone1 .item {
                                                       border: 3px solid #89a;
<ul id="zone2">                                        display: inline-block;
 <div class="item-row">                                font-size: 30px;
  <li class="item-parent"><div     class="item">FOUR</div></li> 0 0;
                                                       margin: 0 15px
                                                       padding: 5px 0;
  <li class="item-parent"><div     class="item">FIVE</div></li>
                                                       text-align: center;
  <li class="item-parent"><div     class="item">SIX</div></li>
                                                       width: 170px;
 </div>                                                -webkit-border-radius: 10px;
                                                     }
</ul>


37   #gtvweb #wdx
Google TV jQuery UI Library (goo.gl/ObULa)
Keyboard Navigation: JavaScript

var zone1 = new gtv.jq.KeyBehaviorZone({              var zone2 = new gtv.jq.KeyBehaviorZone({
  containerSelector: '#zone1',                          containerSelector: '#zone2',
  navSelectors: {                                       navSelectors: {
    item: '.item',                                        item: '.item',
    itemParent: '.item-parent',                           itemParent: '.item-parent',
    itemRow: '.item-row'                                  itemRow: '.item-row'
  },                                                    },
  selectionClasses: {                                   selectionClasses: {
    basic: 'item-selected'                                basic: 'item-selected'
  },                                                    }
  keyMapping: {                                       });
    13: enterCallback
  }
});


                              // Add behavior zones
                              var keyController = new gtv.jq.KeyController();
                              keyController.addBehaviorZone(zone1);
                              keyController.addBehaviorZone(zone2);
                              keyController.start(zone1, true);
38    #gtvweb #wdx
Google TV jQuery UI Library (goo.gl/ObULa)
Keyboard Navigation: JavaScript

var zone1 = new gtv.jq.KeyBehaviorZone({               var zone2 = new gtv.jq.KeyBehaviorZone({
  containerSelector: '#zone1',                           containerSelector: '#zone2',
  navSelectors: {                          selectors     navSelectors: {
    item: '.item',                                         item: '.item',
    itemParent: '.item-parent',                            itemParent: '.item-parent',
    itemRow: '.item-row'                                   itemRow: '.item-row'
  },                                                     },
  selectionClasses: {                                    selectionClasses: {
    basic: 'item-selected'                                 basic: 'item-selected'
  },                                                     }
  keyMapping: {                                        });
    13: enterCallback
  }
});


                              // Add behavior zones
                              var keyController = new gtv.jq.KeyController();
                              keyController.addBehaviorZone(zone1);
                              keyController.addBehaviorZone(zone2);
                              keyController.start(zone1, true);
38    #gtvweb #wdx
Google TV jQuery UI Library (goo.gl/ObULa)
Keyboard Navigation: JavaScript

var zone1 = new gtv.jq.KeyBehaviorZone({               var zone2 = new gtv.jq.KeyBehaviorZone({
  containerSelector: '#zone1',                           containerSelector: '#zone2',
  navSelectors: {                          selectors     navSelectors: {
    item: '.item',                                         item: '.item',
    itemParent: '.item-parent',                            itemParent: '.item-parent',
    itemRow: '.item-row'                                   itemRow: '.item-row'
  },                                                     },
  selectionClasses: {                                    selectionClasses: {
                                                           basic: 'item-selected'
    basic: 'item-selected'            selected           }
  },
  keyMapping: {                                        });
    13: enterCallback
  }
});


                              // Add behavior zones
                              var keyController = new gtv.jq.KeyController();
                              keyController.addBehaviorZone(zone1);
                              keyController.addBehaviorZone(zone2);
                              keyController.start(zone1, true);
38    #gtvweb #wdx
Google TV jQuery UI Library (goo.gl/ObULa)
Keyboard Navigation: JavaScript

var zone1 = new gtv.jq.KeyBehaviorZone({             var zone2 = new gtv.jq.KeyBehaviorZone({
  containerSelector: '#zone1',                         containerSelector: '#zone2',
  navSelectors: {                      selectors       navSelectors: {
    item: '.item',                                       item: '.item',
    itemParent: '.item-parent',                          itemParent: '.item-parent',
    itemRow: '.item-row'                                 itemRow: '.item-row'
  },                                                   },
  selectionClasses: {                                  selectionClasses: {
                                                         basic: 'item-selected'
    basic: 'item-selected'          selected           }
  },
  keyMapping: {                                      });
    13: enterCallback
  }                             event handler
});


                             // Add behavior zones
                             var keyController = new gtv.jq.KeyController();
                             keyController.addBehaviorZone(zone1);
                             keyController.addBehaviorZone(zone2);
                             keyController.start(zone1, true);
38   #gtvweb #wdx
Google TV Closure UI Library (goo.gl/sCyj4)
Decorator: Concept
                             • Horizontal / Vertical container building blocks


                             • Scrolling containers


                             • Selectable components, buttons, links, input


                             • Decorate HTML using semantic class names
                              .tv-container-horizontal
                              .tv-container-start-scroll
                              .tv-component
                              .tv-link
                                        ... more


39   #gtvweb #wdx
Google TV Closure UI Library (goo.gl/sCyj4)
Decorator: HTML
                                       Left       Right
                                                             ul {
                                                               list-style-type: none;
<ul class="tv-container-horizontal">                           margin: 0 auto 10px;
 <li class="tv-component">1</li>                               padding: 10px 20px 15px;
 <li class="tv-component">2</li>                             }
 <li class="tv-component">3</li>       1      2      3       li {
                                                               border: 3px solid #333;
</ul>                                                          margin: 0 15px 0 0;
                                                               padding: 10px
                                                               -webkit-border-radius: 10px;
                                                             }
                                                             .tv-container-horizontal li {
<ul class="tv-container-vertical">                             display: inline-block;
                                                               margin-right: 5px;
 <li class="tv-component">1</li>       1              Up     }
 <li class="tv-component">2</li>                             .tv-container-vertical li {
 <li class="tv-component">3</li>                               display: block;
</ul>                                  2                     }
                                                               margin-bottom: 5px;



                                       3              Down

40   #gtvweb #wdx
Google TV Closure UI Library (goo.gl/sCyj4)
Decorator: HTML



<div class="tv-container-vertical">
 <ul class="tv-container-horizontal">
  <li class="tv-component">1</li>
  <li class="tv-component">2</li>        1    2   3
  <li class="tv-component">3</li>
 </ul>

 <ul class="tv-container-horizontal">
  <li class="tv-component">1</li>
  <li class="tv-component">2</li>
  <li class="tv-component">3</li>
 </ul>                                   1    2   3
</div>




41   #gtvweb #wdx
Google TV Closure UI Library (goo.gl/sCyj4)
Decorator: HTML

                                          1

<div class="tv-container-vertical">       2
 <ul class="tv-container-start-scroll">
  <li class="tv-component">1</li>
                                          3
  <li class="tv-component">2</li>
  <li class="tv-component">3</li>             .tv-container-vertical {
  <li class="tv-component">4</li>         4     height: 90px;
                                                overflow: hidden;
  <li class="tv-component">5</li>             }
  <li class="tv-component">6</li>         5
  <li class="tv-component">7</li>
  <li class="tv-component">8</li>         6
  <li class="tv-component">9</li>
 </ul>                                    7
</div>
                                          8

                                          9
42   #gtvweb #wdx
Google TV Closure UI Library (goo.gl/sCyj4)
Decorator: JavaScript


// Execute the decorator
try {
  tv.ui.decorate(goog.dom.getElement('main'));
} catch (e) {
  alert(e.message);
}

// Set focus on initial element
var focusElement = goog.dom.getElementByClass('first-focus');
var focusComponent = tv.ui.getComponentByElement(focusElement);
focusComponent.tryFocus();




43   #gtvweb #wdx
#gtvweb #wdx
Google TV Web UI Library Demos
goo.gl/ozKzk


  #gtvweb #wdx
Summary

     •Think about how your apps apply to the TV space

     •Think about new applications you could build

     •Think about how these lessons apply to desktop & mobile




45     #gtvweb #wdx
Summary

     •Think about how your apps apply to the TV space

     •Think about new applications you could build

     •Think about how these lessons apply to desktop & mobile



        Get a Google TV device and start developing!

45     #gtvweb #wdx
Summary

     Docs: goo.gl/FIxrd                 Twitter: @googletvdev
                                        Hash Tags: #gtvweb
     Forum: goo.gl/RhuDw
     Demos: goo.gl/ozKzk



                           Questions?

46     #gtvweb #wdx

Más contenido relacionado

Último

Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Miguel Araújo
 
2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...Martijn de Jong
 
A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?Igalia
 
Apidays Singapore 2024 - Modernizing Securities Finance by Madhu Subbu
Apidays Singapore 2024 - Modernizing Securities Finance by Madhu SubbuApidays Singapore 2024 - Modernizing Securities Finance by Madhu Subbu
Apidays Singapore 2024 - Modernizing Securities Finance by Madhu Subbuapidays
 
presentation ICT roal in 21st century education
presentation ICT roal in 21st century educationpresentation ICT roal in 21st century education
presentation ICT roal in 21st century educationjfdjdjcjdnsjd
 
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...Jeffrey Haguewood
 
EMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWER
EMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWEREMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWER
EMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWERMadyBayot
 
Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024The Digital Insurer
 
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...DianaGray10
 
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...apidays
 
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...apidays
 
Ransomware_Q4_2023. The report. [EN].pdf
Ransomware_Q4_2023. The report. [EN].pdfRansomware_Q4_2023. The report. [EN].pdf
Ransomware_Q4_2023. The report. [EN].pdfOverkill Security
 
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemkeProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemkeProduct Anonymous
 
Exploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone ProcessorsExploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone Processorsdebabhi2
 
"I see eyes in my soup": How Delivery Hero implemented the safety system for ...
"I see eyes in my soup": How Delivery Hero implemented the safety system for ..."I see eyes in my soup": How Delivery Hero implemented the safety system for ...
"I see eyes in my soup": How Delivery Hero implemented the safety system for ...Zilliz
 
AXA XL - Insurer Innovation Award Americas 2024
AXA XL - Insurer Innovation Award Americas 2024AXA XL - Insurer Innovation Award Americas 2024
AXA XL - Insurer Innovation Award Americas 2024The Digital Insurer
 
Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...apidays
 
Manulife - Insurer Transformation Award 2024
Manulife - Insurer Transformation Award 2024Manulife - Insurer Transformation Award 2024
Manulife - Insurer Transformation Award 2024The Digital Insurer
 
TrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data DiscoveryTrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data DiscoveryTrustArc
 
Polkadot JAM Slides - Token2049 - By Dr. Gavin Wood
Polkadot JAM Slides - Token2049 - By Dr. Gavin WoodPolkadot JAM Slides - Token2049 - By Dr. Gavin Wood
Polkadot JAM Slides - Token2049 - By Dr. Gavin WoodJuan lago vázquez
 

Último (20)

Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
 
2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...
 
A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?
 
Apidays Singapore 2024 - Modernizing Securities Finance by Madhu Subbu
Apidays Singapore 2024 - Modernizing Securities Finance by Madhu SubbuApidays Singapore 2024 - Modernizing Securities Finance by Madhu Subbu
Apidays Singapore 2024 - Modernizing Securities Finance by Madhu Subbu
 
presentation ICT roal in 21st century education
presentation ICT roal in 21st century educationpresentation ICT roal in 21st century education
presentation ICT roal in 21st century education
 
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
 
EMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWER
EMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWEREMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWER
EMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWER
 
Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024
 
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
 
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
 
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
 
Ransomware_Q4_2023. The report. [EN].pdf
Ransomware_Q4_2023. The report. [EN].pdfRansomware_Q4_2023. The report. [EN].pdf
Ransomware_Q4_2023. The report. [EN].pdf
 
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemkeProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
 
Exploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone ProcessorsExploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone Processors
 
"I see eyes in my soup": How Delivery Hero implemented the safety system for ...
"I see eyes in my soup": How Delivery Hero implemented the safety system for ..."I see eyes in my soup": How Delivery Hero implemented the safety system for ...
"I see eyes in my soup": How Delivery Hero implemented the safety system for ...
 
AXA XL - Insurer Innovation Award Americas 2024
AXA XL - Insurer Innovation Award Americas 2024AXA XL - Insurer Innovation Award Americas 2024
AXA XL - Insurer Innovation Award Americas 2024
 
Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...
 
Manulife - Insurer Transformation Award 2024
Manulife - Insurer Transformation Award 2024Manulife - Insurer Transformation Award 2024
Manulife - Insurer Transformation Award 2024
 
TrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data DiscoveryTrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
 
Polkadot JAM Slides - Token2049 - By Dr. Gavin Wood
Polkadot JAM Slides - Token2049 - By Dr. Gavin WoodPolkadot JAM Slides - Token2049 - By Dr. Gavin Wood
Polkadot JAM Slides - Token2049 - By Dr. Gavin Wood
 

Destacado

PEPSICO Presentation to CAGNY Conference Feb 2024
PEPSICO Presentation to CAGNY Conference Feb 2024PEPSICO Presentation to CAGNY Conference Feb 2024
PEPSICO Presentation to CAGNY Conference Feb 2024Neil Kimberley
 
Content Methodology: A Best Practices Report (Webinar)
Content Methodology: A Best Practices Report (Webinar)Content Methodology: A Best Practices Report (Webinar)
Content Methodology: A Best Practices Report (Webinar)contently
 
How to Prepare For a Successful Job Search for 2024
How to Prepare For a Successful Job Search for 2024How to Prepare For a Successful Job Search for 2024
How to Prepare For a Successful Job Search for 2024Albert Qian
 
Social Media Marketing Trends 2024 // The Global Indie Insights
Social Media Marketing Trends 2024 // The Global Indie InsightsSocial Media Marketing Trends 2024 // The Global Indie Insights
Social Media Marketing Trends 2024 // The Global Indie InsightsKurio // The Social Media Age(ncy)
 
Trends In Paid Search: Navigating The Digital Landscape In 2024
Trends In Paid Search: Navigating The Digital Landscape In 2024Trends In Paid Search: Navigating The Digital Landscape In 2024
Trends In Paid Search: Navigating The Digital Landscape In 2024Search Engine Journal
 
5 Public speaking tips from TED - Visualized summary
5 Public speaking tips from TED - Visualized summary5 Public speaking tips from TED - Visualized summary
5 Public speaking tips from TED - Visualized summarySpeakerHub
 
ChatGPT and the Future of Work - Clark Boyd
ChatGPT and the Future of Work - Clark Boyd ChatGPT and the Future of Work - Clark Boyd
ChatGPT and the Future of Work - Clark Boyd Clark Boyd
 
Getting into the tech field. what next
Getting into the tech field. what next Getting into the tech field. what next
Getting into the tech field. what next Tessa Mero
 
Google's Just Not That Into You: Understanding Core Updates & Search Intent
Google's Just Not That Into You: Understanding Core Updates & Search IntentGoogle's Just Not That Into You: Understanding Core Updates & Search Intent
Google's Just Not That Into You: Understanding Core Updates & Search IntentLily Ray
 
Time Management & Productivity - Best Practices
Time Management & Productivity -  Best PracticesTime Management & Productivity -  Best Practices
Time Management & Productivity - Best PracticesVit Horky
 
The six step guide to practical project management
The six step guide to practical project managementThe six step guide to practical project management
The six step guide to practical project managementMindGenius
 
Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...
Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...
Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...RachelPearson36
 
Unlocking the Power of ChatGPT and AI in Testing - A Real-World Look, present...
Unlocking the Power of ChatGPT and AI in Testing - A Real-World Look, present...Unlocking the Power of ChatGPT and AI in Testing - A Real-World Look, present...
Unlocking the Power of ChatGPT and AI in Testing - A Real-World Look, present...Applitools
 
12 Ways to Increase Your Influence at Work
12 Ways to Increase Your Influence at Work12 Ways to Increase Your Influence at Work
12 Ways to Increase Your Influence at WorkGetSmarter
 
Ride the Storm: Navigating Through Unstable Periods / Katerina Rudko (Belka G...
Ride the Storm: Navigating Through Unstable Periods / Katerina Rudko (Belka G...Ride the Storm: Navigating Through Unstable Periods / Katerina Rudko (Belka G...
Ride the Storm: Navigating Through Unstable Periods / Katerina Rudko (Belka G...DevGAMM Conference
 
Barbie - Brand Strategy Presentation
Barbie - Brand Strategy PresentationBarbie - Brand Strategy Presentation
Barbie - Brand Strategy PresentationErica Santiago
 

Destacado (20)

PEPSICO Presentation to CAGNY Conference Feb 2024
PEPSICO Presentation to CAGNY Conference Feb 2024PEPSICO Presentation to CAGNY Conference Feb 2024
PEPSICO Presentation to CAGNY Conference Feb 2024
 
Content Methodology: A Best Practices Report (Webinar)
Content Methodology: A Best Practices Report (Webinar)Content Methodology: A Best Practices Report (Webinar)
Content Methodology: A Best Practices Report (Webinar)
 
How to Prepare For a Successful Job Search for 2024
How to Prepare For a Successful Job Search for 2024How to Prepare For a Successful Job Search for 2024
How to Prepare For a Successful Job Search for 2024
 
Social Media Marketing Trends 2024 // The Global Indie Insights
Social Media Marketing Trends 2024 // The Global Indie InsightsSocial Media Marketing Trends 2024 // The Global Indie Insights
Social Media Marketing Trends 2024 // The Global Indie Insights
 
Trends In Paid Search: Navigating The Digital Landscape In 2024
Trends In Paid Search: Navigating The Digital Landscape In 2024Trends In Paid Search: Navigating The Digital Landscape In 2024
Trends In Paid Search: Navigating The Digital Landscape In 2024
 
5 Public speaking tips from TED - Visualized summary
5 Public speaking tips from TED - Visualized summary5 Public speaking tips from TED - Visualized summary
5 Public speaking tips from TED - Visualized summary
 
ChatGPT and the Future of Work - Clark Boyd
ChatGPT and the Future of Work - Clark Boyd ChatGPT and the Future of Work - Clark Boyd
ChatGPT and the Future of Work - Clark Boyd
 
Getting into the tech field. what next
Getting into the tech field. what next Getting into the tech field. what next
Getting into the tech field. what next
 
Google's Just Not That Into You: Understanding Core Updates & Search Intent
Google's Just Not That Into You: Understanding Core Updates & Search IntentGoogle's Just Not That Into You: Understanding Core Updates & Search Intent
Google's Just Not That Into You: Understanding Core Updates & Search Intent
 
How to have difficult conversations
How to have difficult conversations How to have difficult conversations
How to have difficult conversations
 
Introduction to Data Science
Introduction to Data ScienceIntroduction to Data Science
Introduction to Data Science
 
Time Management & Productivity - Best Practices
Time Management & Productivity -  Best PracticesTime Management & Productivity -  Best Practices
Time Management & Productivity - Best Practices
 
The six step guide to practical project management
The six step guide to practical project managementThe six step guide to practical project management
The six step guide to practical project management
 
Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...
Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...
Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...
 
Unlocking the Power of ChatGPT and AI in Testing - A Real-World Look, present...
Unlocking the Power of ChatGPT and AI in Testing - A Real-World Look, present...Unlocking the Power of ChatGPT and AI in Testing - A Real-World Look, present...
Unlocking the Power of ChatGPT and AI in Testing - A Real-World Look, present...
 
12 Ways to Increase Your Influence at Work
12 Ways to Increase Your Influence at Work12 Ways to Increase Your Influence at Work
12 Ways to Increase Your Influence at Work
 
ChatGPT webinar slides
ChatGPT webinar slidesChatGPT webinar slides
ChatGPT webinar slides
 
More than Just Lines on a Map: Best Practices for U.S Bike Routes
More than Just Lines on a Map: Best Practices for U.S Bike RoutesMore than Just Lines on a Map: Best Practices for U.S Bike Routes
More than Just Lines on a Map: Best Practices for U.S Bike Routes
 
Ride the Storm: Navigating Through Unstable Periods / Katerina Rudko (Belka G...
Ride the Storm: Navigating Through Unstable Periods / Katerina Rudko (Belka G...Ride the Storm: Navigating Through Unstable Periods / Katerina Rudko (Belka G...
Ride the Storm: Navigating Through Unstable Periods / Katerina Rudko (Belka G...
 
Barbie - Brand Strategy Presentation
Barbie - Brand Strategy PresentationBarbie - Brand Strategy Presentation
Barbie - Brand Strategy Presentation
 

Designing The 10 Foot User Experience

  • 1.
  • 3. Designing the 10 Foot User Experience Daniels Lee May 13, 2011 Twitter: @googletvdev Tags: #gtvweb #wdx #gtvweb #wdx
  • 5. Why is Television Interesting? #gtvweb #wdx
  • 6. Why is Television Interesting? 100% 90% 80% 70% 60% 50% 40% 30% 20% 10% 0% Computers Mobile Devices TVs % of households 4 #gtvweb #wdx
  • 7. Why is Television Interesting? 100% 90% 80% 70% More American households 60% have TVs than cell phones 50% or computers. 40% 30% 20% 10% 0% Computers Mobile Devices TVs % of households 1 Source: Nielsen Research 2 Source: Pew Research, Internet and American Life Project 2011 3 Source: International Telecommunication Union, The World in 2009: ICT Facts and Figures 4 #gtvweb #wdx
  • 8. Why is Television Interesting? 45M 43M 40M 35M 30M 25M 20M 15M 10M 5M 2M 0M 2010 2014 (proj) Smart TV Adoption 5 #gtvweb #wdx
  • 9. Why is Television Interesting? 45M 43M 40M 35M By 2014, more than 1/3 30M of households in the US 25M will have an Internet- 20M 15M connected television. 10M 5M 2M 0M 2010 2014 (proj) Smart TV Adoption 1 Source: James McQuivey, Forrester Research, Connected TVs Will Sell, But Will They Get Used?, 2010 2 Source: In-Stat Research, Installed Base of “Smart TV” Web-Enabled Home Consumer Electronics Devices to Reach Over 230 Million by 2014 5 #gtvweb #wdx
  • 10. Media Use in 8- to 18-Year-Olds Movies Print 4% 6% Video Games 11% TV 42% Computer 14% Music/audio Source: Kaiser Family Foundation: “Media in the Lives 23% of 8- to 18-Year-Olds” (2009) 6 #gtvweb #wdx
  • 11. Why is Television Interesting? 7 #gtvweb #wdx
  • 12. Why is Television Interesting? • TVs are more common than computers 7 #gtvweb #wdx
  • 13. Why is Television Interesting? • TVs are more common than computers • Americans spend more time watching TV than any other media activity 7 #gtvweb #wdx
  • 14. Why is Television Interesting? • TVs are more common than computers • Americans spend more time watching TV than any other media activity We should make better use of this time 7 #gtvweb #wdx
  • 15. What about Google TV? 8 #gtvweb #wdx
  • 16. What about Google TV? • Improve TV as we know it today 8 #gtvweb #wdx
  • 17. What about Google TV? • Improve TV as we know it today 8 #gtvweb #wdx
  • 18. What about Google TV? • Improve TV as we know it today • Combine TV and the Web 8 #gtvweb #wdx
  • 19. What about Google TV? • Improve TV as we know it today • Combine TV and the Web 8 #gtvweb #wdx
  • 20. What about Google TV? • Improve TV as we know it today • Combine TV and the Web • Transform TV into an open development platform for Apps 8 #gtvweb #wdx
  • 21. Opportunities 9 #gtvweb #wdx
  • 22. Opportunities •Media consumption with social aspect –Watching the game “together” 9 #gtvweb #wdx
  • 23. Opportunities •Media consumption with social aspect –Watching the game “together” •Applications that span - and morph between - devices 9 #gtvweb #wdx
  • 24. Opportunities •Media consumption with social aspect –Watching the game “together” •Applications that span - and morph between - devices •Casual games, particularly multi-player 9 #gtvweb #wdx
  • 25. Opportunities •Applications using paired “virtual controllers” – Connecting mobile devices and tablets to “drive,” with the TV as output 10 #gtvweb #wdx
  • 26. Opportunities •Applications using paired “virtual controllers” – Connecting mobile devices and tablets to “drive,” with the TV as output 10 #gtvweb #wdx
  • 28. Demo: TV as a “social” center #gtvweb #wdx
  • 29. Google TV and the Web Platform 12 #gtvweb #wdx
  • 30. Google TV and the Web Platform • Google TV is based on Android 12 #gtvweb #wdx
  • 31. Google TV and the Web Platform • Google TV is based on Android • Google TV’s web platform is Chrome – “Modern Browser” (i.e. many HTML5 features, Webkit) – Adobe Flash (10.1) supported, supports H.264 video natively 12 #gtvweb #wdx
  • 32. Google TV and the Web Platform • Google TV is based on Android • Google TV’s web platform is Chrome – “Modern Browser” (i.e. many HTML5 features, Webkit) – Adobe Flash (10.1) supported, supports H.264 video natively • Updates automatically over the network 12 #gtvweb #wdx
  • 33. What Makes Designing for TV Different? 13 #gtvweb #wdx
  • 34. What Makes Designing for TV Different? TV is a different mental space: user is in “couch mode” 13 #gtvweb #wdx
  • 35. What Makes Designing for TV Different? TV is a different mental space: user is in “couch mode” • Applications need a “10-foot UI”: – UI design is page-based – Interactions via d-pad, i.e. no mouse – TV content is dynamic - even when “static” – and more ... 13 #gtvweb #wdx
  • 37. Demo: Desktop vs 10ft UX #gtvweb #wdx
  • 38. What Makes Designing for TV Different? 15 #gtvweb #wdx
  • 39. What Makes Designing for TV Different? •Technical constraints of TV – Device issues: resolution, overscan, color, etc. 15 #gtvweb #wdx
  • 40. What Makes Designing for TV Different? •Technical constraints of TV – Device issues: resolution, overscan, color, etc. •Practical constraints of TV – Apparent sizes, user input devices, layout, etc. 15 #gtvweb #wdx
  • 41. What Makes Designing for TV Different? •Technical constraints of TV – Device issues: resolution, overscan, color, etc. •Practical constraints of TV – Apparent sizes, user input devices, layout, etc. •Design guidance for TV – What makes a “TV experience” 15 #gtvweb #wdx
  • 42. Technical Constraints - Resolution 16 #gtvweb #wdx
  • 43. Technical Constraints - “Overscan” and Padding 17 #gtvweb #wdx
  • 44. Technical Constraints - “Overscan” and Padding “Action Safe” (3.5%) “Title Safe” (5-10%) 17 #gtvweb #wdx
  • 45. Technical Constraints - “Overscan” and Padding Bad Good 18 #gtvweb #wdx
  • 46. Practical Constraints of Designing for TV 19 #gtvweb #wdx
  • 47. Practical Constraints of Designing for TV • The color gamut is different on TV – TVs are also frequently not calibrated – It’s easy to over-saturate, so tone down your colors • Particularly oranges and reds 19 #gtvweb #wdx
  • 48. Practical Constraints of Designing for TV • The color gamut is different on TV – TVs are also frequently not calibrated – It’s easy to over-saturate, so tone down your colors • Particularly oranges and reds • Non-white background colors are best – WHITE IS LIKE ALL CAPS – White backgrounds can cause halos 19 #gtvweb #wdx
  • 49. Practical Constraints of Designing for TV • The color gamut is different on TV – TVs are also frequently not calibrated – It’s easy to over-saturate, so tone down your colors • Particularly oranges and reds • Non-white background colors are best – WHITE IS LIKE ALL CAPS – White backgrounds can cause halos Always test on a real TV display! 19 #gtvweb #wdx
  • 50. Practical Constraints of Designing for TV 20 #gtvweb #wdx
  • 51. Practical Constraints of Designing for TV • Optimize your text carefully – Limit content length – Avoid small text sizes – Make it as big as needed, then bigger 20 #gtvweb #wdx
  • 52. Practical Constraints of Designing for TV • Optimize your text carefully – Limit content length – Avoid small text sizes – Make it as big as needed, then bigger • Typical on-screen font guidance applies: – Sans-serif fonts tend to be more readable – Don’t use too many fonts in one page 20 #gtvweb #wdx
  • 53. Practical Constraints of Designing for TV • No horizontal/vertical scroll bars • Place content “above the fold” • Use strong visual cues 21 #gtvweb #wdx
  • 54. Practical Constraints of Designing for TV Strong Focus Model 22 #gtvweb #wdx
  • 55. Practical Constraints of TV 23 #gtvweb #wdx
  • 56. Practical Constraints of TV • D-Pad is better than mice/trackpads – Don’t rely on keyboard shortcuts, either 23 #gtvweb #wdx
  • 57. Practical Constraints of TV • D-Pad is better than mice/trackpads – Don’t rely on keyboard shortcuts, either • D-Pad navigation: Listen for keypresses – Useful on desktop web, too: http://windowshop.com/, Google search results document.body.onkeypress = keydown; function keydown(e) { switch(e.keyCode) { case 37:// Left arrow - move to previous next = $(".selectable"); var i = next.index($('.selected')) - 1; focus.removeClass("selected"); // <more code> } 23 #gtvweb #wdx
  • 58. Practical Constraints of TV • The expected D-Pad focus model is 2-dimensional • The Web platform is used to a linear model “Traditional Web” model Directional-pad model 24 #gtvweb #wdx
  • 59. Enabling The “Back” Key What happens when the user hits the “Back” key is one of the most-overlooked features of modern web apps. 25 #gtvweb #wdx
  • 60. Enabling The “Back” Key What happens when the user hits the “Back” key is one of the most-overlooked features of modern web apps. •Set window.location.hash and listen to “hashchange” events •Don’t over-use this, though! 25 #gtvweb #wdx
  • 61. Technical Points Specific to Google TV • Autozoom – Google TV automatically scales web pages to fit your TV display. If your site attempts to be "pixel-perfect", the algorithm may not be optimal. – Disable auto-zoom: <meta name="gtv-autozoom" content="off" /> – Manually configure zoom: document.getElementsByTagName('body')[0].style.zoom = 1.3; 26 #gtvweb #wdx
  • 62. Design Guidance for Web Apps on TV Make the most of your space 27 #gtvweb #wdx
  • 63. Design Guidance for Web Apps on TV != Sit Back. Test Your Design on TV. 28 #gtvweb #wdx
  • 64. Design Guidance for Web Apps on TV • Visual feedback and motion – Display visual feedback for all actions – Display hints or help dialogs – Auto-hide overlay controls – Use smooth transitions and animation – Keep things dynamic <style type='text/css'> div { -webkit-transition: opacity 2s ease; } </style> 29 #gtvweb #wdx
  • 66. Developer Tools by Google #gtvweb #wdx
  • 67. Google TV UI Templates • Site templates designed for 10ft living room experience • Both templates are provided in both HTML5 and Flash, and support D-Pad navigation and video playback controls • Site templates at goo.gl/guzvn 31 #gtvweb #wdx
  • 69. Google TV Web UI Libraries goo.gl/8ajdi #gtvweb #wdx
  • 70. Google TV Web UI Libraries (goo.gl/8ajdi) Google TV jQuery UI Library $('mydiv') goo.gl/ObULa $('.a:even') $('.a').click(function() { ... }) $('button').html('Look mah') $("div:hidden:first").fadeIn("slow"); Google TV Closure UI Library goog.inherits(childClass, parentClass) goo.gl/sCyj4 goog.require('tv.ui.Container') goog.dom.getElement('mydiv') goog.dom.getElementsByClass('buttons') goog.debug.expose(person) 33 #gtvweb #wdx
  • 71. Google TV Web UI Libraries (goo.gl/8ajdi) Google TV jQuery UI Library • Requires more JavaScript goo.gl/ObULa • CSS selectors to specify navigable areas • UI Control Libraries: (Row, SideNav, Sliding, Photo, Video, Roller, Rotator, Stack) Google TV Closure UI Library • Requires more HTML markup goo.gl/sCyj4 • Special CSS class names to specify navigable areas • UI building blocks: (Grid, scrolling containers, components, buttons, links, input, menu, ... more) 34 #gtvweb #wdx
  • 72. Google TV Web UI Libraries (goo.gl/8ajdi) 1 HTML: Structure 2 CSS: Presentation 3 JavaScript: Initialize / Events 35 #gtvweb #wdx
  • 73. Google TV jQuery UI Library (goo.gl/ObULa) Keyboard Navigation: Concept • Key behavior zones (HTML containers) • Specify zones using CSS selectors: .item:not(.nonav) • Remembers last selected item per zone • (optional) Geometry feature: Select next closest item based on distance 36 #gtvweb #wdx
  • 74. Google TV jQuery UI Library (goo.gl/ObULa) Keyboard Navigation: HTML <ul id="zone1"> <div class="item-row"> <li class="item-parent"><div class="item">ONE</div></li> <li class="item-parent"><div class="item">TWO</div></li> <li class="item-parent"><div class="item">THREE</div></li> </div> </ul> <ul id="zone2"> <div class="item-row"> <li class="item-parent"><div class="item">FOUR</div></li> <li class="item-parent"><div class="item">FIVE</div></li> <li class="item-parent"><div class="item">SIX</div></li> </div> </ul> 37 #gtvweb #wdx
  • 75. Google TV jQuery UI Library (goo.gl/ObULa) Keyboard Navigation: HTML Stylize using CSS3 <ul id="zone1"> <div class="item-row"> <li class="item-parent"><div class="item">ONE</div></li> <li class="item-parent"><div class="item">TWO</div></li> <li class="item-parent"><div class="item">THREE</div></li> </div> </ul> <ul id="zone2"> <div class="item-row"> <li class="item-parent"><div class="item">FOUR</div></li> <li class="item-parent"><div class="item">FIVE</div></li> <li class="item-parent"><div class="item">SIX</div></li> </div> </ul> 37 #gtvweb #wdx
  • 76. Google TV jQuery UI Library (goo.gl/ObULa) Keyboard Navigation: HTML Stylize using CSS3 ul { <ul id="zone1"> list-style-type: none; <div class="item-row"> margin: 0 auto 10px; padding: 10px 20px 15px; <li class="item-parent"><div class="item">ONE</div></li> } <li class="item-parent"><div class="item">TWO</div></li> .item { <li class="item-parent"><div class="item">THREE</div></li> -webkit-transition: -webkit-box-shadow 300ms ease; </div> } </ul> #zone1 .item { border: 3px solid #89a; <ul id="zone2"> display: inline-block; <div class="item-row"> font-size: 30px; <li class="item-parent"><div class="item">FOUR</div></li> 0 0; margin: 0 15px padding: 5px 0; <li class="item-parent"><div class="item">FIVE</div></li> text-align: center; <li class="item-parent"><div class="item">SIX</div></li> width: 170px; </div> -webkit-border-radius: 10px; } </ul> 37 #gtvweb #wdx
  • 77. Google TV jQuery UI Library (goo.gl/ObULa) Keyboard Navigation: JavaScript var zone1 = new gtv.jq.KeyBehaviorZone({ var zone2 = new gtv.jq.KeyBehaviorZone({ containerSelector: '#zone1', containerSelector: '#zone2', navSelectors: { navSelectors: { item: '.item', item: '.item', itemParent: '.item-parent', itemParent: '.item-parent', itemRow: '.item-row' itemRow: '.item-row' }, }, selectionClasses: { selectionClasses: { basic: 'item-selected' basic: 'item-selected' }, } keyMapping: { }); 13: enterCallback } }); // Add behavior zones var keyController = new gtv.jq.KeyController(); keyController.addBehaviorZone(zone1); keyController.addBehaviorZone(zone2); keyController.start(zone1, true); 38 #gtvweb #wdx
  • 78. Google TV jQuery UI Library (goo.gl/ObULa) Keyboard Navigation: JavaScript var zone1 = new gtv.jq.KeyBehaviorZone({ var zone2 = new gtv.jq.KeyBehaviorZone({ containerSelector: '#zone1', containerSelector: '#zone2', navSelectors: { selectors navSelectors: { item: '.item', item: '.item', itemParent: '.item-parent', itemParent: '.item-parent', itemRow: '.item-row' itemRow: '.item-row' }, }, selectionClasses: { selectionClasses: { basic: 'item-selected' basic: 'item-selected' }, } keyMapping: { }); 13: enterCallback } }); // Add behavior zones var keyController = new gtv.jq.KeyController(); keyController.addBehaviorZone(zone1); keyController.addBehaviorZone(zone2); keyController.start(zone1, true); 38 #gtvweb #wdx
  • 79. Google TV jQuery UI Library (goo.gl/ObULa) Keyboard Navigation: JavaScript var zone1 = new gtv.jq.KeyBehaviorZone({ var zone2 = new gtv.jq.KeyBehaviorZone({ containerSelector: '#zone1', containerSelector: '#zone2', navSelectors: { selectors navSelectors: { item: '.item', item: '.item', itemParent: '.item-parent', itemParent: '.item-parent', itemRow: '.item-row' itemRow: '.item-row' }, }, selectionClasses: { selectionClasses: { basic: 'item-selected' basic: 'item-selected' selected } }, keyMapping: { }); 13: enterCallback } }); // Add behavior zones var keyController = new gtv.jq.KeyController(); keyController.addBehaviorZone(zone1); keyController.addBehaviorZone(zone2); keyController.start(zone1, true); 38 #gtvweb #wdx
  • 80. Google TV jQuery UI Library (goo.gl/ObULa) Keyboard Navigation: JavaScript var zone1 = new gtv.jq.KeyBehaviorZone({ var zone2 = new gtv.jq.KeyBehaviorZone({ containerSelector: '#zone1', containerSelector: '#zone2', navSelectors: { selectors navSelectors: { item: '.item', item: '.item', itemParent: '.item-parent', itemParent: '.item-parent', itemRow: '.item-row' itemRow: '.item-row' }, }, selectionClasses: { selectionClasses: { basic: 'item-selected' basic: 'item-selected' selected } }, keyMapping: { }); 13: enterCallback } event handler }); // Add behavior zones var keyController = new gtv.jq.KeyController(); keyController.addBehaviorZone(zone1); keyController.addBehaviorZone(zone2); keyController.start(zone1, true); 38 #gtvweb #wdx
  • 81. Google TV Closure UI Library (goo.gl/sCyj4) Decorator: Concept • Horizontal / Vertical container building blocks • Scrolling containers • Selectable components, buttons, links, input • Decorate HTML using semantic class names .tv-container-horizontal .tv-container-start-scroll .tv-component .tv-link ... more 39 #gtvweb #wdx
  • 82. Google TV Closure UI Library (goo.gl/sCyj4) Decorator: HTML Left Right ul { list-style-type: none; <ul class="tv-container-horizontal"> margin: 0 auto 10px; <li class="tv-component">1</li> padding: 10px 20px 15px; <li class="tv-component">2</li> } <li class="tv-component">3</li> 1 2 3 li { border: 3px solid #333; </ul> margin: 0 15px 0 0; padding: 10px -webkit-border-radius: 10px; } .tv-container-horizontal li { <ul class="tv-container-vertical"> display: inline-block; margin-right: 5px; <li class="tv-component">1</li> 1 Up } <li class="tv-component">2</li> .tv-container-vertical li { <li class="tv-component">3</li> display: block; </ul> 2 } margin-bottom: 5px; 3 Down 40 #gtvweb #wdx
  • 83. Google TV Closure UI Library (goo.gl/sCyj4) Decorator: HTML <div class="tv-container-vertical"> <ul class="tv-container-horizontal"> <li class="tv-component">1</li> <li class="tv-component">2</li> 1 2 3 <li class="tv-component">3</li> </ul> <ul class="tv-container-horizontal"> <li class="tv-component">1</li> <li class="tv-component">2</li> <li class="tv-component">3</li> </ul> 1 2 3 </div> 41 #gtvweb #wdx
  • 84. Google TV Closure UI Library (goo.gl/sCyj4) Decorator: HTML 1 <div class="tv-container-vertical"> 2 <ul class="tv-container-start-scroll"> <li class="tv-component">1</li> 3 <li class="tv-component">2</li> <li class="tv-component">3</li> .tv-container-vertical { <li class="tv-component">4</li> 4 height: 90px; overflow: hidden; <li class="tv-component">5</li> } <li class="tv-component">6</li> 5 <li class="tv-component">7</li> <li class="tv-component">8</li> 6 <li class="tv-component">9</li> </ul> 7 </div> 8 9 42 #gtvweb #wdx
  • 85. Google TV Closure UI Library (goo.gl/sCyj4) Decorator: JavaScript // Execute the decorator try { tv.ui.decorate(goog.dom.getElement('main')); } catch (e) { alert(e.message); } // Set focus on initial element var focusElement = goog.dom.getElementByClass('first-focus'); var focusComponent = tv.ui.getComponentByElement(focusElement); focusComponent.tryFocus(); 43 #gtvweb #wdx
  • 87. Google TV Web UI Library Demos goo.gl/ozKzk #gtvweb #wdx
  • 88. Summary •Think about how your apps apply to the TV space •Think about new applications you could build •Think about how these lessons apply to desktop & mobile 45 #gtvweb #wdx
  • 89. Summary •Think about how your apps apply to the TV space •Think about new applications you could build •Think about how these lessons apply to desktop & mobile Get a Google TV device and start developing! 45 #gtvweb #wdx
  • 90. Summary Docs: goo.gl/FIxrd Twitter: @googletvdev Hash Tags: #gtvweb Forum: goo.gl/RhuDw Demos: goo.gl/ozKzk Questions? 46 #gtvweb #wdx

Notas del editor

  1. \n
  2. Good afternoon! I&amp;#x2019;m Daniels Lee. I&amp;#x2019;m here to talk about designing/developing web applications for the 10ft experience. I&amp;#x2019;m also here to talk about Google TV.\n\nIf you wish to tweet about this presentation, the hashtag is at the bottom of each slide in our deck for your convenience - #gtvweb.\n
  3. Good afternoon! I&amp;#x2019;m Daniels Lee. I&amp;#x2019;m here to talk about designing/developing web applications for the 10ft experience. I&amp;#x2019;m also here to talk about Google TV.\n\nIf you wish to tweet about this presentation, the hashtag is at the bottom of each slide in our deck for your convenience - #gtvweb.\n
  4. Before we really get going, I want to answer the question &amp;#x201C;Why should we even care about TV? Isn&amp;#x2019;t that old media? We have the web now!&amp;#x201D;\n
  5. Most importantly, the first fact I want to share is just how popular television is. While only 80% of American households have computers, and about 90% have cell phones, 99% of American households have televisions - in fact, more than half of those have three or more TVs! That&amp;#x2019;s a lot of screens, and a lot of potential surface area.\n\nWorld-wide, of course, the numbers are a bit different - but even there, world-wide, about 3/4 of all households have a television.\n
  6. Most importantly, the first fact I want to share is just how popular television is. While only 80% of American households have computers, and about 90% have cell phones, 99% of American households have televisions - in fact, more than half of those have three or more TVs! That&amp;#x2019;s a lot of screens, and a lot of potential surface area.\n\nWorld-wide, of course, the numbers are a bit different - but even there, world-wide, about 3/4 of all households have a television.\n
  7. Most importantly, the first fact I want to share is just how popular television is. While only 80% of American households have computers, and about 90% have cell phones, 99% of American households have televisions - in fact, more than half of those have three or more TVs! That&amp;#x2019;s a lot of screens, and a lot of potential surface area.\n\nWorld-wide, of course, the numbers are a bit different - but even there, world-wide, about 3/4 of all households have a television.\n
  8. Now, that&amp;#x2019;s ALL TVs - and what we&amp;#x2019;re really talking about is internet-capable, or &amp;#x201C;smart&amp;#x201D; tvs. Relatively speaking, there aren&amp;#x2019;t tons of them today. There are rougly 2 million in the US - but by 2014, it&amp;#x2019;s projected that there&amp;#x2019;ll be close to 43 million - nearly one third of the 115 million households in the US will have an internet-capable, &amp;#x201C;smart&amp;#x201D; TV.\n\n
  9. Now, that&amp;#x2019;s ALL TVs - and what we&amp;#x2019;re really talking about is internet-capable, or &amp;#x201C;smart&amp;#x201D; tvs. Relatively speaking, there aren&amp;#x2019;t tons of them today. There are rougly 2 million in the US - but by 2014, it&amp;#x2019;s projected that there&amp;#x2019;ll be close to 43 million - nearly one third of the 115 million households in the US will have an internet-capable, &amp;#x201C;smart&amp;#x201D; TV.\n\n
  10. Now, that&amp;#x2019;s ALL TVs - and what we&amp;#x2019;re really talking about is internet-capable, or &amp;#x201C;smart&amp;#x201D; tvs. Relatively speaking, there aren&amp;#x2019;t tons of them today. There are rougly 2 million in the US - but by 2014, it&amp;#x2019;s projected that there&amp;#x2019;ll be close to 43 million - nearly one third of the 115 million households in the US will have an internet-capable, &amp;#x201C;smart&amp;#x201D; TV.\n\n
  11. Besides TV presence in the home, TV takes up a tremendous amount of our leisure-time activity - on an average day, Americans spend more time watching TV than any other &amp;#x201C;media&amp;#x201D; activity - in fact, watching TV takes up more time than listening to music and computer use put together. &amp;#xA0;In fact, 8-18 year olds watch TV more than any other media activity - three times as much as they use computers, and nearly twice as much as they listen to music.\n\n
  12. So, to sum up - TVs are more common than computers or cell phones, and Americans spend more time watching TV than anything else. We should really make better use of this time. That might sound like I&amp;#x2019;m suggesting that we stop watching TV, but I really mean there are a lot of opportunities to make our TV experience better. \n
  13. So, to sum up - TVs are more common than computers or cell phones, and Americans spend more time watching TV than anything else. We should really make better use of this time. That might sound like I&amp;#x2019;m suggesting that we stop watching TV, but I really mean there are a lot of opportunities to make our TV experience better. \n
  14. So, to sum up - TVs are more common than computers or cell phones, and Americans spend more time watching TV than anything else. We should really make better use of this time. That might sound like I&amp;#x2019;m suggesting that we stop watching TV, but I really mean there are a lot of opportunities to make our TV experience better. \n
  15. And that&amp;#x2019;s really what sparked the Google TV project. The ideas behind the Google TV are relatively simple:\n- First, We can make live TV better - we can apply search to live TV, we can give live info on &amp;#x201C;what&amp;#x2019;s on&amp;#x201D; so you don&amp;#x2019;t have to channel-surf through 500 channels to find something good - in short, help you find stuff you WANT to watch\n- Second, There is lots of great content out there on the web. It&amp;#x2019;s silly to watch videos in a six-inch window on your 13&amp;#x201D; laptop, when you can put them on the biggest screen in your house. There are 2 billion videos watched daily, just on YouTube alone - there are 35 hours of video uploaded to YT every minute - outstripping what you can watch by 2100x. They can&amp;#x2019;t all be funny cat videos, but there are enough to keep you entertained.\n- The final idea behind Google TV is that smart TV obviously needs a platform for interactive applications - manufacturers were already starting to roll their own vertical platforms. We said hey, we already have a great platform - two platforms, actually - Android and the Web platform.\n\n\n\n\n
  16. And that&amp;#x2019;s really what sparked the Google TV project. The ideas behind the Google TV are relatively simple:\n- First, We can make live TV better - we can apply search to live TV, we can give live info on &amp;#x201C;what&amp;#x2019;s on&amp;#x201D; so you don&amp;#x2019;t have to channel-surf through 500 channels to find something good - in short, help you find stuff you WANT to watch\n- Second, There is lots of great content out there on the web. It&amp;#x2019;s silly to watch videos in a six-inch window on your 13&amp;#x201D; laptop, when you can put them on the biggest screen in your house. There are 2 billion videos watched daily, just on YouTube alone - there are 35 hours of video uploaded to YT every minute - outstripping what you can watch by 2100x. They can&amp;#x2019;t all be funny cat videos, but there are enough to keep you entertained.\n- The final idea behind Google TV is that smart TV obviously needs a platform for interactive applications - manufacturers were already starting to roll their own vertical platforms. We said hey, we already have a great platform - two platforms, actually - Android and the Web platform.\n\n\n\n\n
  17. And that&amp;#x2019;s really what sparked the Google TV project. The ideas behind the Google TV are relatively simple:\n- First, We can make live TV better - we can apply search to live TV, we can give live info on &amp;#x201C;what&amp;#x2019;s on&amp;#x201D; so you don&amp;#x2019;t have to channel-surf through 500 channels to find something good - in short, help you find stuff you WANT to watch\n- Second, There is lots of great content out there on the web. It&amp;#x2019;s silly to watch videos in a six-inch window on your 13&amp;#x201D; laptop, when you can put them on the biggest screen in your house. There are 2 billion videos watched daily, just on YouTube alone - there are 35 hours of video uploaded to YT every minute - outstripping what you can watch by 2100x. They can&amp;#x2019;t all be funny cat videos, but there are enough to keep you entertained.\n- The final idea behind Google TV is that smart TV obviously needs a platform for interactive applications - manufacturers were already starting to roll their own vertical platforms. We said hey, we already have a great platform - two platforms, actually - Android and the Web platform.\n\n\n\n\n
  18. And that&amp;#x2019;s really what sparked the Google TV project. The ideas behind the Google TV are relatively simple:\n- First, We can make live TV better - we can apply search to live TV, we can give live info on &amp;#x201C;what&amp;#x2019;s on&amp;#x201D; so you don&amp;#x2019;t have to channel-surf through 500 channels to find something good - in short, help you find stuff you WANT to watch\n- Second, There is lots of great content out there on the web. It&amp;#x2019;s silly to watch videos in a six-inch window on your 13&amp;#x201D; laptop, when you can put them on the biggest screen in your house. There are 2 billion videos watched daily, just on YouTube alone - there are 35 hours of video uploaded to YT every minute - outstripping what you can watch by 2100x. They can&amp;#x2019;t all be funny cat videos, but there are enough to keep you entertained.\n- The final idea behind Google TV is that smart TV obviously needs a platform for interactive applications - manufacturers were already starting to roll their own vertical platforms. We said hey, we already have a great platform - two platforms, actually - Android and the Web platform.\n\n\n\n\n
  19. And that&amp;#x2019;s really what sparked the Google TV project. The ideas behind the Google TV are relatively simple:\n- First, We can make live TV better - we can apply search to live TV, we can give live info on &amp;#x201C;what&amp;#x2019;s on&amp;#x201D; so you don&amp;#x2019;t have to channel-surf through 500 channels to find something good - in short, help you find stuff you WANT to watch\n- Second, There is lots of great content out there on the web. It&amp;#x2019;s silly to watch videos in a six-inch window on your 13&amp;#x201D; laptop, when you can put them on the biggest screen in your house. There are 2 billion videos watched daily, just on YouTube alone - there are 35 hours of video uploaded to YT every minute - outstripping what you can watch by 2100x. They can&amp;#x2019;t all be funny cat videos, but there are enough to keep you entertained.\n- The final idea behind Google TV is that smart TV obviously needs a platform for interactive applications - manufacturers were already starting to roll their own vertical platforms. We said hey, we already have a great platform - two platforms, actually - Android and the Web platform.\n\n\n\n\n
  20. 1) Social connections in the living room (watching funny videos, sports, live streams, movies) together with friends/family\n2) Multi-device, from Desktop to TV to Mobile to Tablet, e.g. Air travel, cooking\n3) Casual games for TV using less advanced controls, i.e. D-Pad, no touch-screen\n\nWith an interactive platform, when you think of all the time spent parked in front of the TV, there are some specific opportunities that come to mind, particular areas that are very compelling for TV applications.\n\nApp space revolving around social interactions, particularly apps focused on media consumption or entertainment, e.g. sporting events, without having to have them actually *IN* your living room\n\nBeginning to be realized in Mobile, applications that span multiple devices. Example: App around food that lets you watch episodes of your cooking show; then, when you&amp;#x2019;ve decided what you want to make for dinner, you go to the store, pull out your mobile device and get a shopping list; then, when you&amp;#x2019;re actually preparing and cooking, the app walks through the steps including video on their tablet.\n\nCasual games are another big area - I say &amp;#x201C;casual&amp;#x201D; because I think the console gaming market has serious gaming already there on TV, but casual games are not as common. One challenge, of course, is that controls on the couch aren&amp;#x2019;t the same as controls on the desktop, or on a mobile phone or tablet. Your TV is probably not a touch screen.\n\n
  21. 1) Social connections in the living room (watching funny videos, sports, live streams, movies) together with friends/family\n2) Multi-device, from Desktop to TV to Mobile to Tablet, e.g. Air travel, cooking\n3) Casual games for TV using less advanced controls, i.e. D-Pad, no touch-screen\n\nWith an interactive platform, when you think of all the time spent parked in front of the TV, there are some specific opportunities that come to mind, particular areas that are very compelling for TV applications.\n\nApp space revolving around social interactions, particularly apps focused on media consumption or entertainment, e.g. sporting events, without having to have them actually *IN* your living room\n\nBeginning to be realized in Mobile, applications that span multiple devices. Example: App around food that lets you watch episodes of your cooking show; then, when you&amp;#x2019;ve decided what you want to make for dinner, you go to the store, pull out your mobile device and get a shopping list; then, when you&amp;#x2019;re actually preparing and cooking, the app walks through the steps including video on their tablet.\n\nCasual games are another big area - I say &amp;#x201C;casual&amp;#x201D; because I think the console gaming market has serious gaming already there on TV, but casual games are not as common. One challenge, of course, is that controls on the couch aren&amp;#x2019;t the same as controls on the desktop, or on a mobile phone or tablet. Your TV is probably not a touch screen.\n\n
  22. 1) Social connections in the living room (watching funny videos, sports, live streams, movies) together with friends/family\n2) Multi-device, from Desktop to TV to Mobile to Tablet, e.g. Air travel, cooking\n3) Casual games for TV using less advanced controls, i.e. D-Pad, no touch-screen\n\nWith an interactive platform, when you think of all the time spent parked in front of the TV, there are some specific opportunities that come to mind, particular areas that are very compelling for TV applications.\n\nApp space revolving around social interactions, particularly apps focused on media consumption or entertainment, e.g. sporting events, without having to have them actually *IN* your living room\n\nBeginning to be realized in Mobile, applications that span multiple devices. Example: App around food that lets you watch episodes of your cooking show; then, when you&amp;#x2019;ve decided what you want to make for dinner, you go to the store, pull out your mobile device and get a shopping list; then, when you&amp;#x2019;re actually preparing and cooking, the app walks through the steps including video on their tablet.\n\nCasual games are another big area - I say &amp;#x201C;casual&amp;#x201D; because I think the console gaming market has serious gaming already there on TV, but casual games are not as common. One challenge, of course, is that controls on the couch aren&amp;#x2019;t the same as controls on the desktop, or on a mobile phone or tablet. Your TV is probably not a touch screen.\n\n
  23. Which brings me to the opportunity to make connected applications that work across devices. You probably all have in your pocket, your hand or your purse a device that has a ton of controllers - a touchscreen display, accelerometer, gyroscope, a camera, a microphone for taking voice input, and more. Does anyone watch TV or movies at home without an available tablet or mobile device to look up stuff on imdb, check listings, etc anymore? We&amp;#x2019;ve already used this to make a Google TV remote control app for iPhone and Android, but more interesting than just driving the TV will be applications that use this multi-device concept for compelling group experiences - we want to show a couple of apps realizing some of this opportunity now.\n\n\n\n\n
  24. Which brings me to the opportunity to make connected applications that work across devices. You probably all have in your pocket, your hand or your purse a device that has a ton of controllers - a touchscreen display, accelerometer, gyroscope, a camera, a microphone for taking voice input, and more. Does anyone watch TV or movies at home without an available tablet or mobile device to look up stuff on imdb, check listings, etc anymore? We&amp;#x2019;ve already used this to make a Google TV remote control app for iPhone and Android, but more interesting than just driving the TV will be applications that use this multi-device concept for compelling group experiences - we want to show a couple of apps realizing some of this opportunity now.\n\n\n\n\n
  25. Which brings me to the opportunity to make connected applications that work across devices. You probably all have in your pocket, your hand or your purse a device that has a ton of controllers - a touchscreen display, accelerometer, gyroscope, a camera, a microphone for taking voice input, and more. Does anyone watch TV or movies at home without an available tablet or mobile device to look up stuff on imdb, check listings, etc anymore? We&amp;#x2019;ve already used this to make a Google TV remote control app for iPhone and Android, but more interesting than just driving the TV will be applications that use this multi-device concept for compelling group experiences - we want to show a couple of apps realizing some of this opportunity now.\n\n\n\n\n
  26. We want to give a very quick demo of a casual, social game - WeDraw, who you may have caught in the Sandbox.\n
  27. As I mentioned before, Google TV is based on Android, and we will soon be unlocking the ability for consumers to install Android apps;\nGoogle TV web platform is Google Chrome with a TV user interface applied; this gives you lots of great HTML5 features supported by Webkit. This instance of Chrome also supports Adobe Flash 10.1 currently and H.264 video support. Web platform will improve over time as updates are received OTA.\n
  28. As I mentioned before, Google TV is based on Android, and we will soon be unlocking the ability for consumers to install Android apps;\nGoogle TV web platform is Google Chrome with a TV user interface applied; this gives you lots of great HTML5 features supported by Webkit. This instance of Chrome also supports Adobe Flash 10.1 currently and H.264 video support. Web platform will improve over time as updates are received OTA.\n
  29. As I mentioned before, Google TV is based on Android, and we will soon be unlocking the ability for consumers to install Android apps;\nGoogle TV web platform is Google Chrome with a TV user interface applied; this gives you lots of great HTML5 features supported by Webkit. This instance of Chrome also supports Adobe Flash 10.1 currently and H.264 video support. Web platform will improve over time as updates are received OTA.\n
  30. As I mentioned before, Google TV is based on Android, and we will soon be unlocking the ability for consumers to install Android apps;\nGoogle TV web platform is Google Chrome with a TV user interface applied; this gives you lots of great HTML5 features supported by Webkit. This instance of Chrome also supports Adobe Flash 10.1 currently and H.264 video support. Web platform will improve over time as updates are received OTA.\n
  31. As I mentioned before, Google TV is based on Android, and we will soon be unlocking the ability for consumers to install Android apps;\nGoogle TV web platform is Google Chrome with a TV user interface applied; this gives you lots of great HTML5 features supported by Webkit. This instance of Chrome also supports Adobe Flash 10.1 currently and H.264 video support. Web platform will improve over time as updates are received OTA.\n
  32. As I mentioned before, Google TV is based on Android, and we will soon be unlocking the ability for consumers to install Android apps;\nGoogle TV web platform is Google Chrome with a TV user interface applied; this gives you lots of great HTML5 features supported by Webkit. This instance of Chrome also supports Adobe Flash 10.1 currently and H.264 video support. Web platform will improve over time as updates are received OTA.\n
  33. I just said we support the web platform, webkit, HTML5, etc. As a web developer, what more do you need to know?\n- When watching TV, users are a much more passive with their interaction\n- YouTube came out with &amp;#x2018;leanback&amp;#x2019; mode.\n- Needs a 10ft UI vs 1-2ft\n- Different input devices; users should be able to drive from a remote control using 5-way d-pad, sitting back on the couch\n- Web apps need to scroll its content for the user, activated by a d-pad keypress\n- Content is rarely completely static on TV; even &amp;#x201C;static&amp;#x201D; backgrounds in TV are usually subtly moving\n- Users&amp;#x2019;s mental space is much more passive\n\nIt&amp;#x2019;s almost as if since the mental space is much more passive, all that action the consumer would usually be taking needs to be sucked into the application, and it needs to make up for the consumer being a couch potato.\n
  34. I just said we support the web platform, webkit, HTML5, etc. As a web developer, what more do you need to know?\n- When watching TV, users are a much more passive with their interaction\n- YouTube came out with &amp;#x2018;leanback&amp;#x2019; mode.\n- Needs a 10ft UI vs 1-2ft\n- Different input devices; users should be able to drive from a remote control using 5-way d-pad, sitting back on the couch\n- Web apps need to scroll its content for the user, activated by a d-pad keypress\n- Content is rarely completely static on TV; even &amp;#x201C;static&amp;#x201D; backgrounds in TV are usually subtly moving\n- Users&amp;#x2019;s mental space is much more passive\n\nIt&amp;#x2019;s almost as if since the mental space is much more passive, all that action the consumer would usually be taking needs to be sucked into the application, and it needs to make up for the consumer being a couch potato.\n
  35. 1) Show Vimeo vs. Vimeo couch mode\n2) Flixster vs Flixster TV\n\nNote that from a design perspective, these have a single-page UI - the canvas is fixed, you never see scrollbars, per se - there are pagination points for some controls, of course.\n\nAlso note from a design perspective that the video sites like YouTube leanback start immediately, and you get loading \n
  36. Backup if net isn&amp;#x2019;t working\n\n
  37. Backup if net isn&amp;#x2019;t working\n\n
  38. Let&amp;#x2019;s discuss what makes designing for TV different:\n- Clarify these design guidelines apply to all TV web apps, not just for Google TV\n\n\n
  39. Let&amp;#x2019;s discuss what makes designing for TV different:\n- Clarify these design guidelines apply to all TV web apps, not just for Google TV\n\n\n
  40. Let&amp;#x2019;s discuss what makes designing for TV different:\n- Clarify these design guidelines apply to all TV web apps, not just for Google TV\n\n\n
  41. The great thing about TV design is that the screen size is becoming pretty well fixed, on two resolutions - 720p and 1080p. It feels very odd to say that designing for a fixed screen size is a good thing, but there you have it.\n\n
  42. In old TV, prior to HD, there was a concept called &amp;#x201C;overscan&amp;#x201D;. Overscan is the area around the edges of the display not guaranteed to be displayed on screen:\n1) it was around the curved edges of the CRT\n2) hidden by the bezel of the TV\n\n- Only ~40% of HDTVs display *all* pixels\n- 1/3 drop up to 10% around the edges\nThis is why you don&amp;#x2019;t see a lot of important information on TV, like the titles, popups, etc., showing up right around the edges. TV content follows guidelines.\nAlthough technically you would think an LCD or plasma HDTV would not have &amp;#x201C;overscan&amp;#x201D;, it turns out only about 40% of HDTVs actually display all the pixels; a good third or so of all HDTVs drop up to 10% around the edges. This means the edge of the screen may still get cut off - and ...\n
  43. it&amp;#x2019;s a good idea to use negative space for balance anyway, as you will likely find that UI that runs right next to the edges of the screen will feel out of place. Use some extra padding space.\n
  44. Now I&amp;#x2019;d like to briefly talk about color. TV&amp;#x2019;s color gamut comes from the NTSC gamut, and its color profile is a bit different - and more importantly, it&amp;#x2019;s not always calibrated. In fact, TVs are frequently deliberately set up to over-saturate their colors, because when consumers walk into best buy, they frequently buy the TV that&amp;#x2019;s the most colorful, brightest, - the shiniest one. You&amp;#x2019;ll note that &amp;#x201C;Accurate&amp;#x201D; does not appear in that list of attributes.\n\nTV doesn&amp;#x2019;t typically have a white background like the web does - it&amp;#x2019;s typically dark if not black. White is like YOUR TV IS SCREAMING AT YOU.\n
  45. Now I&amp;#x2019;d like to briefly talk about color. TV&amp;#x2019;s color gamut comes from the NTSC gamut, and its color profile is a bit different - and more importantly, it&amp;#x2019;s not always calibrated. In fact, TVs are frequently deliberately set up to over-saturate their colors, because when consumers walk into best buy, they frequently buy the TV that&amp;#x2019;s the most colorful, brightest, - the shiniest one. You&amp;#x2019;ll note that &amp;#x201C;Accurate&amp;#x201D; does not appear in that list of attributes.\n\nTV doesn&amp;#x2019;t typically have a white background like the web does - it&amp;#x2019;s typically dark if not black. White is like YOUR TV IS SCREAMING AT YOU.\n
  46. Now I&amp;#x2019;d like to briefly talk about color. TV&amp;#x2019;s color gamut comes from the NTSC gamut, and its color profile is a bit different - and more importantly, it&amp;#x2019;s not always calibrated. In fact, TVs are frequently deliberately set up to over-saturate their colors, because when consumers walk into best buy, they frequently buy the TV that&amp;#x2019;s the most colorful, brightest, - the shiniest one. You&amp;#x2019;ll note that &amp;#x201C;Accurate&amp;#x201D; does not appear in that list of attributes.\n\nTV doesn&amp;#x2019;t typically have a white background like the web does - it&amp;#x2019;s typically dark if not black. White is like YOUR TV IS SCREAMING AT YOU.\n
  47. Now I&amp;#x2019;d like to briefly talk about color. TV&amp;#x2019;s color gamut comes from the NTSC gamut, and its color profile is a bit different - and more importantly, it&amp;#x2019;s not always calibrated. In fact, TVs are frequently deliberately set up to over-saturate their colors, because when consumers walk into best buy, they frequently buy the TV that&amp;#x2019;s the most colorful, brightest, - the shiniest one. You&amp;#x2019;ll note that &amp;#x201C;Accurate&amp;#x201D; does not appear in that list of attributes.\n\nTV doesn&amp;#x2019;t typically have a white background like the web does - it&amp;#x2019;s typically dark if not black. White is like YOUR TV IS SCREAMING AT YOU.\n
  48. Now I&amp;#x2019;d like to briefly talk about color. TV&amp;#x2019;s color gamut comes from the NTSC gamut, and its color profile is a bit different - and more importantly, it&amp;#x2019;s not always calibrated. In fact, TVs are frequently deliberately set up to over-saturate their colors, because when consumers walk into best buy, they frequently buy the TV that&amp;#x2019;s the most colorful, brightest, - the shiniest one. You&amp;#x2019;ll note that &amp;#x201C;Accurate&amp;#x201D; does not appear in that list of attributes.\n\nTV doesn&amp;#x2019;t typically have a white background like the web does - it&amp;#x2019;s typically dark if not black. White is like YOUR TV IS SCREAMING AT YOU.\n
  49. When you &amp;#x201C;lean in and squint&amp;#x201D; at a computer screen to look more closely at something, you can easily more than double the apparently size of something - however, when you lean in a foot closer to your TV, when you&amp;#x2019;re sitting 10ft away, you only make it roughly 10% larger. \n\n
  50. When you &amp;#x201C;lean in and squint&amp;#x201D; at a computer screen to look more closely at something, you can easily more than double the apparently size of something - however, when you lean in a foot closer to your TV, when you&amp;#x2019;re sitting 10ft away, you only make it roughly 10% larger. \n\n
  51. When you &amp;#x201C;lean in and squint&amp;#x201D; at a computer screen to look more closely at something, you can easily more than double the apparently size of something - however, when you lean in a foot closer to your TV, when you&amp;#x2019;re sitting 10ft away, you only make it roughly 10% larger. \n\n
  52. Simplify your navigation - in particular, you need to avoid scrollbars - use paging or other intentional scrolling elements, with visual cues to tell users there is more content - don&amp;#x2019;t expect them to scroll around to look for it. You may have head of the term &amp;#x201C;above the fold&amp;#x201D; - in newspapers, this is everything that goes in the top half of the newspaper, since it&amp;#x2019;s above the place where it&amp;#x2019;s folded in half. TV doesn&amp;#x2019;t really have a &amp;#x201C;below the fold&amp;#x201D; - users aren&amp;#x2019;t used to scrolling.\n
  53. You also want to have a very strong focus model - you need to lead the user, and help them see where they are in the app, and what they can do. Quick show of hands - how many of you have popped a DVD into the player, and when it gets to the first screen, have to hit the up/down arrows on the remote before you realize that &amp;#x201C;Play&amp;#x201D; was already selected? Yeah. Don&amp;#x2019;t do that. So make those design elements large, if the user needs to see them. This was surprising to me... the user can&amp;#x2019;t just mouse around to tell what they can do, and small hit targets suck.\n\n\n
  54. In that same vein, the user will typically want to use the directional pad for control - they&amp;#x2019;re already used to it from their TV remote control, and their DVD or BluRay player remote, let alone their gaming console&amp;#x2019;s controller. Thankfully, this is easily supported in TV by responding to the arrow key presses keydown events. Supporting these can also be useful for keyboard navigation in the desktop - for example, Google search results are arrow-key navigable, as is Amazon&amp;#x2019;s Windowshop application.\n
  55. In that same vein, the user will typically want to use the directional pad for control - they&amp;#x2019;re already used to it from their TV remote control, and their DVD or BluRay player remote, let alone their gaming console&amp;#x2019;s controller. Thankfully, this is easily supported in TV by responding to the arrow key presses keydown events. Supporting these can also be useful for keyboard navigation in the desktop - for example, Google search results are arrow-key navigable, as is Amazon&amp;#x2019;s Windowshop application.\n
  56. In that same vein, the user will typically want to use the directional pad for control - they&amp;#x2019;re already used to it from their TV remote control, and their DVD or BluRay player remote, let alone their gaming console&amp;#x2019;s controller. Thankfully, this is easily supported in TV by responding to the arrow key presses keydown events. Supporting these can also be useful for keyboard navigation in the desktop - for example, Google search results are arrow-key navigable, as is Amazon&amp;#x2019;s Windowshop application.\n
  57. The biggest challenge with keyboard navigation is...\n
  58. 1) Use window.location.hash and hashchange events\n2) Useful to create &amp;#x2018;waypoints&amp;#x2019; in your app\n3) Useful for creating deep links within your app (more advanced)\n\nWhile we&amp;#x2019;re on the subject of the keyboard and navigation, I want to mention one thing that definitely would benefit ALL web applications, not just on TV - responding to the back button. This is one of the most frustrating and over-looked features of web applications. If there are natural &amp;#x201C;waypoints&amp;#x201D; in your application, you should make the back button work for these! You can do this in Javascript by setting window.location.hash and responding to hashchange events. Now, I wouldn&amp;#x2019;t put navigation hashes in for every state change in your app, but ones that naturally feel like a page change - popping up a visual modal dialog, for example - should definitely have them.\n
  59. I want to point out at this point that all the guidance I&amp;#x2019;ve given holds true for ANY TV-Web platform - it&amp;#x2019;s NOT Google TV-specific. Resolution, overscan, colors are attributes of the TV display; Although I showed the input devices for two GTV devices, other TV/internet devices use the arrow key/dpad model too. The one thing specific to GTV is...\n
  60. Utilize your screen real estate, all of it.\n
  61. Secondly, be sure to test out your design on a TV, in a TV context - not just looking at it on a TV screen, but sitting 10ft back from the screen, kickin&amp;#x2019; back on a couch, with a remote control in hand. I have a TV on my desk, sitting right next to my computer monitor - this is NOT where I would create and test out TV designs. It&amp;#x2019;s not a real TV experience.\n
  62. Finally, as I hinted before...\n\nIf you turned on the TV, and you saw something up on the screen that wasn&amp;#x2019;t moving at all, you&amp;#x2019;d think the TV channel&amp;#x2019;s computers had crashed. TV is a very dynamic experience, given that it&amp;#x2019;s a passive, one-way experience.\n\nBut the point is, you need to give visual feedback, and use animated loading icons, transitions and animation, and even subtly dynamic backgrounds.\n
  63. \n
  64. - Good starting boilerplate\nThe Google TV UI Templates provide two approaches to a video playback site designed for a 10-foot, living room experience. The templates are provided in both HTML5 and Flash. All of them support full keyboard navigation and support for the video playback controls on the Google TV remote.\n\nFLIP TO LIVE DEMO of TEMPLATES\n
  65. Introduce UI libraries\n- What is it? Mention it&amp;#x2019;s in BETA.\n- When did we launch? Feb 2011\n- Why did we build it?\n- Equip web developers with an easier way to build 10ft UIs\n- Primary goal: provide keyboard navigation library\n- Common pitfalls and implementation challenges faced by developers\n- Keyboard navigation is critical to a positive user experience\n\n
  66. jQuery vs Closure\n- Present both libraries to developers\n- Recommend a particular library to developers based on what they&amp;#x2019;re familiar with\n- Speak a little about both libraries\n\n
  67. Present both libraries to developers. jQuery vs Closure\n- jQuery UI Library is heavier on JavaScript\n- Use CSS selectors to specify navigable areas\n- UI control packages for common UI mechanisms\n- Closure UI Library, do more in HTML markup\n- Decorate HTML markup with semantic class names\n- Raw building blocks for UI interactions\n- Libraries focus primarily on enabling keyboard navigation\n
  68. Both libraries require three main steps:\n1) HTML defines structure\n2) CSS to create visual representation of UI to guide navigation\n3) JavaScript to initialize keyboard navigation and register other events\n
  69. Key behavior zones\n- Use jQuery CSS selectors\n- Zones keep track of last selected item\n- Explain &amp;#x2018;geometry feature&amp;#x2019;: Euclidean distance calculation\n- Good for quick prototyping\n- Not recommended for production\n\n
  70. 1) Highlight rows, parents, items\n2) Transition: Stylize using CSS3\n\nMention again. Zones are simply HTML containers, specified by ID.\n\n
  71. 1) Highlight rows, parents, items\n2) Transition: Stylize using CSS3\n\nMention again. Zones are simply HTML containers, specified by ID.\n\n
  72. - Initialize key controller and behavior zones\n- CSS applied to current item selected\n- Handling key presses\n\n[Transition to Closure UI Library]\n
  73. - Initialize key controller and behavior zones\n- CSS applied to current item selected\n- Handling key presses\n\n[Transition to Closure UI Library]\n
  74. - Initialize key controller and behavior zones\n- CSS applied to current item selected\n- Handling key presses\n\n[Transition to Closure UI Library]\n
  75. 1) HTML element nesting\n2) Horizontal / Vertical containers are the building blocks\n3) Containers can be set to scroll. Currently two modes: start vs middle\n4) Components, buttons, links, ... also specified with class names\n\n
  76. How to create horizontal / vertical containers\n- Navigate horizontal containers using LEFT/RIGHT arrow keys\n- Navigate vertical containers using UP/DOWN arrow keys\n
  77. Nest containers within containers to create additional rows.\n
  78. How to create horizontal / vertical containers\n- Navigate horizontal containers using LEFT/RIGHT arrow keys\n- Navigate vertical containers using UP/DOWN arrow keys\n
  79. 1) Highlight rows, parents, items\n2) Transition: Stylize using CSS3\n
  80. \n
  81. &lt;Show spotlight - this is the goal - to get your application integrated into the GTV user experience.&gt;\n\n\n
  82. &lt;Show spotlight - this is the goal - to get your application integrated into the GTV user experience.&gt;\n\nOur Code site, with Documentation, Templates and UI Libraries is linked here, as is our web apps for Google TV forum.\n\n