At we have been developing Roku channels for the last 3 years. We entered the world of TV apps (OTT) while working with one of our Media & Entertainment clients on a massive project to bring their content to as many devices possible. Initially, we developed their iOS and Android apps for smartphones and tablets, soon after that we started developing their apps for the OTT devices: AppleTV, FireTV, AndroidTV, Samsung SmartTV, and of course… Roku!
Video streaming platforms are now part of the daily video consumption patterns of millions of people in the US and globally. Content providers and networks are aware of this and are racing to bring their offering to OTT.
Amongst the OTT platforms available today, Roku is one of the top players, quickly gaining market share and making its way into households through a wide range of products, from low price sticks to high-end set-top boxes.
Today we want to share our recommendations for bringing your content to this platform.
The first decision is to choose between using Roku’s Channel Template or creating a Custom Channel. For most brands, the Custom Channel is the way to go since you will have more control of the user experience, design, and other elements of your channel.
Roku is a mature OTT Application Platform. Roku Channels are Apps, developed on Roku’s XML framework called Scenegraph. Roku also launched a native library called Component Controller, which introduces clear standards to maintain the performance of the channels in their platform, regardless of the hardware it runs on.
All Roku channels should run smoothly on low and high-end devices. This makes the development cycle a challenging and iterative process that includes not only software development but also on-device testing, careful memory management, and adaptable UX/UI patterns to adjust to the particular limitations (or extra features) of the hardware your channel will run on.
Roku’s Developer portal (https://developer.roku.com) clearly states the certification criteria and must-haves channels should comply with to be certified and published for general availability on the platform. Aside from these specifications, we want to add some tips that will eventually save you a significant amount of time, money, and frustrations:
When setting up your channel, an essential requirement is to specify and choose a monetization model. Don’t leave this decision until the end, since it will have implications in the development tasks and features that your application should have.
The two most common monetization options are:
AVOD: Advertising — or Ad-based — Video On Demand
For this model, you need to implement the Roku Advertising Framework (RAF). By using RAF, you will be able to measure the traffic and behavior of users while ads are playing. The RAF certification is relatively simple, it is separate from the standard certification process, so make sure you plan enough time for both processes to take place before your launch date.
SVOD: Subscription Video on Demand
For this model, you will need Roku Pay. According to its website, “Roku Pay is the fast, and simple way to pay on your Roku streaming device.” Your viewer adds the payment information to their Roku account and then buyers can easily purchase subscriptions, buy movies or TV shows, and purchase Roku device upgrades, offers, and accessories. You will not have to worry about developing the payment processing flow or the security considerations around credit card transactions, Roku Pay takes care of all of that for you.
Aside from users installing your channel, Roku offers other discoverability tools such as Search and the Roku Channel. For your content to be visible on these other discoverability tools, you need to pay close attention and implement deep links. This will allow your channel to be listed as one of the ways of watching content that users search for or find through browsing on the Roku Channel.
Another integration that gives your channel better placement on the Roku platform is the Roku Event Dispatcher (RED). This integration will allow you to fire events when the app launches and track metrics such as the number of installs, specific errors per device, and how many times an error occurs. It also allows you to prioritize your app’s content positioning on the search results by letting Roku know whether a user is authenticated into your channel. If a user is already authenticated into your channel and your channel is listed as an option for viewing on the search results, your channel will be listed on top of those where the user is not authenticated yet.
Roku has some of the most popular OTT devices, mainly because of its low-priced options and built-in Roku TVs (OEMs). This is great for market penetration, and for you as a content provider, it offers a window to millions of viewers. However, the tradeoff is that you need to pay close attention to how your application performs on those low-end devices, which usually have very limited memory and processing power. We learned this the hard way. On our very first app, we started developing and testing on high-end devices only, but when our QA team started performing thorough testing on the full range of devices they discovered that it didn’t work correctly on the low-end of the spectrum, creating a backlog of bug fixes and performance improvement tasks that needed to be added to our development queue and adjust the overall project roadmap.
So it’s much better if, from day one, you develop and test directly on both the low and the high end of the device spectrum. You can code specific rules to apply for low-end devices, making alternative user interaction and design patterns for devices with less processing power that can’t run smooth animations or transitions, for example.
The Roku team is extremely accessible, and you should take advantage of this. You will probably have an assigned Roku Partner Success contact to handle all of the communication between your team and Roku’s engineering, certification, and business teams. Additionally, you can find different communication channels with the community on the Roku Developer portal https://developer.roku.com
If you get involved in the community, and your channel starts to perform well, you might get invited to one of the Developer Summit events that Roku organizes.
We had the opportunity to attend one of these events. Here at our Roku Development Team was amazed by the number and quality of insights the Roku engineers shared on their talks and workshops. They talked about integrations with Google devices and other relevant and deeply technical and detailed topics.
We highly recommend you to enlist and participate in the community, there you will be able to meet and interact with people with whom you’ve spoken through slack or email in their official capacity, but through the community, the interaction will be more personal and casual.
In summary, we at have found that Roku’s team is truly focused on bringing a top-quality experience to the users, and understand the importance of the developer community in realizing that mission. They genuinely care about their developer community and their channel partner business relationships. Good Luck! and if you need help scoping, planning or developing your Roku channel let us know and get in touch at HelloIconic.com
If you want to go deeper into the Roku development framework, there is a great post on the Roku developer blog featuring the work we did for one of our clients using the latest SGDEX 2.0 tools: https://go.roku.com/iconic-sgdex
See some examples of the types of projects and ongoing clients we work with.