Percussa micro super signal processor

I’ll open with what I just said to some (perfectly reasonable) questions raised by Øivind Idsø on Twitter: most users make video with proprietary software and watch it in Flash. The idea is to change that. It turns out to be hard.

Open video advocates have now gotten some huge gifts from Google; I’m disinclined to look that gift horse in the mouth, as the saying goes. If you do, though, I don’t think you see anything too terribly unexpected.

Meanwhile… ah, Web commentary is adorable, isn’t it? The latest conspiracy theory is that Google dropping H.264 support from its browser is a far-reaching, evil plan to … um … make things … more or less exactly like they were before? I’m not sure, honestly.

The narrative runs like this: Google drops H.264, forcing people to use WebM + VP8. But H.264 has already won. That means that people will be forced to use Flash with Chrome, because Chrome will be incompatible with H.264. And then that will ensure that Flash is popular. But Flash is incompatible with Apple’s iPhone and iPad. That will leave Apple users frustrated. They’ll have no choice but to turn to Android – to run Flash! So Android will beat iOS! And, of course, all of this will really give Google more control over video. And that will mean more ads. So they just have to beat Flash to beat H.264 to help Flash to beat Apple to use Flash to beat Flash to use WebM to beat publishers to run ads.

It’s so … simple … I don’t know why I didn’t think of it myself.

In a widely-circulated (and Gruber-endorsed) comment from Slashdot’s znu, we’re treated to this weird scenario:
A really nasty trick

“…it advances a codec that’s de facto controlled by Google at the expense of a codec that is a legitimate open standard controlled by a multi-vendor governance process managed by reputable international standards bodies. (“Open source” != “open standard”.) And second, it will slow the transition to HTML5 and away from Flash by creating more confusion about which codec to use for HTML5 video, which benefits Google by hurting Apple (since Apple doesn’t want to support Flash), but also sucks for users.”

Well, that’d make this discussion a lot simpler, but it ignores some simple facts:

  • If this is a plan to hurt iOS, it’s a stupid plan. Google tells Wired today that the announcement covers Chrome, not YouTube or Android, which are likely to continue to offer H.264 support. So, this doesn’t really do much as a pro-Android, anti-iOS move. Android supports both codecs. Chrome and Android are different, sometimes frustratingly-independent teams at Google. And Apple chose to avoid Flash and WebM/VP8, so if this is an evil plan to destroy Apple, it’s Apple’s evil plan to destroy Apple. (Hint: Apple knows what they’re doing, too, so… no.)
  • This doesn’t particularly help or hurt Flash. It requires twisted logic to figure out how this advances Flash, because HTML5 video has had a codec stalemate since day one. Before the announcement: Firefox will only use Theora (and now VP8). Apple will only use H.264. After the announcement: same. So, uh… huh? All this does is move one player from one side to the other.
  • Members of the open source community did ask for this. Google was under pressure to open source VP8 from various open video advocates, which they did. So, if Google is pulling the wool over the open source community, they’re doing it by giving them … exactly what they want. Great evil, anti-open source plan, that one.
  • MPEG LA isn’t going to solve open source software’s problems. Why aren’t the open source community adopting the “open standard” that is H.264 and its (apparently heroic, in this narrative) multi-vendor governance? That might have something to do with the fact that members of said organization have routinely threatened lawsuits. And while MPEG LA has a patent pool, that didn’t stop, for instance, AT&T from threatening to sue MPEG LA members, as it did in the end of 2005.

Reality Check

Don’t get me wrong. Google’s move may prove to be a mistake. I think it may benefit free software, but that doesn’t necessarily mean it’ll benefit users, at least in the short term, partly because of the way patent laws are written. (I’m willing to give it a try – my next job is explaining a workflow that would allow publishers to be productive with WebM + VP8.) There are challenges on both sides.

I just can’t find any real evidence that it’s an evil plan. And if I’m wrong about the benefits of pursuing WebM/Vorbis/VP8, we still wind up with something too much like the status quo for anyone to argue it’s genuinely evil.

Let’s cut to the point: Web video, desktop and mobile, is a mess. If you want to make it better, get prepared for solutions that, however you slice it, aren’t neat and tidy. The HTML5 video tag is terrific, and opens up the potential for new functionality and finer-tuned performance, as it finally makes video stand on equal footing with other stuff we use in a Web page. The problem is the codec, and the simple fact of the matter is, you’re not really going to like either solution. Right now, there are two leading candidates:

1. HTML5 video tag + H.264 codec. (Note: this avenue doesn’t necessarily establish what the container is.)

2. HTML5 video tag + VP8 video codec, in WebM container. (Incidentally, technically WebM also uses the Vorbis audio codec, which unlike MP3 or AAC is free to use and has not been subject to the same patent liability or quality criticisms. Yay, audio – you’re less of a pain in the…)

Right now, I think popular support is lining up behind H.264, but that ignores some of its problems. It is not, according to a widely-used definition (one endorsed, among others, by the European Union), an open standard, because it is not royalty free. It is a standard, but not open. (See, for reference, um, the entire history of technology for more on how that can cause problems.)

MPEG-LA announced free royalties for end users, but that leaves out developers – think everything from your video editor to your compression tool to Firefox. Since as an end user you might want to be able to use Firefox and not see a huge broken video icon, that means the resulting cost to end users isn’t really free, either.

And that could lead to an ugly future. Take the example of Firefox, the free and open source browser that helped us get into the modern Web age. At least right now, you can install Flash and play a variety of codecs (soon to include VP8 as well as H.264). If the Web went to HTML5 video tag with H.264, you’d be out of luck, because legally Mozilla can’t ship that support in an open source browser. They’d have to buy a license, and the resulting browser couldn’t be distributed under a free license.

This isn’t, as some have argued, an ideological argument by open source advocates just because they have long beards or are secret Marxists. What they’re saying is that they are restricted by laws. If you use open source software (and if you’re reading this, you do), you’ll simply have to accept that that software is possible because it obeys the law of the land.

WebM support has a different set of problems, and to ignore them would be irresponsible, too. With a BSD license for the entire format and freely-licensed codecs VP8 and Vorbis, Mozilla can ship video support. So can a free and open source video editor or compressor tool. Of course, this brings a whole lot of other concerns – quality and hardware decoder availability (and resulting performance). It also brings potential patent liability, though I think it is possible to overstate this argument – because of the way patent law is written, so, too, would any video format. Ironically, nearly all of the big parties involved here – Microsoft, Apple, Google – have in the past been advocates of patent reform here in the US. That’s not to say you can’t point this out, only that in so doing, you’re pointing out the obvious.

Do you really want to have to choose between free software and usable Web video? The sincere hope right now is that you won’t have to. But that’s the challenge that lies ahead.

I think the simple way to put the problems with WebM is that it’s not ready yet – not for creators and not for publishers. But that assumes that HTML5 plus H.264 is ready – and I think that’s a big leap. Take this site – I wouldn’t for a second eliminate the third or so of our readers who access the site through Firefox.

Writers like John Gruber are right when they say H.264 is widely used. What they don’t tell you is that, apart from Apple’s iOS, most users (even in Apple’s own Safari) are likely viewing that H.264-encoded content through Flash.

All of these arguments have to be considered within the context of a world that still largely uses Flash. And that’s what makes this article a must-read:

Google and H.264 – Far From Hypocritical: “Not so fast calling Google hypocrites for not dropping Flash yet. This is a step on that journey” [Simon Phipps, for Computerworld UK]

Look, the bottom line is, standardization is generally about as much fun as a root canal with a toothpick. Its messy legacy is also bound up with the history of technology – including everything we love about it.

If you’re expecting a good-versus-evil battle with white and black flags, I suggest you watch Star Wars. I hear it just came out on Blu-Ray, which is a standard for delivering video … actually, never mind.

I’m going to lunch. The only tin foil I need will be the tin foil wrapped around my burrito.