2007 may have been the year of video on the internet, but support for video technology in software is still pretty poor. The emergence of Flash players enabled the video explosion, sure. But Flash is still proprietary and has a bunch of other problems as well, not the least of which is that it’s not strictly a video format, but rather an entire programming environment which happens to support video.
Video is primarily such a mess because of codecs. I was first exposed to the codec madness circa 1999, when people in my office shared videos via a shared drive. I was using Linux exclusively (this was pre-OS X, remember), so this meant I could very rarely view them. I always assumed that OS 9 and Windows users didn’t have these problems. In envisioned Mac and Windows users living in utopia of video, where they just clicked on any file and it opened and started playing.
Then I had occasion to use a friend’s Windows computer to try to view video. Nope! Same codec problems. Then later I got a Mac. Bzzt! Some videos would play, others wouldn’t. Windows, Mac, and Linux all had the same problem: fail to play the video, with an extremely unfriendly and unhelpful error dialog. (Not one of them said “You don’t have the right codec.” They all read something like, “Error code: -29”)
Things are a bit better today. Actually I have no idea about Windows, but on Mac you can get a WMV plugin for Quicktime, and Ubuntu and other Linux distros prompt you to download reverse-engineered codecs from outside the US when you click on a video format that isn’t recognized. Still, in neither case does it the video just play without any hassle. Linux is the easiest, but there’s still a bunch of dialogs to click through. And this doesn’t even begin to touch the problem of authoring: just look at the codec dropdown in iShowU:
How does one make an informed decision about this? I don’t think most people do. I kept trying formats at random until I got one that 1. wasn’t horribly grainy, 2. didn’t produce massively large files, and 3. played on Quicktime and VLC without issues. This feels like the dark ages of digital video, not the revolution.
Ogg Theora could be the solution. It’s a free and open standard, and could open up the creation and distribution of video in the same way that HTML did for documents.
As usual, though, the problem is default support. No one wants to install extra software to play video; but the two biggest operating system vendors (Microsoft and Apple) have their own proprietary formats (Windows Media and Quicktime) that they want to defend. So that’s not going to happen. (Ubuntu plays Theora out of the box, I hardly need mention.)
At a recent Super Happy Dev House, I met someone who was working on Theora support for MediaWiki. He mentioned that Firefox 3 was going to support Ogg Theora out of the box, which I found very exciting. It would be as simple as a video tag in your html. Awesome.
Unfortunately, it looks like Ogg has been dropped from the latest HTML 5 specification, and from what I can tell FF3 is not going to have support for Theora (though it may offer the video tag, without any default codecs). Unawesome.
Still, all of this seems gives me some hope that there is a path out of this horrible quagmire that video technology is currently stuck in. We’re not quite on the path yet, but at least it’s there - waiting for when the world is ready for video stop sucking.