I’ve been waiting a little to mull over Google’s announcement about dropping H.264 support in Chrome in favor of VP8. Although my partner Ben Mesander would take the other side of the argument, I think the world needs VP8 like a fish needs a bicycle.
A little background: The HTML5 standard specifies a new
<video> tag, which in theory can be used like the existing
<img> tag to embed a video into a web page without the need for any specific browser plugin. (Prior to HTML5, all web video is played in a browser plugin of one form or another, with Flash—despite Apple’s best efforts to kill it off—being by far the most prevalent.)
The problem with the
<video> tag is that HTML5 didn’t really go far enough; it didn’t specify a list of codecs that had to be supported, and it also didn’t specify a streaming format (meaning, among other things, that you can’t send live video to a client using the
<video> tag; you’d still need a plugin for that). The
<video> tag also didn’t support any form of digital rights management—and regardless of what you feel about this, it’s a necessary precondition for distribution of most of the video people actually want to watch.
Up until Google’s announcement earlier this month, however, it appeared that H.264 would emerge as the de-facto common codec supported across all browsers, much like JPEG is a common image format that is supported by all browsers using the
<img> tag. Now Google is pulling the rug out from under H.264 in order to push VP8.
First off, the importance of this announcement has been overblown. Even if we all agreed on the use of H.264, the
<video> tag was always going to be of limited use because of the other problems I listed.
Still, the Google announcement is a shame, because for both consumers and producers of content—i.e., most of us—the combination of H.264 and the
<video> tag would have been a step toward making it easier to distribute video content on the web. Now that there will be no standardized way to send video to all the common browsers, we’ll be continuing to use plugins (and, thus, more complex servers for video). I bet the guys at Adobe are happy!
There have been a few reasons given (by Google and others) for this decision, but none of them hold water:
Meanwhile, VP8 was not developed in an open committee, but by a small team at On2 before Google acquired them. Google has recently put out a specification, but the specification has the odd disclaimer that “If there are any conflicts between this document and the reference source code, the reference source code should be considered correct.” So really the specification is Google’s source code, but that has a bunch of x86 dependencies, so good luck porting it to another architecture or making an ASIC that you know is correct.
I’m not saying we can’t eventually improve on the performance of H.264—far from it. But the low-hanging fruit is gone. I’ll lay my money that further improvement in compression efficiency will come in the form of a lot of small, incremental enhancements, from a lot of different sources.
Ultimately I think this whole controversy is a case of Google starting to act like a big technology company. (Mark your calendar: They’ve jumped the shark.)
Here’s a simplistic analysis: Small technology companies focus all their energies on building a great product for their end users. They don’t have any strategy beyond “build a better mousetrap”. And if they succeed at that, they get to become big technology companies.
Big technology companies, on the other hand, have their fingers in a whole lot of different pies. They often make decisions where they compromise the quality of their product in one market segment in order to further some other strategic interest. Microsoft wrote the book on using dominance in one area to advance other goals. Apple did this same thing recently when they picked a fight with Adobe’s Flash. And now Google is reducing the usefulness of Chrome in order to push VP8. (Presumably the ultimate motivation is to force MPEG LA to keep H.264 basically free, in order to benefit YouTube?)
Now, Google Chrome is a great browser. It’s my main browser, and it is likewise popular in a completely unscientific straw poll of other propeller-heads I know. The thing is, it’s pretty easy to switch browsers; the only persistent data in most browsers is your bookmarks, and those transfer readily from one browser to another. And since your current browser choice is not very “sticky”, Chrome is a not a great stepping-stone for Google to launch its war for world codec domination: The instant that major websites stop working in Chrome, you’ll see a whole bunch of people switch to another alternative.
UPDATE (Feb. 2, 10:30 AM): It looks like Microsoft has taken up the pro-H.264 side of this debate.