Microsoft and Mozilla traded barbs this week in a dispute over what constitutes a "modern" Web browser. The competitive friction is starting to heat up because the Redmond software giant and Silicon Valley nonprofit are preparing to release the next major versions of their respective Web browsers.

Mozilla's Firefox 4 is expected to arrive this month and Microsoft's Internet Explorer 9 is in the release candidate stage. Both browsers are set to introduce a significant number of new features for end users and Web developers, including extensive support for critical next-generation Web standards.

The release of Internet Explorer 9 is particularly noteworthy, because it will mark the first time in recent history that Microsoft has delivered a browser that doesn't lag far behind on standards compliance. Despite the great strides that Microsoft has made with IE9, Mozilla contends that Microsoft still has a long way to go before it can truly characterize IE as a "modern" browser.

Mozilla developer Paul Rouget, who is probably best known for his innovative HTML 5 demos, issued a statement and accompanying infographic that attacks Microsoft's claims regarding IE9's support for modern Web standards. Rouget says that Microsoft has misrepresented the extent of IE's standards compliance by using the company's own test suite as a benchmark rather than vendor-neutral tests devised by the W3C and other independent parties.

Microsoft's recent blog entry about the availability of the IE9 release candidate includes a table that purports to compare IE9's standards compliance against that of stable versions of other mainstream browsers. As Rouget has pointed out, the table is based solely on Microsoft's own test cases and omits prerelease versions of other browsers.

In software engineering, it's common for developers to create elaborate testing suites that are designed to evaluate a software implementation's conformance with the project requirements. IE9's conformance with Microsoft's own internal test suite for the browser does little more than signify that Microsoft has fulfilled its project goals for the IE9 release milestone. It doesn't reflect IE9's compatibility with the full spectrum of browser standards—just the specific features that Microsoft has chosen to focus on implementing.

When tested against an independently maintained HTML5 feature matrix at caniuse.com, the breadth of IE9's HTML5 conformance looks much less compelling. In fact, the scores show that IE9 supports roughly 54 percent of HTML5, compared to the 88 percent covered by Firefox 4. It's worth noting that Firefox 3.6, which was released in January 2010, scores 54 percent, just like IE9. The takeaway message is that, despite advances, Microsoft's HTML5 support in IE9 is still lagging roughly a year behind Firefox.

Although IE9 is still obviously missing support for some important standards-related features, we aren't totally sold on Mozilla's contention that this precludes IE9 from being characterized as a "modern" browser. There is a lot more to being a "modern" browser than merely supporting the latest standards.

Standards bearer

The standards story itself is also far from clear. When Mozilla was defending its poor score on the Acid 3 test in 2008, Mozilla's Rob Sayre decried what he called standards "grandstanding" by browser vendors. As was the case then, evaluating standards compliance is a task that requires a lot more nuance than you can get from tables, infographics, and test scores. Microsoft still has a lot of work to do, but they are finally moving forward at a good pace and have arguably caught up with a big chunk of the feature set that Web developers want to use today.

Rouget provides an abridged list of some of the standard where Microsoft has fallen behind. Perusing the list proved to be an instructive exercise. Many of the standards that Rouget identifies as missing pieces in IE9 are indeed unfortunate omissions by Microsoft. Some nascent features that Microsoft doesn't support yet, like Web Workers, are going to be important for high-performance next-generation Web applications.

There are some omissions in IE9, however, that are understandable. For example, Microsoft is faulted for not supporting CSS3 gradients. It's worth noting that Firefox's Gecko rendering engine and WebKit implemented this feature with very different syntax. It was only last month that Mozilla and Apple reached a consensus on the syntax, leading the WebKit team to change their implementation.

Along those lines, some of the weak areas in IE9 relate to standards that are still basically in flux and are implemented with vendor-prefixed flags in other browsers. Microsoft still falls behind far too often, but is arguably getting better at tracking standards that are works in progress. The company has an experimental implementation of the WebSockets specification, for example, though it won't be included in a browser until it stabilizes and some standing technical issues with the standard are addressed.

Another one of Rouget's points of criticism is Microsoft's lack of support for SMIL animations in SVG, a declarative XML-based syntax for animating vector graphics. It was one of the few major SVG features that arrived late in Firefox. Firefox has had relatively robust SVG support for years, but didn't get a SMIL implementation until 2009. SMIL wasn't a high priority for Mozilla because developers have generally been satisfied with using JavaScript for animation. SMIL is still a desirable feature that IE is very late to support, but it's not something you'd necessarily expect to land in a browser vendor's first pass at implementing SVG.

On that note, Doug Schepers of the W3C SVG working group recently dismissed critics of Microsoft's SVG support in IE9 and lauded the company for implementing a "very large, functional subset" of the standard.

"But it's silly to hold Microsoft to a higher standard than the other browser vendors, for their first release. Everyone, even Microsoft, has limited resources, so I'd have been stunned if they did all of SVG 1.1 in IE9," he wrote in a blog entry. "And I'll be surprised if they are missing features like filters and animation in IE10."

SMIL is one of only two missing IE9 features that prevent the browser from scoring 100/100 on the Acid 3 test. The other major feature is SVG Fonts, which Mozilla has also declined to implement, due to the availability of the superior WOFF standard.

What makes a modern browser?

The question of what constitutes a "modern" browser seems to tread into the shaky realm of ontological inquiry. In a response to Mozilla, Microsoft's Tim Sneath accuses Rouget of assuming a "very narrow definition" of what makes a browser modern.

Indeed, there are a lot of ways in which IE is arguably more "modern" than Firefox if you look beyond the issue of standards. The most noteworthy example is IE's support for process isolation for tabs. Although a number of mainstream browsers support this capability, it's not supported yet in Firefox 4. Mozilla's 2011 roadmap highlights tab process isolation as a major goal and indicates that it could come later in 2011.

Rouget isn't doing himself any favors by elevating the word "modern" to the heart of the discussion. He's effectively burying the lede, which is his more defensible position that Microsoft's support for HTML5 is still lacking and lags behind Mozilla's.

Mozilla's mission-oriented agenda and emphasis on the open Web create a culture where the tendency is to assign a high priority to standards compliance. Mozilla's vigilance in this area is highly beneficial to the Web and has arguably played an important role in catalyzing the current competitiveness and relative health in the browser ecosystem. The downside of Mozilla's standards fixation is that it also occasionally makes it look like the organization has fallen out of touch with users.

As a Firefox end user and occasional Web developer, I don't particularly care whether I can use SMIL in SVG. There are other factors that more significantly impact the quality of my day-to-day browsing experience where Mozilla still falls short. To cite standards conformance as the chief measure of a modern browser is to downplay the importance of all of the work that goes into making a good browsing experience. That was obviously not Mozilla's intent, but that's the attitude that resonates from this kind of ham-handed marketing effort.

Microsoft's long history of wilfully crippling the Internet with IE's lack of standards compliance understandably makes it difficult to give the company the benefit of the doubt. I'd say, however, that the progress Microsoft has made in IE9 goes a long way towards repairing the damage. Mozilla is still fundamentally right in saying that Microsoft's HTML 5 compliance isn't as good as the company wants users to believe. It's still pretty good, however, and is on track to get better—just like Mozilla is on track to address its own problems, such as the lack of process isolation for tabs.