How Google Stuck a Dagger in HTML5 Video
Not sure if Google intentionally planned to rain on Apple's parade around the unveiling of the Verizon iPhone, but they sure have raised a lot of questions around the future of online video on 1/11/11. Yesterday Google announced that they would be dropping h.264 support from their Google Chrome web browser. This news has raised questions for our clients, so I would like to address them and give a bit of commentary on the whole situation.
A Brief History of Online Video
Since around the dawn of YouTube, embedding a bit of video on the web meant using nasty standards un-compliant code like the following:
The above chunk of code is a smorgasbord of an object tag and an embed tag, and it relies on the user having Adobe Flash installed on their device. While the above code is a bit ugly and doesn't conform to HTML standards, it was a big step up from the days of embedding Windows Media Player videos or RealVideo.
But with the spec for HTML5 having reached the stage of being a working draft, we get the treat of simple clean semantic markup to embed video on a page. One day in the future, when all is right with the world and we're all writing pure and clean HTML5 semantic markup, that chunk of video will look something like this:
I understand if you had to look away due to the blinding beauty that is that code. The promise of HTML5 is that you can point right at a video file, and let the browser do the rest. For extended reading on HTML5 video, I highly recommend the chapter Video On the Web from Dive Into HTML5.
Recent h.264 Adoption
Adoption for HTML5 video picked up a large head of steam about a year ago, when it was announced that Apple's iPad would not support Adobe Flash. This meant that many online video publishers needed to start supporting HTML5 video, and most did just that — visit YouTube, CNN, or The New York Times with an iPad, and you will see that they are using HTML5 video.
Now, all videos aren't created equal — the technology that is used to turn high-quality video masters into web-optimized files is called a codec, and h.264 has been the most popular when it comes to HTML5. Chrome and Safari both support h.264, and Apple has added h.264 hardware decoding (read: battery-saving stuff) into Mac computers, iPhone, iPad, iPod touch, etc. etc.
Heck, even Internet Explorer 9 is going to support h.264, and IE isn't a browser known for being the first to a party since Netscape bit the dust. The only hold-out has been Mozilla Firefox, as they support their own format, Ogg Theora, and Google's WebM, and have cautioned that one day in the future the creators of h.264 could start charging the browser-makers money to decode due to patents they hold on the technology.
Currently MPEG-LA doesn't charge browser-makers, and have guaranteed until 2015 that they won't, and have promised not to exercise their patents after 2015. And even if they could, it seems like folks like Apple, Google, Microsoft, and Mozilla could probably swing the royalty costs. With that, it looked like h.264 was all well and good, and adoption of the codec would continue at a steady pace.
So What is Google Doing and Why?
Google's statement, from the Chromium Blog, is as follows:
They are saying that they will not allow Chrome to decode h.264 video if it is used in an HTML5