Weird Browsers @ grunnjs

Weird Browsers @ grunnjs

Now that everybody builds responsive sites and mobile has become the new normal, are there still any weird browsers left? The latest generation of Smart TV's run on the same operating systems as our mobile devices. How weird can these browsers be? Perhaps Smart TV's aren't as smart as we all would like to think. But there are more weird browsers. How do game console handle your websites and are e-readers really capable of browsing the web?

De023a9aff4c7a5ede3a81e8c76f17b5?s=128

Niels Leenheer

September 09, 2015
Tweet

Transcript

  1. 2.

    402 
 Edge 396 
 Safari 8 521 
 Chrome

    45 467 
 Firefox 40 555 0 336 
 Internet Explorer 11 desktop browsers results on html5test.com
  2. 3.

    402 
 Edge 396 
 Safari 8 467 
 Firefox

    40 555 0 336 
 Internet Explorer 11 desktop browsers results on html5test.com 521 
 Chrome 45
  3. 4.

    402 
 Edge 396 
 Safari 8 521 
 Chrome

    45 467 
 Firefox 40 555 0 336 
 Internet Explorer 11 desktop browsers results on html5test.com 16 
 Internet Explorer 6
  4. 11.
  5. 12.
  6. 17.
  7. 18.
  8. 21.
  9. 22.

    television browsers are pretty good the last generation of television

    sets use operating systems that originate from mobile
  10. 23.

    418 
 LG WebOS 281 
 Google TV 238 


    LG Netcast 465 
 Samsung Tizen 449 
 Opera Devices 301 
 Panasonic
 Viera smart tv results on html5test.com 555 0 414 
 Panasonic
 Firefox OS 407 
 Samsung
 2014
  11. 24.

    328 
 Playstation 4 53 
 Playstation 3 309 


    Playstation TV 98 
 Xbox 360 286 
 Xbox One 311 
 Wii U 66 
 Wii 555 0 console results on html5test.com
  12. 25.
  13. 26.
  14. 29.
  15. 38.
  16. 39.
  17. 40.
  18. 42.
  19. 47.
  20. 48.
  21. 49.
  22. 50.

    gesture control (throw your hands up in the air,
 and

    wave ’em like you just don’t care)
  23. 56.

    the gamepad api var gamepads = navigator.getGamepads();
 for (var i

    = 0; i < gamepads.length; i++) {
 ...
 } 1
  24. 71.

    and the content is now fully visible, the unused border

    is cropped out of the final image
  25. 72.

    but not every television set enlarges the 
 image by

    exactly 5%, this can vary between manufacturers and models
  26. 77.

    it is possible to disable overscan 
 on many television

    sets ‘screen fit’, ‘pixel perfect’ or ‘just scan’
  27. 80.

    the visual viewport determines which part of the website will

    be visible measured in 
 device pixels the visual viewport
  28. 81.

    the visual viewport determines which part of the website will

    be visible measured in 
 device pixels the visual viewport
  29. 82.

    the visual viewport the visual viewport determines which part of

    the website will be visible measured in 
 device pixels
  30. 83.

    the layout viewport the layout viewport determines the width in

    css pixels on which the site will be rendered
  31. 84.

    the layout viewport the layout viewport determines the width in

    css pixels on which the site will be rendered
  32. 85.

    the layout viewport the layout viewport determines the width in

    css pixels on which the site will be rendered
  33. 86.

    the default layout viewport is different on 
 every smart

    tv, console or set-top box between 800 and 1920 css pixels
  34. 87.

    it is possible to change the width of the 


    layout viewport with the ‘meta viewport’ tag <meta name="viewport" content=“width=device-width"> <meta name="viewport" content="width=1024"> physical device pixels device scale factor
  35. 88.

    complication:
 meta viewport is not supported it is not possible

    to get the same layout viewport 
 width in all of the different browsers
  36. 89.

    complication:
 device pixel ratio is not supported there is no

    proper way to show images with the same resolution as the physical screen
  37. 99.

    Nintendo Wii 800 LG WebOS 960 Nintendo Wii U 980

    Philips 2014 series 980 Google TV 1024 Playstation TV 1024 Samsung Tizen 1024 Xbox 360 1051 Xbox One 1200 LG Netcast 1226 Panasonic Viera 1256 Opera Devices 1280 Samsung 2014 series 1280 Panasonic Firefox OS 1536 Playstation 3 1824 Playstation 4 1920
  38. 101.

    sometimes devices pixels are not 
 physical devices pixels, but

    virtual device pixels the browser renders in a lower resolution 
 which is upscaled to the resolution of the display
  39. 103.

    “Make fonts and graphics on the site larger to account

    for viewing distance. People sit proportionally farther from a TV than from a computer monitor of the same size.” 
 – Internet Explorer for Xbox One Developer Guide https://msdn.microsoft.com/en-us/library/dn532261(v=vs.85).aspx
  40. 107.

    or maybe use viewport units – with polyfill body {

    font-size: 3vw; }
 .left { width: 60vw; height: 100vh; }
 .right { width: 40vw; height: 100vh; } 3
  41. 113.

    screen size if (screen.width == 1920 && screen.height == 1080)

    {
 document.body.className += " television";
 } 2 ×
  42. 114.

    screen size monitors and phones often use 
 hd resolutions,

    television browsers often use other resolutions 2
  43. 116.

    useragent sniffing not all smart tv’s are recognisable Mozilla/5.0 (X11;

    Linux; ko-KR) 
 AppleWebKit/534.26+ (KHTML, like Gecko) 
 Version/5.0 Safari/534.26+ 3
  44. 117.

    couch mode the only reliable way to optimise a website

    
 for television is to make two different websites… or give the user the ability to switch on 
 couch mode 4
  45. 119.

    “Basically every feature that talks to the 
 operating system

    or hardware, is suspect.” 
 – Me http://blog.html5test.com/2015/08/the-problems-with-feature-detection/
  46. 121.

    if (!!navigator.geolocation) { navigator.geolocation.getCurrentPosition(
 success, failure
 ); } 1 failure

    is called with a “permission denied” error code 2 no callback at all to success or failure
  47. 122.

    if (!!navigator.geolocation) { navigator.geolocation.getCurrentPosition(
 success, failure
 ); } 3 success

    is called with longitude = 0 and latitude = 0 4 success is called with the coordinates of 
 Mountain View, USA
  48. 123.
  49. 124.
  50. 125.

    e-reader results on html5test.com 555 0 196 
 Pocketbook 280

    
 Kobo 157 
 Sony Reader 52 
 Kindle 3 187 
 Kindle Touch
  51. 128.

    mouse events down/up move touch events amazon kindle touch yes

    pocketbook basic touch yes kobo glow yes yes sony reader yes yes 1 finger
  52. 134.
  53. 141.

    useragent sniffing there is no universal marker in the useragent

    string, but we can recognise individual manufacturers and models 2
  54. 142.
  55. 144.

    66 
 Nintendo DSi 309 
 Sony PlayStation Vita 311

    
 New Nintendo 3DS portable console results html5test.com 555 0 80 
 Nintendo 3DS
  56. 145.
  57. 147.

    a dual visual viewport
 (the bottom one is the primary

    visual viewport) 3d screen, but only 2d is supported in the browser resistive 
 touch screen
  58. 148.

    a dual visual viewport
 (the bottom one is the primary

    visual viewport) 3d screen, but only 2d is supported in the browser resistive 
 touch screen
  59. 149.

    a dual visual viewport
 (the bottom one is the primary

    visual viewport) 3d screen, but only 2d is supported in the browser resistive 
 touch screen
  60. 150.

    a dual visual viewport
 (the bottom one is the primary

    visual viewport) 3d screen, but only 2d is supported in the browser resistive 
 touch screen
  61. 151.
  62. 153.

    “We cannot predict future behavior 
 from a current experience

    that sucks” 
 – Jason Grigsby http://blog.cloudfour.com/on-the-device-context-continuum/