I’m writing on behalf of an online video distribution platform. We are very much interested in developing/designing our own channel and excited at the prospect of extending our content onto the Roku platform. We give content creators the ability to immerse the audience into their world through a customized visuals, extras/bonus content, images, news updates, and related merchandise offerings. We believe that the video content watching and discovery experience should come with a sense of delight, and we believe Roku has that potential for us.
We’ve had a chance to explore Roku’s UX and proceeded to get lost in the ocean of content. We also went through the design guideline you’ve posted online. We noticed that some apps like Netflix, Youtube, etc. don’t seem to quite follow those guidelines and offer a unique experience in terms of UI interaction.
Since we believe in offering a rich TV experience we’re wondering how we might create something similar. What constraints are there when designing a channel? Are there limitations to what we can build? Is there an opportunity to create a Netflix like experience on Roku? If yes, how do we go about starting that process?
The only limitation is the amount of work you are willing to put into it.
Netflix and Youtube are rumored to have used a new HTML 5 SDK that hasn’t been released to everyone quite yet, but there isn’t anything in the UI of those channels that isn’t already possible with the current toolset. Most people just don’t prefer to put that amount of effort into it, since you’d be doing quite a lot more work than using the provided “template”
Course, that’s just my understanding, could be wrong.
Thanks BradC. So you’re saying that the visual transitions, layout, page navigation is all possible with the provided “template”?
Is there anyone that could confirm the rumor about the use of the new HTML 5 SDK? We’d like to get more information on this if possible. Not sure how often the Roku staff on these forums actually reply.
Netflix and Hulu and Youtube do not use HTML5, at least not as HTML5 is defined by Wikipedia, although some commonly related technologies may have been used in those channels.
We don’t have, and don’t plan to release an HTML5 SDK in the foreseeable future.
Custom UIs can be developed using the roScreen, roBitmap, roRegion, and ifDraw2D components and functions, and there isn’t really any reason why you could not deliver the same experience that Netflix, Hulu and Youtube deliver, using Brightscript, and provide a user experience that would outperforms all three of those channels, on all our hardware platforms.
Good to know that developing a custom experience for Roku is so open. This sounds very promising.
I’m reading through the FAQ, and see that the approval/review process for a channel is as streamlined as possible, and to make sure it’s as high quality and functioning properly. What are some things you look for when reviewing a channel? Is it a more overall look to make sure that it works and the user interface/experience makes sense? Or, are you checking off a list of UI requirements? This is so we know what to keep in mind while designing the experience.
“storydriven” wrote:
Is it a more overall look to make sure that it works and the user interface/experience makes sense?
Yes, in the initial review, that is what we do, the channel review process we look for things like:
Typos, grammar and graphical errors
Unnecessary things that make life difficult for users
Obvious program crashes
Things that say “Resume” when nothing has yet been watched, or content viewing is complete
Star ratings that aren’t really reflecting a rating system on server
If the channel passes initial review, we then send to QA, who will go down a list and check off UI requirements, not all of which may be vital or relevant to your particular channel, so after QA we usually take a look at the channel again in light of QA feedback and determine if there is any real reason to hold publication.
Our platform allows users to sell merchandise for their film. The items for sale could be digital or physical. Is it possible to create a store for such items within a channel and have users make a purchase through the Roku? It would be great if they are able to not only purchase but also fill out details like shipping address. But we could also just send them an email after the purchase and have them complete their ‘order’ later on a browser.
Hi! I hope this is the right place for me to post this question.
I’m new to BrightScript and am trying to figure out how to work with their associative arrays. My questions is, can an associative array in BrightScript hold another array as a value?
I’m trying to parse an associative array that looks like this:
showList = {Romance:
[
{
Title: “The Notebook”,
releaseDate: “2000”
}
],
Comedy:
[
{
Title: “Caddyshack”,
releaseDate: “1976”
}
]
}
If I use a statement like this:
return showlist[“Comedy”]
Will this only return an array containing my Comedy video meta-data?
It seems like this should work, but I’ve been having trouble implementing this. Any suggestions?
“ZackD” wrote:
Hi! I hope this is the right place for me to post this question.
I’m new to BrightScript and am trying to figure out how to work with their associative arrays. My questions is, can an associative array in BrightScript hold another array as a value?
I’m trying to parse an associative array that looks like this:
return showlist[“Comedy”]
Will this only return an array containing my Comedy video meta-data?
It seems like this should work, but I’ve been having trouble implementing this. Any suggestions?
Thanks!
This is probably more appropriate in its own thread, instead of hijacking this one, but…
It’s not entirely clear what you’re asking. Given your example above, showList[“Comedy”] would return the array under “Comedy” (i.e. Caddyshack). If that’s what you’re expecting, but not what you’re getting, then we’ll need more details on what it is, exactly that you’re seeing. If that’s not what you’re expecting, then we’ll need more details on what you’re trying to get.
“greubel” wrote:
Try
return showlist.Lookup(“Comedy”)
showlist.Lookup(“Comedy”), showlist[“Comedy”], and showlist.Comedy are all virtually identical, so the returned value should be the same in all cases.