402
Edge 396
526
Safari 8
Chrome 43
0
555
336
467
Internet Explorer 11
Firefox 38
resultaten van desktop-browsers op html5test.com
Slide 3
402
Edge 396
526
Safari 8
Chrome 43
0
555
336
467
Internet Explorer 11
Firefox 38
resultaten van desktop-browsers op html5test.com
Slide 4
402
Edge 396
526
Safari 8
Chrome 43
0
555
16
336
467
Internet Explorer 6
Internet Explorer 11
Firefox 38
resultaten van desktop-browsers op html5test.com
Slide 5
Slide 6
?vreemde browsers?
Slide 7
browsers en apparaten die niet aan de huidige verwachtingen voldoen
Slide 8
?vreemde browsers?
Slide 9
?vreemde browsers?
Slide 10
game consoles
Slide 11
portable game consoles
Slide 12
smart tv’s
Slide 13
e-readers
Slide 14
smartwatches
Slide 15
fotocamera’s
Slide 16
Andre Jay Meissner
auto’s
Slide 17
vergelijkbaar met mobiel vóór de komst van de iphone en android iedereen doet maar wat
Slide 18
Slide 19
Slide 20
smart tv’s en consoles
Slide 21
Slide 22
televisie-browsers zijn best goed de laatste generatie televisies gebruikt besturingssystemen die afkomstig zijn van mobiel
Slide 23
281
Google TV 443 414 238
Panasonic Firefox OS
LG Netcast
LG WebOS
0
555
301
414
Panasonic Viera
Samsung 2014
465
Samsung Tizen 449
Opera Devices resultaten van smart tv’s op html5test.com
Slide 24
53
328
Playstation 3
Playstation TV
98
328
Xbox 360
Playstation 4
286
Xbox One
0
555
66
265
Wii
Wii U
resultaten van console’s op html5test.com
Slide 25
Slide 26
Slide 27
Slide 28
Slide 29
1 bediening
Slide 30
het grootste probleem van televisie-browsers is de bediening
Slide 31
navigatie (zonder muis of touchscreen)
Slide 32
d-pad
Slide 33
navigeren met de d-pad
Slide 34
maar het kan erger: de cursor sturen met de pijltjestoetsen
Slide 35
alternatieven
Slide 36
analoge controllers
Slide 37
afstandbediening met trackpad
Slide 38
afstandbediening met airmouse
Slide 39
second screen
Slide 40
veel fabrikanten brengen ook apps uit voor de bediening van de smart tv, console of set-top box
Slide 41
Slide 42
Slide 43
Slide 44
tekstinvoer (zonder toetsenbord)
Slide 45
d-pads
Slide 46
tekst invoeren met de d-pad
Slide 47
alternatieven
Slide 48
afstandsbedieningen met toetsenbord
Slide 49
draadloze toetsenborden
Slide 50
en wederom apps
Slide 51
Slide 52
Slide 53
gesture control (als een gek in de lucht zwaaien)
Slide 54
navigeren met gesture control
Slide 55
kunnen we deze invoermethodes rechtstreeks gebruiken in javascript?
probleem:
meta viewport wordt niet ondersteund geen mogelijkheid de layout viewport gelijk te krijgen tussen verschillende browsers
Slide 92
probleem:
device pixel ratio wordt niet ondersteund dus geen goede ondersteuning voor het tonen van afbeeldingen die bij de resolutie van het scherm passen
Slide 93
800 pixels
nintendo wii
Slide 94
980 pixels
nintendo wii u
Slide 95
960 pixels
lg webos
Slide 96
1024 pixels
google tv
Slide 97
1041 of 1050 pixels
microsoft xbox 360
Slide 98
1200 of 1236 pixels
microsoft xbox one
Slide 99
1226 pixels
lg netcast
Slide 100
1824 pixels
sony playstation 3
Slide 101
1920 pixels
sony playstation 4
Slide 102
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
Slide 103
device pixels != device pixels (echt waar)
Slide 104
soms zijn device pixels geen fysieke device pixels, maar virtuele device pixels de browser werkt bijvoorbeeld op een lagere resolutie en wordt ge-upscaled naar de resolutie van het beeldscherm
Slide 105
3 afstand tot het scherm
Slide 106
“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
Slide 107
fluid design
zorg ervoor dat de grootte van de inhoud wordt geleid door de breedte van de viewport
Slide 108
1
gebruik percentages voor positionering .left { width: 60%; } .right { left: 60%; width: 40%; }
Slide 109
2
baseer de fontgrootte op de viewport document.body.style.fontSize = ((window.innerWidth / 1920) * 300) + ‘%’;
Slide 110
3
of misschien viewport units – met polyfill body { font-size: 3vw; } .left { width: 60vw; height: 100vh; } .right { width: 40vw; height: 100vh; }
Slide 111
4
gebruik een veilige marge om de inhoud heen body { padding: 5%; }
Slide 112
youtube tv website
Slide 113
herkennen van smart tv’s (css speciaal voor televisies)
Slide 114
1
×
css media types @media tv { body {
font-size: 300%; } }
Slide 115
1
css media types
alle televisie-browsers gebruiken css media type ‘screen’
3
useragent sniffing
niet alle televisies zijn herkenbaar Mozilla/5.0 (X11; Linux; ko-KR) AppleWebKit/534.26+ (KHTML, like Gecko) Version/5.0 Safari/534.26+
Slide 120
4
couch mode
de enige betrouwbare manier om een website voor televisie te optimaliseren is twee verschillende sites maken… of de bezoeker de mogelijkheid te geven om couch mode aan te zetten
Slide 121
4 wees voorzichtig met feature-detectie
Slide 122
alle features die praten met het besturingssysteem of de hardware zijn verdacht…
Slide 123
if (!!navigator.geolocation) { navigator.geolocation.getCurrentPosition( success, failure ); }
1
failure wordt aangeroepen met een “permission denied”-foutcode
2
helemaal geen callback naar success of failure
Slide 124
if (!!navigator.geolocation) { navigator.geolocation.getCurrentPosition( success, failure ); }
3
success wordt aangeroepen met longitude = 0 en latitude = 0
4
success wordt aangeroepen met de coördinaten van Mountain View, USA
Slide 125
Slide 126
e-readers
Slide 127
187
280
Kindle Touch
Kobo
157
Sony Reader
0
555
52
196
Kindle 3
Pocketbook
resultaten van e-readers op html5test.com
Slide 128
infrarood touchscherm
Slide 129
led’s
sensors
Slide 130
mouse events down/up
move
amazon kindle touch
ja
pocketbook basic touch
ja
kobo glow
ja
ja
sony reader
ja
ja
touch events
1 vinger
Slide 131
e-ink beeldschermen (traag, trager, traagst)
Slide 132
microscopische balletjes die geladen zijn
Slide 133
microscopische balletjes die geladen zijn +
–
–
+
Slide 134
microscopische balletjes die geladen zijn +
–
–
+
Slide 135
microscopische balletjes die geladen zijn
Slide 136
Slide 137
misschien zijn css animaties en transitions toch niet zo’n goed idee
Slide 138
twee contrastrijke kleuren kunnen exact hetzelfde lijken in zwart/wit
Slide 139
twee contrastrijke kleuren kunnen exact hetzelfde lijken in zwart/wit
Slide 140
herkennen van e-readers (css voor e-ink beeldschermen)
Slide 141
1
×
css monochrome mediaquery @media all and (monochrome) { … }
Slide 142
1
css monochrome mediaquery
alle geteste e-readers doen net alsof ze een kleurenscherm hebben
Slide 143
2
useragent sniffing
er is geen universele marker in de useragent-string, maar we kunnen wel individuele merken en modellen herkennen
Slide 144
Slide 145
portable consoles
Slide 146
66
Nintendo DSi
80
311
Nintendo 3DS
New Nintendo 3DS
0
555
309
Sony PlayStation Vita
resultaten van portable consoles op html5test.com
Slide 147
Slide 148
twee schermen (eigenlijk verrassend normaal)
Slide 149
een dubbele viewport (de onderste is de primaire visual viewport)
3d beeldscherm, maar alleen 2d wordt ondersteund in de browser
resistive touch scherm
Slide 150
een dubbele viewport (de onderste is de primaire visual viewport)
3d beeldscherm, maar alleen 2d wordt ondersteund in de browser
resistive touch scherm
Slide 151
een dubbele viewport (de onderste is de primaire visual viewport)
3d beeldscherm, maar alleen 2d wordt ondersteund in de browser
resistive touch scherm
Slide 152
een dubbele viewport (de onderste is de primaire visual viewport)
3d beeldscherm, maar alleen 2d wordt ondersteund in de browser
resistive touch scherm
Slide 153
Slide 154
Slide 155
?vreemde browsers! niels leenheer @html5test
Slide 156
meer weten? smart tv browsers @patrick_h_lauke
console browsers @anna_debenham