Friday, December 3, 2010

Why We Choose HTML5 for User Experiences on Devices

This is John Ciancutti, VP of Personalization Technology here at Netflix. As you know, last month we released a completely new user experience for Netflix on the PS3. I thought I would tell you about the technology choices we’re using for user experiences on Netflix Ready Devices.

Our PS3 UI was written entirely using HTML5, on a custom build of Webkit ported to the PS3 by our crack team of engineers. If you don’t have a PS3, you can check out what the user experience looks and feels like here.

Doesn’t look like web technology, does it? That’s what HTML5 brings to the table, the freedom to create rich, dynamic and interactive experiences for any platform with a web browser. In fact, we’re also using HTML5 to create the user experience for our iPhone, iPad and Android applications as well.

What HTML5 is capable of speaks for itself, but there are other reasons HTML5 is the right choice for us. The technology teams I manage at Netflix are responsible for the movie and TV show discovery experience we offer our members; both the UIs and the back end server systems. Our core mandate is to relentlessly experiment with the technologies, features and experiences we deliver to our members. We test every new idea, so we can measure the impact we’re having on our customers. Are they finding more content to watch? Are they enjoying the TV shows and movies they’re seeing better?

If so, the idea is a winner and we quickly roll it out to every customer. This approach allows us to understand when we’ve gotten it right; or conversely to fail quickly and cheaply. We will post more fully on our testing methodology in the future. To work well, it requires great execution, a nimble team, and a highly iterative approach. Every week we’re rolling out new tests to one platform or another.

That’s where HTML5 comes in. The technology is delivered from Netflix servers every time you launch our application. This means we can constantly update, test and improve the experience we offer. We’ve already run several experiments on the PS3, for example, and we’re working hard on more as I write this. Our customers don’t have to go through a manual process to install new software every time we make a change, it “just happens.”

This capacity for testing is so critical to how we innovate, we’re willing to forego having a native UI experience to accommodate it. Our market and our customer needs are moving very quickly, and server-delivered experiences allow us to keep up.

HTML5 also means that our world class UI engineers can seamlessly move between working on our website, our mobile experience, and our television-based applications.

We’re testing new ideas across all of these platforms, and every time a new feature wins for our members, it wins for Netflix. Just by using our service, you’re helping us make it better.

Update: Thank you for the comments and questions. I want to clarify for you that this post is focused on the user experience we build for devices, but not on video playback and DRM. Our video playback technology is fodder for an upcoming post; unfortunately we can’t use just HTML5 yet for video streaming on Netflix Ready Devices. We will fill you guys in on what we are doing, though, and where we hope to take that side of our technology stack in a future post. Thanks!