Roku Themes

Working on a 0-1 product presents opportunities in surprising ways. I was fortunate to have the trust and flexibility in my role to invent the Roku theming capability which now powers a multi-million dollar suite of advertising products.

Themes generate $MILLIONS in revenue annually for Roku

Check out Roku Adverting Product Page

INTRO

I played a key role in architecting Roku Themes -  an XML interface originally created to test graphics and layouts on Roku devices. By the time we shipped, themes became a core part of the product, acting as the repository for all graphics, typography, color and layout information. 

Fast forward to today, Roku theming capability powers a multi-million dollar business that delights millions of Roku users.

MY ROLE

Design Architect / Inventor / Product Owner
I consider themes my top contribution to Roku. I played a hands on role architecting how the UI could be customized, as well as was code-owner of the theme.xml that lived in firmware. I maintained and managed the theme capability during my entire tenure at Roku.

I designed and developed many of the themes during that time, including engagements with TV hardware and service providers.

Overview

The Roku theme serves several purposes and is core piece of technology for Roku OS, TVs, and devices. 
Themes allow the user to customize the appearance of the UI through a device setting.
The Theme.xml is where all graphics, layout, typography, and color information is stored.
Themes allow Roku to easily customize the UI for hardware partnerships.
Themes can be pushed to devices for a timed launch UI takeover with Ads.

Situation

Roku was a small company when I  joined. Design, product, and engineering teams worked closely, made decisions quickly, and were able to do a full re-design of Roku hardware/software in under a year.

As we developed the Roku OS, I would validate UI quality on device with a variety of TVs. This was important as what showed up on device looked very different than what appeared on my laptop. Each time I wanted to update the UI design (graphic, layout, font size, color, etc.) I would deliver the change to an engineer and wait until the software build completed (overnight) and review the next day. It was slow and cumbersome process.
Recognizing the issue, I worked with our engineering architect to speed up development. We leveraged a technique called side-loading, that allowed a developer to quickly load their application onto a Roku device for testing. Side-loading would allow you to override properties that already lived in firmware (which is what required to overnight update process).

Since we were early in overhauling the platform, the engineer restructured the codebase so that all UI information (graphics, color, layout, fonts, etc) would come from a central location. We then developed an XML structure to organize and store these UI properties. As long as the original property was stored in this firmware XML, I could side-load a modified XML file to overwrite the default. With this accelerated workflow I was able to design the UI on device, without engineering dependency.

Action

In addition to figuring out how to manage UI on device, I was responsible for designing the default look and feel of the product. Roku loves purple, and our CEO was expecting that would be reflected in the UI. I was pushing for a more modern black/white/chrome look. The marketing team at the time was running a campaign that incorporated brown/earth tones, and hoping to see that represented in the product.
 

I comped up these 3 directions, and presented them in an executive review on device, using my side-loading theme technique. All three directions were well received. Our CEO preferred the purple theme that we ultimately set as the default. It was suggested that we ship all 3 and create a device setting that allowed the user to customize the appearance of their UI. Since side-loading was just a shortcut to install a channel, we were easily able to turn our XML overwriting tool into a user setting on device. Themes were born and appeared on the first revised version of Roku OS.

Results

As the product owner, I continued to develop a suite of products around this capability of customizing the UI through themes. Though actual numbers are not shared publicly, there is now a dedicated team at Roku devoted to supporting theme takeovers, resulting in millions of dollars in revenue annually. My ambition of creating a tool to speed up UI development officially turned into a significant revenue generator for the company.

Here are a few early examples that allowed the themes product take shape:
Shortly after launch, the Lego movie was coming to Roku. We thought it would be fun to update the UI so that looked like it was built with Legos to correspond to the event. Though it was not an official sponsorship, it showcased the advertising potential of combining our home screen ad placement with a themed background.
After seeing the Lego placement, HBO approached our advertising team about a takeover of the UI to correspond with the next season of Game Of Thrones. Inquiries continued from top tier companies such as Netflix, Disney and Hulu, ultimately turning into a 7 figure advertising opportunity as the Roku user base grew.
Roku partners with TV manufacturers for RokuTV, the #1 smart TV platform in the US. A key differentiator for the RokuTV platform was the ability to customize UI to represent the manufacturer's brand, a capability no other platform had. I worked with these brands to develop a look & feel for their UI.

Lessons Learned

Overall Themes was an unexpected success that grew organically through our product development. Had I understood up front the impact themes were to have on the product, I would have  done a few things differently to avoid challenges down the road.

Document as you go

I was the only designer working on UI details when we invented Roku Themes. I didn't bother to create any documentation as there wasn't anyone around to read it. This came back to bite me years later, as I became the only person who really understood how themes worked, and was a bottleneck for any firmware changes that were required. This also meant I had to police the implementation as the dev/design teams grew, as there was no documentation to QA against.

This ultimately led me to evangelize and establish a design systems team, which you can read about in the next case study.

Stay on top of the Tech Stack

The master theme XML document lived in firmware, which was updated every 6 months or so. To increse velocity, product teams developed a plugin architecture to publish features outside of the firmware release. UI attributes that would normally live in the theme XML file, were hard coded into the feature. This meant that every firmware release would be spent on tech-debt, unwiring those hard-coded values, instead of advancing the theme capability.

In order to break this cycle, we needed to move the theme XML out of firmware, also covered in my design system case study.

Next Steps

Thanks for making it this far. If you have any feedback or questions about this case study, please send me a note. If you'd like to learn more about my experiences, check out another case study below.

Roku Design System

Learn about my journey to Director of Design Systems and creating the first ever Roku Design System
View Case Study

Yahoo! Entertainment

Learn about how my team and I were given the opportunity to seed th iOS App Store with this Top 10 iPad App.
View Case Study

Yahoo! Livestand iPad App

Learn about how Yahoo! attempted to magazine-ize the web through the Livestand iPad app.
View Case Study