Mozilla on H.264: 'Mobile matters most'

The hard choices behind adopting patent-encumbered H.264

Ultimately, the decision by the Mozilla Corporation to pick up H.264 support for the Firefox browser and other Mozilla projects lies in the mobile destiny Mozilla sees for itself and in the death of Flash on mobile devices.

That's the summation of the Mozilla Corporation CTO Brendan Eich's message to the Mozilla faithful explaining the decision to being supporting H.264, which Mozilla developers have (until now) firmly opposed.

Eich outlined a pretty solid case for why Mozilla felt it had to submit to market pressures and implement H.264. It came down to two core reasons.

First, there's the whole problem with Flash, which Apple effectively killed on mobile by not supporting it for the wildly popular iOS devices. Firefox officially supports the WebM codec, because it, unlike H.264, doesn't have a patent sword of Damocles hanging over it. But, when a user comes across H.264 video content, it can still be played, because Web developers usually add some code in their pages to let Flash handle the H.264 playback.

"Firefox supports only unencumbered formats from Gecko’s <video> implementation. We rely on Flash fallback that authors invariably write, as shown above. Let that sink in: we, Mozilla, rely on Flash to implement H.264 for Firefox users."

And that is the crux of the problem, because last November, Adobe announced it will not be developing Flash for mobile devices anymore. (Or desktop Linux, for that matter--I'll come back to that.)

But what about the move by Google to drop H.264 support back in January 2011? Surely that implicit support of the patent-unencumbered WebM codec should have weakened the popularity of H.264, right?

Not so, reasoned Eich.

"In spite of the early 2011 Google blog post, desktop Chrome still supports H.264 from <video>. Even if it were to drop that support, desktop Chrome has a custom patched Flash embedding, so the fallback shown above will work well for almost all users."

Google has failed to deliver on its Jan. 2011 promise, Eich said, and even if they did, Chrome will always have Flash fallback to rely upon because of the deal Adobe recently made with Google to keep Flash on the Chrome browser--even on Linux.

Eich's statements finally gel things together as to why the Chrome browser kept Flash support and none of the other browsers did. Adobe wanted a piece of the Android pie and Google wanted to make sure it had "universal" video playback on as many platforms as possible (despite the fact that the Flash failback Eich described is not pure HTML5).

Google is keeping H.264 alive because that HTML5-friendly format is the one being used by Apple, and if it has to keep Flash going to do it, then fine.

There are a whole raft of possibilities that can be inferred from Eich's blog. But the one that leaped out (because it was a headline) was this stunner: "Mobile matters most".

Eich's headline refers to Google business plans with Android:

"Google is in my opinion not going to ship mobile browsers this year or next that fail to play H.264 content that Apple plays perfectly. Whatever happens in the very long run, Mozilla can't wait for such an event. Don't ask Google why they bought On2 but failed to push WebM to the exclusion of H.264 on Android. The question answers itself."

But it also applies to Mozilla's mobile plans. Remember when I wrote last month that Mozilla's new Boot to Gecko mobile platform would mean big changes for Linux? Well, here they come, and faster than even I would have expected.

By admitting that H.264 is absolutely required for competing in the mobile space, and that Mozilla is very committed to being in that space, we are now seeing the first major shift in development of a marquee project where the mobile platform versions (Boot to Gecko and Firefox for Android) takes precedence over the desktop's. There have been other such decisions, I am sure, but this one has the biggest impact to date.

This will also impact Firefox on Linux, which I also suspect was part of the reason why Mozilla felt the need to make the shift. Remember, Flash on Linux is going away, and right now Firefox on Linux (and Windows XP) needs Flash for failback H.264 video playback. (H.264 is supported from Windows Vista on and in Mac OS X.)

Eich did not directly address the desktop H.264 strategy for Firefox, though he did specify the inevitable question about patent license fees.

"We will not burden our downstream source redistributors with royalty fees. We may have to continue to fall back on Flash on some desktop OSes. I'll write more when I know more about desktop H.264, specifically on Windows XP."

Does this decision mean that Firefox on Linux will be getting H.264 support? There are two choices, neither of which will be palatable for Mozilla.

Choice number one: Mozilla will add Firefox support for H.264 on its desktop Linux version. The Linux community will shout and caterwaul, and Firefox will take a PR hit. But, ultimately, it should survive because most users will see it's no worse than Chrome, the other big Linux browser.

Choice number two: Mozilla drops Firefox for Linux altogether. The cold numbers, after all, support it. Why pay patent fees for a platform with such a relatively small user base and downstream distributors who can't begin to contribute to those fees?

The explosion for choice number two would be massive. Mozilla will likely not do it for that reason alone, not to mention the sheer number of Linux-using developers in their ecosystem that they rely on to build and code things. I highly doubt they would take such a drastic step.

But then again, mobile matters most.

Read more of Brian Proffitt's Zettatag and Open for Discussion blogs and follow the latest IT news at ITworld. Drop Brian a line or follow Brian on Twitter at @TheTechScribe. For the latest IT news, analysis and how-tos, follow ITworld on Twitter and Facebook.

ITWorld DealPost: The best in tech deals and discounts.
Shop Tech Products at Amazon