CHALLENGESFORDEVELOPINGSMARTTV
APPSCreatedby /IoannisFoukarakis [email protected]
SMARTTV-TVOR...?Let'sseesomeofthem
FIRSTAPPSelectimagecategory
FIRSTAPPSelectimagecategory
Displayimagesandnavigate
PROBLEM#1Remotecontrol
LET'SUSEARROWKEYS,ENTERANDBACK.
document.onkeydown = function(e) { e = e || window.event;
if (e.keyCode == 38) { // up arrow }
// More magic
}
PROBLEM#2KeyCodes
KEYCODESExample:Up
Platform Value
KEYCODESExample:Up
Platform Value
LGWebOS 38
KEYCODESExample:Up
Platform Value
LGWebOS 38
AndroidTV 38
KEYCODESExample:Up
Platform Value
LGWebOS 38
AndroidTV 38
FireTV 38
KEYCODESExample:Up
Platform Value
LGWebOS 38
AndroidTV 38
FireTV 38
SamsungTizen 38
KEYCODESExample:Up
Platform Value
LGWebOS 38
AndroidTV 38
FireTV 38
SamsungTizen 38
SamsungSmartTV 29460
KEYCODESExample:Back
Platform Value
KEYCODESExample:Back
Platform Value
LGWebOS 461
KEYCODESExample:Back
Platform Value
LGWebOS 461
AndroidTV Noevent
KEYCODESExample:Back
Platform Value
LGWebOS 461
AndroidTV Noevent
FireTV 27
KEYCODESExample:Back
Platform Value
LGWebOS 461
AndroidTV Noevent
FireTV 27
SamsungTizen 10009
KEYCODESExample:Back
Platform Value
LGWebOS 461
AndroidTV Noevent
FireTV 27
SamsungTizen 10009
SamsungSmartTV 88
PROBLEM#3Applicationnotloading
REASONSomesystemsrequireadditionalJSlibraries.E.g.
<script src="$MANAGER_WIDGET/Common/API/Widget.js"></script><script src="$MANAGER_WIDGET/Common/API/TVKeyValue.js"></script>
WORKAROUNDDetectplatform
WORKAROUNDDetectplatformInjectscriptsandwait
WORKAROUNDDetectplatformInjectscriptsandwaitCallbackwhendone
OTHERISSUESDifferentkeypressrates
OTHERISSUESDifferentkeypressrates
Browserengine
OTHERISSUESDifferentkeypressrates
Browserengine
Playingvideo
OTHERISSUESDifferentkeypressrates
Browserengine
Playingvideo
Deviceinfo
OTHERISSUESDifferentkeypressrates
Browserengine
Playingvideo
Deviceinfo
Localstorage
OTHERISSUESDifferentkeypressrates
Browserengine
Playingvideo
Deviceinfo
Localstorage
IncompatibilitieswithpopularJSframeworks
CLItools
JSSDK Dashboard
THANKYOU!Questions?
WE'REHIRING!JavascriptEngineers
[email protected]