I just submitted my first public SceneGraph channel this week, I hope it will be available soon. As all my previous experience was working with "pure" BrightScript SDK 1 and the 2D API (for games). After the announcement of the scheduled obsolescence of SDK 1 by Roku, I decided to put my hands on SDK 2.
First I developed a prototype channel for a potential customer (can't disclose now, sorry) fully based on HeroGrid sample
, just to learn the basics of SceneGraph, then I decided to implement a project that I initially planned to make using the roScreen and 2D API. The channel is a client for Trello.com
, a well known Kanban tool for project management (or any use you can imagine for a Kanban board). As it is an app, not a regular streaming channel, I had several challenges to represent data on screen, so I decided to share those with the community.
Below a video I created to demo the features of the channel,
- Before even start the channel I knew I would have to create a solution for authentication (Trello uses OAuth), so I developed a simple NodeJS server app to make this work. I published a simplified version of it as open source at: https://github.com/lvcabral/SGDatePicker
- Besides being a digital version of a kanban board on TV, another of the cool things to have it in Roku is the possibility to play media attached to the cards, so I just parsed the urls and checked the extension for media types (I already can foresee the emails complaining that a specific mkv they attached will not play).
- For the audio, I created a very simple player, that support only pause and back. BTW Roku Team, would be great to have the video player supporting mp3 and show a custom image we can provide, with all controls predefined as it does for video playback. Just rename it to MediaPlayer 😉
- For the attached links that are not a supported media, I had the idea to show a QR Code so user can still check the attachment with a mobile device. For YouTube I also can get the poster from Google API and show it along with the QR Code.
- Finally for the Options screen I used a LabelList to make the menu, having mixed option buttons and checkboxes, the only thing I would love to have implemented is make the section dividers visible when vertFocusAnimationStyle is configured to "floatingFocus", the navigation on the menu would be a much better experience.
it says the channel is available but as of today it is not yet (I will edit this later). After watching it, if you have questions about how I implemented something there, just ask here I would be happy to answer.[youtube:8k4m0rk3]-ZgvlpjLcyA[/youtube:8k4m0rk3]