This article and the HTML 5 codec issue in general really illustrates the stifling effect that software patents are having on technical progress.
Are there any compelling reasons left to keep software patents around? It seems like they're doing way more harm than good.
It's unfortunate, but it isn't the catastrophe that the article implies. The vendors that are going to support Theora out of the box are going to do so anyway, and the vendors that are going to support h264 out of the box are going to do so anyway. Standardizing on either wouldn't have done nothing but dissociate the spec from reality.
So now web designers have to deal with incompatibilities introduced in the last century, as well as ones introduced in yet-to-be published specs.
What is the point of standards if everyone is going to ignore them? The HTML5 committee could have saved a lot of time by not writing the spec and instead concentrating on a free reference implementation. (When browser vendors have to implement a spec on their own, they are going to cut corners to make things easy. If they can just cut-n-paste from a reference implementation, they will probably just use that.)
That's the point. That's why that part was removed. If Theora had been mandated, Apple would have ignored it. If h264 had been mandated, Mozilla would have ignored it.
http://lists.xiph.org/pipermail/theora/2009-July/002415.html
It's worth pointing out that no-one has suggested H.264 as a recommended codec, not even Apple or Google who are both shipping H.264 support. Since it is patent encumbered it simply doesn't pass the first test for getting into a W3C standard. You'd be as well to suggest Flash or Silverlight be added to the spec, it would get shot down just as quick.
Apple apparently tried to get one of the less advanced H.264 profiles made royalty free, so it could go into the standard, but was getting pushback from some of the other patent holders in the MPEG-LA. That would have been interesting as it would have been a "first hit is free" kind of deal, where Safari/Quicktime would be able to support the higher levels of H.264 but Mozilla/Chromium/Linux wouldn't and Opera presumably would refuse to do so on principle.
BUT, expose this information to the server, so I know which video to serve. Add an Accept-Video-Codec and an Accept-Audio-Codec header, and that is all you need to do.
For extra points send some information on screen resolution in the headers, instead of making me use javascript for it.
The reason this is good is that browers don't need to support anything. They just use the media libraries on the computer. If I want more codecs, I install them, I don't need to convice the browser to support them.
Of course, we should really just get rid of software patents.
I don't think it's so bad to reward that with a license fee, and the patent administrators are benign dictators. There are lots of exceptions to allow startups to use it, there are sub-inflation caps on the fee increases, and the maximum license fee per hardware device is 20 cents. Online is a bit more complex but still very cheap. full terms here: http://www.mpegla.com/avc/AVC_TermsSummary.pdf
On principle, I lean towards a totally free software solution. But pragmatically, this is a very fair approach to administering a patent for a technology which delivers a lot of value, and and I think h.264 will persist for that reason.
Even when <object> based video worked, the plugin architecture made it slow, unstable, unpredictable and generally a horrible user experience. The only reason we have video at all today is because Flash provides it internally.
Any web video standard that fails to standardize the codec has made zero direct progress. However, it looks like the HTML5 attempt may have resulted in an acceptable defacto standard: a browser must support one or both of H.264 and/or Theora. Since the <video> tag makes it easy to provide both formats, I think this is a compromise that web developers will be able to live with.
1. flash will remain the dominant video platform for the near future.
2. This stalemate between theora and h.264 is a huge win for chrome, the only browser that will support both.