February 24, 2017
Make no mistake about it; Roku is changing TV. Literally. Word on the street is that Roku’s direct integration into TVs is gaining traction and for all of us that develop Roku channels, this is great news! On the flip side, the process of developing custom channels for the platform has changed drastically over the years, and for those of us in the trenches, we’d like to provide some information we hope will be useful for any publisher looking to launch a channel.
As of late 2015, Roku offered only one flavor of their SDK. The benefits of SDK#1 are that it allows developers to create channels with greater efficiency and speed, albeit with less flexibility around the user-interface — all the channels looked the same. SDK#1 uses pre-built objects that allow developers just to pass them information and render them on screen without the worry of positioning or formatting. Also, Roku and the development community benefit from a much simpler and streamlined certification process. Less control meant less that developers could introduce into the channels and break. Ideal for Roku; sorry for big brands. Once Roku started attracting the big networks they had a major problem to solve: the publishers loved the platform, but insisted on a unique and next-generation TV experience. Enter the 2D API.
Around 2012 or so Roku started encouraging developers to create simple, 2D casual games for the platform with their 2D API. The 2D API exposed more of Roku’s software and opened up a whole new world of possibilities. We quickly discovered that we could not only create simple games but new screens that we could use for the bigger brands wanting a more custom experience. With more power comes more responsibility — developing Roku Channels using the 2D API was HARD and incredibly complicated — lots and lots of code to do very simple movements and animations. During this period we delivered a handful of channels to large brands and started creating one-of-a-kind experiences on the platform. Roku understood that the 2D API was unmanageable at scale, and so the 2D API, along with the SDK#1 was marked for deprecation. Enter SDK#2.
Roku’s second and most current version of the SDK was announced in late 2015, and for teams that had been developing channels with the 2D API, it was the single greatest announcement since the company started. I had engineers giddy with excitement when we began to experiment with the new tools and features. It was the best of SDK#1 and the 2D API. It allowed for complete customization without having to write everything out by hand. It leverages a technology called “Scenegraph” (SG), which relies on XML files to layout screen components and eliminates the need for bloated code to perform simple tasks and functions. Right? Well yes and no. Since the Scenegraph’s release, Roku has gotten much stricter with certification requirements, which includes performance limits on legacy devices. What this means to brands is that unless it runs well on the low-end (circa 2011) devices, it’s not going to pass certification.
I do want to mention that back in October 2016, Roku announced “Roku Direct Publisher.” If a brand has no interest in any customizations outside of colors and logos, this is a great alternative to having a channel built. It’s quick, easy, and only requires a simple feed of the content library to setup. I have no experience with RDP, as all of the brands that we work with need customizations that prevent RDP from becoming a viable solution, but it’s still perfect for brands looking to launch quickly.
— Robert Redford, The Recruit.
For those brands, please take my advice: HIRE A COMPANY; DO NOT ATTEMPT THIS ON YOUR OWN.
Think I’m just trying to sell you? Think again. Yes, Float Left, in my opinion, is the best company on the planet to do this for you, but if it’s us vs. one of our competitors — we’ll give a list of vendors that we think will do you right. We care enough about the industry, and we believe that your success is a success for all of us, even if we had nothing to do with it. Roku can be tough to navigate unless you know where the landmines are!
Ok, so you have a channel developed, and now it’s time for Roku certification. If you are a well-known, tier 1 brand, partner managers will be assigned from the onset to help throughout the entire process. I highly recommend that you involve Roku as early as possible in the process to avoid any snafu’s when it comes time for certification. In our experience over the last two years, this has become the most challenging part of the process. The sheer number of devices makes the process long and incredibly tedious. Roku expects the channel to perform as well on a device from 2011 as it does on their latest models. Roku devices retain their shelf life. Most folks buy it, place it in the entertainment center, and that’s it. It’s not like other tribes within the consumer electronics world. Take Apple for example. Apple expects developers to launch apps on the newest hardware. Apple customers, due to cellular agreements often get a new device once every 1–2 years. It’s not the same with Roku and publishers, and developers need to keep this in mind.
The biggest contributing factor to longer development cycles is our internal pre-submission QA testing.
Let’s examine why:
Roku supported devices = 15 X 2–3 firmware versions = 30–45 devices x 100 individual test cases=300–450 tests per channel!
Our current time required to test and approve channels for Roku certification has ballooned to just over 100 hours of regression testing. It is difficult for us to absorb the cost and unfortunately, it’s being pushed back to our clients. Since Roku’s made it clear that they want us to support all of these different devices, there’s only one way we can solve this problem — automation.
Yes, we believe we’ve cracked the code for a practical automation solution we can use for Roku. We’ve looked at solving this problem pragmatically. Each channel regardless of function has a handful of basic user features that need to pass a QA test, i.e. The user can navigate to a particular item of content and select it; the user can select content and watch uninterrupted for greater than x minutes; so on and so forth. We isolated these everyday tasks (essentially this is the Roku checklist), and have created software to run through each test, and pass or fail the result. If the test fails, our software generates a detailed report along with a screenshot of the exact moment of the failure. Brilliant. More on this in a later article.
Roku has a process by which they take your channel and run it through an exhaustive series of quality assurance tests. The testing is on all supported devices, and if an issue is exposed, Roku will prevent the channel from launching and ask the developers to fix it — pretty standard stuff here. Roku bug reports fall into one of three buckets: P1 (critical problems and will block publication), P2, (significant, but not enough to prevent release), and P3 (not critical and not a blocker). Channels that get flagged as having a P1 will need to be fixed and resubmitted. Quite often, during a certification cycle, bugs are sometimes overlooked. Regardless, if any P1s are uncovered at any point in the process, they will need to be corrected before resubmission. The challenge for developers and publishers is that the certification process can be a black box of uncertainty and anxiety.
Roku also has much more to say than other platforms regarding “business logic” or the overall flow of the channel from the user’s perspective. In other words, you know your audience. In fact, you have a brand that is well-known, and you have a very specific way you’d like your channel to function. Well, if Roku feels that the Roku audience will be confused by the channel’s user-experience, you will get rejected. Here’s why this can be devastating. In many cases, these issues arise after weeks of internal discussions and even more time spent building specific functionality into the channel. Having to make significant changes to the channel during certification is a nightmare scenario. I often compare it to heart surgery. Channels are often so delicate that having an engineer dive into the code and make modifications to the channel structure could be hundreds of hours of additional development and testing. It is an example why having Roku Partner Management involved as early as possible will help make the process smoother.
A quick thought on this — Roku has guidelines on channel performance across ALL DEVICE MODELS. The channel may be visually stunning, but extended periods of latency on any device model will fail certification. Channels need to provide a quality user experience while still achieving high levels of performance across all device models, both new and old. Unless you’re working with a team that understands how to build the channels in a way that meets both of these requirements, you might reconsider moving forward on your own. Here’s another example of why it’s so critical that having an experienced team working with you can save you time and lots of money.
Over the last several years, Roku has been slowly tightening the requirements on new channels, and that’s a good thing. The challenge for development companies is staying abreast of the subtle changes and ensuring that all certification requirements are being accounted for when submitting new channels, or channel updates.
When hiring a company to help develop your Roku Channel, be prepared to speak on your company’s behalf when Roku asks questions how or why the channel is functioning in a specific way. At Float Left, we’ve caught ourselves getting into the cross-fire, and we attempted to resolve it through diplomacy, but without having an in-depth understanding of our client’s business model, it’s a waste of time and not good for anyone. Of course, we guide and advise, but we’ve given up on defending our client’s design decisions with Roku. We’re not in a position where we can do that, at least not anymore. We will provide guidance along the way and ensure open lines of communication between all parties — this is critical for success.
Roku development is much more than just understanding how to write code and implement the technology. It’s helping publishers manage the process with Roku and do so on time and budget. Roku is arguably the most important platform for publishers to target when considering launching a direct-to-consumer service. Take my advice and do it the right way — use a company that has Roku particular experience and has a history developing custom channels.