Skip to content

Instantly share code, notes, and snippets.

@tenorok
Last active April 15, 2018 16:04
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save tenorok/1316dea2d023100034065aad52a89092 to your computer and use it in GitHub Desktop.
Save tenorok/1316dea2d023100034065aad52a89092 to your computer and use it in GitHub Desktop.
Yandex.Video for TV

I started this project alone and later one of my colleague joined me. Together we created frontend of application for Samsung TV store and version for a TV browser.

Application installed from store represents from themselves a thin client with iframe to Yandex.Video. In the browser version user can pick one of two modes: regular (pressing an arrow keys leads to moving a mouse cursor) and application (arrow keys works as in the application) – it was a big challenge.

TVs hardware is actually very weak therefore it was so important point to make a rapid and responsive interface. I had a new ambitious goal: create fast interface which should be controled by arrow buttons. I've never do such task before. It was interesting to invent focus controller which works self-based on marked tags. There are two entities types: elements and areas. Areas serves for join elements to the group. The controller finds nearest element which included in angle for given direction. Also the module provides set of options for customizing focus behaviour.

At the time of publication in store the application has a three screens: main with posters, keyboard with convenient suggest and the video player screen. Switching screens occurs instantly. Interesting specificity of Yandex.Video is that it's only searching service and it using external video players from another hostings. It's one more challenge for making universal stable controls for managing playback.

main screen
Main screen



keyboard screen
Keyboard screen



keyboard screen
Player screen



Now the support and development of the application lies on the shoulders whole service team.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment