Microsoft is often criticized, sometimes unfairly, sometimes not, for having software that bucks norms and eschews standards—software that lacks an ability to interoperate with the rest of the world. Sometimes this is because Microsoft decides to go its own way entirely—the first version of MSN, for example, which offered online services but no Internet access. Other times, the company just likes to put its own spin on existing standards—like the various nonstandard extensions made to HTML and CSS during the browser wars.

Lately the company has been doing a lot better. Windows 7 included a whole bunch of video codecs, supporting H.264, AAC, and DivX content out-of-the-box, even though none of these were Microsoft-preferred codecs. The decision to do this was pragmatic and user-focused—real-world content uses these codecs, and interoperability made users' lives easier, even if it came at the expense of ideological purity. Internet Explorer 9 is another fine example: Redmond has been clear and unambiguous that its ambition is for Web developers to be able to use the same source everywhere, and interoperability—rigid adherence to specifications—is the name of the game.

A software release last week made us wonder if perhaps the company has taken things a little too far. Some might doubt such a thing is possible—but if Redmond is shipping products that undermine the competitive advantages of its own software, especially when its own software is struggling to retain its place in the market, then we think that perhaps this apparent commitment to interoperability is coming at the expense of the company's own well-being.

So we were quite surprised to see Microsoft release a Firefox plugin enabling Firefox to support H.264 video embedded using the HTML5 video tag. One of the many features that excites developers about HTML5 is its native, built-in support for embedding video into webpages, without needing to use plugins like Flash or Silverlight. However, the HTML5 specification doesn't specify the specific codecs that browsers should support, and the development of this part of the specification has been contentious. Originally, the specification said that browsers should support the open source and, hopefully, patent-free Theora video codec. The language was then changed, recognizing that for patent and technical reasons, there was really no good codec to recommend.

Many corporations—including Apple and Microsoft—want to use H.264 as the preferred codec for HTML5 video. Safari's HTML5 video support only works with H.264 video, and Internet Explorer 9's built-in support will also only cover H.264. However, Mozilla, creators of Firefox, regard H.264 as unacceptable. H.264 is patent-protected, and though many Web-oriented uses of H.264 are royalty-free, the Mozilla group refuses to incorporate the technology into its browser: the conditions of its use simply aren't compatible with the group's open-source ideals.

A plugin too far

It's here that Microsoft's new plugin comes into play: with Microsoft's plugin installed, Firefox users can use H.264 HTML5 video. Behind the scenes, the plugin uses Windows Media Player's built-in H.264 support to handle video playback, and hence the plugin requires Windows 7.

In spite of the objections from Mozilla (and Opera, which has similarly rejected H.264), however, H.264 is likely to become the most widespread format for HTML5 video. It has wide software and hardware support, good compression quality, is a standard part of video workflows, and has convenient backwards compatibility properties. Specifically, the same H.264 file can be streamed directly to HTML5 or indirectly via Flash, allowing one video file to be used for both HTML5 and non-HTML5 browsers. As such, if any format is to become mainstream for HTML5 video, H.264 looks to be the one. This probable abundance means that the lack of built-in support in Firefox is set to become an increasingly significant liability for that browser.

So it's pretty weird for Microsoft to release this plugin and nullify that gap. Internet Explorer is currently struggling to hold on to market share—with a few blips, the browser has been steadily losing share for the past couple of years. Internet Explorer 9 will be, technically, a much better Web browser than its predecessors, but will still lag behind Firefox in areas such as standards compliance and extensibility when it is finally released. One of the things that Microsoft's next browser version will be able to do, however, is to play H.264 HTML5 video. Given the huge appeal Web video has, this advantage may, in the future, prove to be significant. And yet the advantage is lost, thanks to this plugin!

Isn't this taking interoperability a little far? It's one thing to champion HTML5 and strive to make Internet Explorer the best HTML5 browser there is. It's quite another to fix glaring flaws in competitors' products.

Some might argue that the motivation here is Windows, and that while this move may hurt Internet Explorer it strengthens Windows. We don't buy that. Firefox is first and foremost a Windows browser (just in terms of usage share; even if every Mac user on earth abandoned Safari in favor of Firefox, Windows would still represent something like 80 percent of Firefox's user base). Would-be Firefox users are not thinking, "Now which operating system should I use to run Firefox on? I know, I'll pick Windows because then I'll get H.264 support!" There are applications that have that kind of influence—where people pick the platform because of the application, rather than the other way around—but Firefox is not one of them. Rather, Windows users are picking a browser—sometimes at gunpoint.

Nor does the move make any sense as a countermeasure to Google's development of the alternative, royalty-free VP8 codec. Firefox, Chrome, and Opera all support VP8, leaving Microsoft and Apple the odd men out, but should VP8 become widespread, Microsoft can add support at essentially no cost—while ideological issues prevent Firefox from supporting H.264, no such impediment stands in the way of Microsoft support for VP8. Weakening Internet Explorer just to undermine VP8 is nonsensical.

Interoperability is important—in spite of the enormous incompatibilities that have plagued Web browsers over the years, we wouldn't have the modern Web if it weren't for the fact that they interoperated at least most of the time—and we're certainly glad to see Microsoft promoting it with Internet Explorer 9. Interoperability comes at some potential cost to a company—in that it forfeits lock-in—but producing good software can counter that. But taking interoperability so far that you actively improve competing products, to the detriment of your own? That's one step too far. It seems almost as if Redmond has forgotten that its browser is no longer the dominant force it once was.