The Truth about Netflix and HTML5 vs. Silverlight

There has been a lot of hype recently about Netflix “dumping” Silverlight in favour of HTML5.
A quick Google reveals multiple articles rotating the same sound-bytes [LINK], [LINK] or [LINK].

So what’s the truth? Is the sky really falling? In my opinion there are some inaccuracies or rather inflated truths here which are being bounced around the “lite” tech echo chambers of Gizmodo, CNET and the like.

I will offer here my opinion on what is really going on.

Is Netflix moving away from Silverlight? Yes. In fact ALL streaming media providers are moving away from Silverlight, Flash and other browser plugins. Eventually. And I do mean “eventually”.

This isn’t happening tomorrow.

Streaming is moving towards HTTP based connectionless protocols, away from RTMP, RTSP and similar protocols. Flash, RTSP are connection-oriented (like a socket) and use non-standard TCP Ports (1935) or worse UDP ports so naturally HTTP/S like Smooth or HLS would be favoured over these protocols.

Is this happening next week? No. But Flash is dying and therefore RTMP is dying so I would say the sense of urgency for those using non-HTTP based stream protocols should be VERY high at this point.

As regards switching clients: Silverlight is end-of-lifed but still supported until 2021. Even Netflix says they have 8 years to figure this out. So if you’re using Silverlight you should be planning to NOT use Silverlight at some point in the next 8 years. Again, no surprises here.

The problem is there is no viable alternative that is ready today. And that’s the truth.

HTML5 plays video and audio it’s true but browser support is not consistent. Depending on the encoding/codec, browser and OS your video may or may not playback.

The situation is even worse once you add Mobile browsers into the mix.
Reference: [LINK].

This is in reference to progressive download – e.g. a hosted MPEG or WMV. Streaming playback support is even worse.
At time of writing I think HTML5 has loose support for Shoutcast. Safari supports HLS and IE supports Smooth natively on Surface RT/Pro.

There certainly is no support in HTML5 for DRM.

So what does it mean that Netflix is “ditching” Silverlight and moving to HTML5? Let’s dig a little deeper.

What Netflix has done is implement the own proprietary Crypto plugin in place of Web Crypto called Pepper (PPAPI). They’ve built a DRM model on top of this using the Encrypted Media Extensions and Media Source Extensions. Both still in Working Draft stage with very limited support.

“Our player on this Chromebook device uses the Media Source Extensions and Encrypted Media Extensions to adaptively stream protected content. WebCrypto hasn’t been implemented in Chrome yet, so we’re using a Netflix-developed PPAPI (Pepper Plugin API) plugin which provides these cryptographic operations for now.”

Translation – Netflix have built something into Chromium that implements Streaming and DRM on these draft standards. The only thing that makes this possible is that the Chromium OS and to some degree the hardware are both known quantities and under the influence of Netflix. Is this a step in the right direction? Maybe. Although some would say the EME extension draft flies in the face of the intent of HTML5.

Will we see this become mainstream? Maybe. But there are a lot of hurdles and potential pivots that could and will happen in the meantime.

Should you drop everything and move to HTML5? I would say no. You can’t. Unless you’re going to partner up with Google and Samsung I would say hold off until the ground firms up. For all we know in 12 months HLS/Smooth may be on the outs and MPEG-DASH may take over. It’s too early to tell. Until then, there’s no rush. Let’s stay the course and let cooler heads reign.