Page 1
CHALLENGESFORDEVELOPINGSMARTTV
APPSCreatedby /IoannisFoukarakis [email protected]
Page 2
SMARTTV-TVOR...?Let'sseesomeofthem
Page 7
FIRSTAPPSelectimagecategory
Page 8
FIRSTAPPSelectimagecategory
Displayimagesandnavigate
Page 10
PROBLEM#1Remotecontrol
Page 16
LET'SUSEARROWKEYS,ENTERANDBACK.
document.onkeydown = function(e) { e = e || window.event;
if (e.keyCode == 38) { // up arrow }
// More magic
}
Page 17
PROBLEM#2KeyCodes
Page 18
KEYCODESExample:Up
Platform Value
Page 19
KEYCODESExample:Up
Platform Value
LGWebOS 38
Page 20
KEYCODESExample:Up
Platform Value
LGWebOS 38
AndroidTV 38
Page 21
KEYCODESExample:Up
Platform Value
LGWebOS 38
AndroidTV 38
FireTV 38
Page 22
KEYCODESExample:Up
Platform Value
LGWebOS 38
AndroidTV 38
FireTV 38
SamsungTizen 38
Page 23
KEYCODESExample:Up
Platform Value
LGWebOS 38
AndroidTV 38
FireTV 38
SamsungTizen 38
SamsungSmartTV 29460
Page 24
KEYCODESExample:Back
Platform Value
Page 25
KEYCODESExample:Back
Platform Value
LGWebOS 461
Page 26
KEYCODESExample:Back
Platform Value
LGWebOS 461
AndroidTV Noevent
Page 27
KEYCODESExample:Back
Platform Value
LGWebOS 461
AndroidTV Noevent
FireTV 27
Page 28
KEYCODESExample:Back
Platform Value
LGWebOS 461
AndroidTV Noevent
FireTV 27
SamsungTizen 10009
Page 29
KEYCODESExample:Back
Platform Value
LGWebOS 461
AndroidTV Noevent
FireTV 27
SamsungTizen 10009
SamsungSmartTV 88
Page 30
PROBLEM#3Applicationnotloading
Page 31
REASONSomesystemsrequireadditionalJSlibraries.E.g.
<script src="$MANAGER_WIDGET/Common/API/Widget.js"></script><script src="$MANAGER_WIDGET/Common/API/TVKeyValue.js"></script>
Page 33
WORKAROUNDDetectplatform
Page 34
WORKAROUNDDetectplatformInjectscriptsandwait
Page 35
WORKAROUNDDetectplatformInjectscriptsandwaitCallbackwhendone
Page 37
OTHERISSUESDifferentkeypressrates
Page 38
OTHERISSUESDifferentkeypressrates
Browserengine
Page 39
OTHERISSUESDifferentkeypressrates
Browserengine
Playingvideo
Page 40
OTHERISSUESDifferentkeypressrates
Browserengine
Playingvideo
Deviceinfo
Page 41
OTHERISSUESDifferentkeypressrates
Browserengine
Playingvideo
Deviceinfo
Localstorage
Page 42
OTHERISSUESDifferentkeypressrates
Browserengine
Playingvideo
Deviceinfo
Localstorage
IncompatibilitieswithpopularJSframeworks
Page 43
CLItools
JSSDK Dashboard
Page 45
THANKYOU!Questions?
Page 46
WE'REHIRING!JavascriptEngineers
[email protected]