X

Microsoft's amusing standards stance

Opera Software's Håkon Wium Lie says Microsoft's recent letter about IBM undermining standards contradicts its own track record.

4 min read
When Microsoft talks standards, I listen. Last week was good for listening.

Two of the company's general managers published an open letter on document formats titled Interoperability, Choice and Open XML. In the letter, they argue that Microsoft is doing all the right things with standards and that IBM is not playing by the rules.

The letter is about an ongoing battle between two Extensible Markup Language-based document formats. IBM and others have supported the OpenDocument format, or ODF, from its inception in OpenOffice to its current International Organization for Standardization-accepted status.

Microsoft is trying to give its own Office Open XML (OOXML) the same stamp of approval by taking a shortcut through the "fast track" offered by the European standards body Ecma International into the ISO.

The conflict has provided prime entertainment for document geeks, and the letter adds to the amusement.

Jean Paoli and Tom Robertson share a tear-jerking story on how Microsoft has "stepped up efforts" and "listened to customers." Microsoft "congratulates Ecma" for producing a 6,000-page specification that will "spark an explosion of innovation." The enemy, on the other hand, is using the "standards process to limit choice in the marketplace for ulterior commercial motives." Microsoft has the nerve to criticize competitors for having commercial motives?

While it's healthy to have competition between different standards, it's rarely productive to have competing standards within an organization.

Further, the letter claims that "ODF is closely tied to OpenOffice and related products" (bad!) while OOXML "reflects the rich set of capabilities in Office 2007" (good!). A more even-handed sentence might read: ODF is an XML-based dump of the internal data structures of OpenOffice, while OOXML is an XML-based dump of the internal data structures of Microsoft Office.

"Choice" is a prominent word in the letter. The authors argue that consumers want several standards from which to choose. I don't think so. Consumers never wanted the choice between VHS and Beta, and mobile telephony in the United States was hindered by customers having to choose between competing standards.

Choice soon turns to frustration when your rented video doesn't fit in the slot, or your phone doesn't connect. People want to choose products based on price and performance, not on underlying equivalent standards.

According to the letter, governments have also been asking Ecma to "establish choice." Which countries? Is it Kazakhstan, by any chance? Kazakhstan recently joined the relevant ISO group. In the past, consultants paid by Microsoft have joined standardization groups and have become sympathetic voices. Are they buying countries this time?

In this conflict, ISO must answer a difficult question: is there room for both ODF and OOXML inside ISO? I'm not a fan of either format, but ISO should be concerned about the closeness of the two formats. They are similar in function, solving the same problems and using XML as the syntactic foundation. While it's healthy to have competition between different standards, it's rarely productive to have competing standards within an organization.

It can be argued that, by introducing a competing standard, one risks jeopardizing both standards. Around 1990, the SGML (Standard Generalized Markup Language) and ODA (Open Document Architecture) standards were competitors. Both of them were ISO standards, and I believe this was counterproductive for everyone involved. For example, SGML added useless features just to compete with ODA. Microsoft is not to blame for this, as they were not interested in standards in 1990. In 1997, however, they were.

Less than a year after CSS (Cascading Style Sheets) became a W3C Recommendation, Microsoft co-submitted the competing XSL (Extensible Stylesheet Language) to the World Wide Web Consortium. (One of the authors of that submission was Jean Paoli. It is unlikely that he did much of the technical work on XSL, and he was probably listed for political reasons. Similarly, he was listed as an editor of the XML specification after Microsoft made some phone calls.)

As a result of being in the same organization at the same time, both CSS and XSL suffered. One can speculate that if both CSS and XSL had failed, Microsoft would have offered a proprietary style sheet language, perhaps based on its own patents.

In 2006, a year or so after ODF entered the fray, Microsoft submitted OOXML to the standardization process. Are we seeing a pattern here? Is Microsoft undermining standards by submitting them? Could it be that it wants both ODF and OOXML to fail?

If both specifications fail, the most likely result is that the world continues to use Microsoft's proprietary "doc," "xls" and "ppt" formats. This is consistent with Microsoft's attitude in other areas in which the company is pushing closed formats. For example, the MSN Messenger protocol is not public.

As mentioned above, I'm no fan of either specification. Both are basically memory dumps with angle brackets around them. If forced to choose one, I'd pick the 700-page specification (ODF) over the 6,000-page specification (OOXML). But I think there is a better way.

It is possible to build a new format on top of the universally understood HTML and CSS. Additional semantics (say, formulas in spreadsheets) can be encoded as attributes, as do microformats, and CSS 3 offers advanced features for printing (e.g., footnotes and header and footers).

To show that it's possible, Bert Bos and I published a book using HTML and CSS. One significant benefit of this approach is that documents can be viewed in common Web browsers. There's a billion of them out there.

One fun thing to do in Web browsers is to check how well documents conform to standards. For example, you can pass the URL of Microsoft's letter to W3C's validator. Doing so reveals that the letter is not written according to the HTML specification. The validator finds 33 errors in the most lenient mode. (One of the errors is the use of the "layer" element. (The "layer" element?!)

Microsoft--please--if you think standards are so important, why not start using them?