Although Microsoft's Office Open XML (OOXML) document format became an ISO standard two years ago, the company still hasn't built any software that truly complies with the standard. Microsoft Office 2010, which is expected to be released later this year, implements the deprecated "transitional" version of the format and is not compatible with the version that was crafted by the standards body.

Microsoft's failure to adopt the standard version of the format after two years has drawn criticism from Alex Brown, the convener of ISO's OOXML subcommittee (SC34). Brown was consistently supportive of Microsoft's push to obtain fast-track approval for OOXML during and after the ISO review process, but his optimism appears to be waning. In a recent blog entry, Brown contends that Microsoft is not fulfilling its commitment to adopt the ISO's edited version of the standard.

When OOXML was first proposed for ISO standardization in 2007, it was soundly rejected due to a wide range of technical concerns. The standards body made it clear that Microsoft would have to subject its format to revision and improvements before it would qualify for approval. During Microsoft's second attempt to push the format through the fast-track process, the participants revised the OOXML specification and made a number of key improvements that made it possible to build consensus for fast-track approval.

In order to accommodate Microsoft, which was shipping its own earlier version of the format in its Office suite, the ISO specification for OOXML was split into two variants. The "transitional" variant was intended to be used on a temporary basis with the expectation that it will be eventually be phased out. The "strict" variant consists of the edited specification, the one on which ISO's approval of OOXML was predicated.

Microsoft committed to adopt ISO's edited version of the format, but has clearly not done so in Office 2010. Microsoft's software is still largely based on the original 2007 version of the specification, the one that was rejected by ISO. Brown is particularly concerned by the extent to which Office 2010 relies on deprecated features that are only supposed to be used for legacy document compatibility. For example, Office 2010 still uses VML, an abandoned precursor to SVG that is not supported in the strict variant of ISO's OOXML specification.

Missing maintenance and oversight

Brown also expresses frustration with the lack of proper maintenance for the format. The working group that is responsible for addressing defect reports isn't keeping pace, which means that the inconsistencies in the specification are still piling up and aren't being addressed. He also calls out ECMA for failing to play a role in making necessary improvements to the OOXML format.

"Most worrying of all, it appears than Ecma have ceased any proactive attempt to improve the text, leaving just a handful of national experts wrestling with this activity," he wrote. "It seems to me that Microsoft/Ecma believe 95% of the work has been done to ensure the standard is 'useful and relevant'. Looking at the text, I reckon it is more like 95% that remains to be done, as it is still lousy with defects."

He points out that the documents generated by Office 2010 fail to pass basic validation tests. What makes it even worse is that the problems that are uncovered by these tools are probably just the tip of the iceberg.

"The simple validators developed by me (Office-o-tron) and by Jesper Lund Stocholm (ISO/IEC 29500 Validator) reveal, to Microsoft's dismay, that the output documents of the Office 2010 Beta are non-conformant, and that this is in large part due to glaring uncorrected problems in the text [of the specification]," he wrote. "I confidently predict that fuller validation of Office document is likely to reveal many problems both with those documents, and with the Standard itself, over the coming years."

Many of the problems that are currently plaguing OOXML were anticipated by the format's skeptics during the ISO approval process. Despite its extreme complexity, the format was grossly underspecified from the start—partly due to the inclusion of legacy compatibility hacks that were never fully defined. The approval process was marred by a number of bizarre irregularities, such as block-voting on changes without review during a ballot resolution meeting and alleged incidents of vote-stuffing in several national standards bodies.

Several countries attempted to appeal the approval of OOXML because they felt that their contributions to the revision process were marginalized by the irregularities. ISO rejected the appeal, contending that the procedural failings are irrelevant and don't invalidate the final vote. ISO's view is seemingly that any procedure is permissible as along as it receives majority approval.

When all of that was happening, Brown was optimistic that the problems could be addressed and that Microsoft would embrace the committee's improvements. Now, he sees things in a very different light. OOXML, he says, is destined to fail as an open standard unless Microsoft changes course.

"If Microsoft ship Office 2010 to handle only the Transitional variant of ISO/IEC 29500 they should expect to be roundly condemned for breaking faith with the International Standards community. This is not the format 'approved by ISO/IEC', it is the format that was rejected," he wrote in his blog entry this week. "In short, we find ourselves at a crossroads, and it seems to me that without a change of direction the entire OOXML project is now surely heading for failure."

To correct the problem, he believes that Microsoft should publicly reaffirm its commitment to support the strict version of the standard and should work to ensure that it is supported in Office 2010. Although it is probably too late for Microsoft to rectify the problem before Office 2010 is released, Brown suggests that the necessary changes could be delivered in a software update or service pack. He also wants the standards body to begin establishing a process for removing the transitional features from the official specification.

It is now abundantly clear that fast-track approval of OOXML was a mistake. By giving Microsoft the approval first with the intention of correcting the problems in the standard later, ISO eliminated the incentive for Microsoft to take conformance seriously. It is increasingly obvious that Microsoft only wanted to be able to advertise its format as being ISO-approved and never really cared about interoperability or actual conformance with the standard.