The Standards Trolls

It is hard to resolve the pecking order of posters in the Microsoft blogger echo chamber. So let’s just remark that all the usual suspects assisted in this one: Doug Mahugh, Stephen McGibbon, Oliver Bell, Gray Knowlton, etc. Mix together, shake, repeat, turn the crank and presto! Out comes news.

What’s your take? Are IBM and Google talking out of both sides of their mouths, when it comes to their “OOXML is evil” claims? Or is Microsoft increasingly grasping at straws, as the late February ISO vote on OOXML standardization inches closer?

Eric Lai, not to be outdone, comes up with the sensational headline “Lotusphere: Whoops! IBM products support Microsoft’s Open XML doc format”, a headline made all the more remarkable by the fact that the article has absolutely nothing whatsoever to do with Lotusphere.

Well, let’s look at the “evidence” Microsoft points to and try to make some sense of it.

First up we have the Lotus Symphony support forums, where in response to a question from a user about Office 2007 support, “supportadmin3” replied “Great idea Robert!!! I will submit your feature request to the proper team…Thanks!”

I don’t know what to say about that. It is a sign of fanciful desperation to turn the courtesy of “supportadmin3” into a statement of IBM support for OOXML. It is bizarre that anyone would portray this as more than courtesy.

What else do you have?

The thundering herd also pointed out this article from developerWorks last August on how to use ODF and OOXML with DB2 9 pureXML. Does pureXML support OOXML? It sure does!!! In fact it supports any well-formed XML document or fragment, OOXML, ODF, BerniesOldTimeMedicineShowAndJamboreeML, whatever you have. DB2 pureXML can handle it all, and let you query it via SQL or XQuery. Yes, OOXML and every other XML format known to man is supported!!!

[24 January It has come to my attention that the above paragraph has caused confusion among readers who are not familiar with the term “well-formed“. This is a technical term, defined by the XML standard. It essentially means that the XML will parse, that it follows the underlying syntax of XML. It is the minimum qualification for something to be called “XML”. It does not imply any fitness for a particular purpose, or any level of quality. It certainly does not mean the XML is “easy to process by standard XML tools”.

By analogy, I could say that a novel is poorly written, boring, in bad taste and artistically without merit, but at least the author spell-checked.]

What else do you have?

Ah, yes, there is the claim that DB2 Content Manager supports OOXML. Sorry guys, that page is just noting how to add MIME types for OOXML to Content Manager. Wow, you’re moving now. With apologies to Steve Martin in The Jerk:

application/vnd.openxmlformats-officedocument.wordprocessingml.document! I’m somebody now! Millions of people look at this registry every day! This is the kind of spontaneous publicity, you’re name in print, that makes people. I’m in print! Things are going to start happening to me now.

I’m elated that Microsoft thought this DCS support was worth 6 blog posts. In fact in the 5 years since I designed and wrote the DCS framework (yes, ironically, I was the architect of that component) it has never gained such notice.

But here is something you might not know about DCS. Its main purpose is to handle the graveyard formats, the formats that you might rarely find in a document repositories,but don’t want to bother installing editors for on your clients. So instead of locating and installing dozens of legacy word processors, you simply have DCS run on the server and convert, on-demand, these legacy documents into a quick & dirty HTML rendering for viewing. So, DCS is great for handling those rare times when you run across an OOXML file.

So welcome, OOXML, to the exclusive company of “Every Document Format Known to Man” . I’m glad that you are so excited. But your desperation in trying to dredge up examples of support for OOXML, any examples, is so pitiful that I feel must offer some assistance.

Let’s start with the conformance clause for OOXML (Part 1, Section 2.5), the standards language that defines what an OOXML supporting application must be able to do, in order to claim it supports OOXML:

2.5 Application Conformance

Application conformance is purely syntactic; it also involves only Items 1 and 2 in §2.3 above.

A conforming consumer shall not reject any conforming documents of the document type (§4) expected by that application.

A conforming producer shall be able to produce conforming documents.

Or, in plain English, in order to be able to claim conformance with OOXML, an application must not crash when presented with a valid OOXML document, or must be able of producing at least a single valid OOXML document. This is not exactly a high threshold.

Some examples of applications that support OOXML by that definition:

The DOS “copy” command is a conforming OOXML consumer and producer, since it can accept and produce valid OOXML documents.

The DOS “del” command is a valid OOXML consumer, and one which I heartily recommend.

WinZip, PkWare and every other Zip application out there are also conforming producers and consumers of OOXML.

Every text editor and every XML editor and every other application that can consume text or XML also supports OOXML.

Every web server and every application server, and every file system in the world can support OOXML if it can store an OOXML document without crashing or restore a valid OOXML document.

A USB memory stick is also a conformant OOXML application, since it can consume and restore OOXML documents,

An MP3 player is a conforming OOXML application, if it has a disk mode that allows files to be stored and restored.

Feel free to suggest your own nonsense.

By analogy to patent trolls, what we’re seeing here is the behavior of a standards troll — defining a conformance clause so vague that everything in the world is considered to support it, and then searching through competitor’s web sites in hopes of finding some place where they stumbled into supporting it, and then trying to extract some advantage from it.

The point should be to look for examples of where OOXML is supported to the highest degree, to point out the best examples of high-fidelity interchange that your standard allowed. You would think that with so many people at Microsoft with “interoperability” in their job titles, that this would be obvious. I guess not. But don’t be sad. You can always count on “supportadmin3” to cheer you up!!!

The difference in MS pro-OOXML postings and (dare I say it?) IBM’s pro-ODF postings is that MS postings are mainly written by managers and people more concerned with “wide PR impact” than actual technical details. Pro-OOXML people are also less likely to check and confirm their facts first. They are more business-oriented people than pro-ODF cloud, making them less likely to be accurate. Sadly, although this means they have to check their fact more closely, they did not. As far as the technical aspect of this debate is concerned, they are out-classed.

>You would think that with so many people >at Microsoft with “interoperability” in >their job titles, that this would be >obvious. I guess not. But don’t be sad. >You can always count on “supportadmin3” >to cheer you up!!!

hahaha :-)))

amazing article, i enjoyed it !

now seriously: the lack of grounds in pro-OOXML people’s arguments is worrying ( my god! some of them, like Dough Mahugh, even participate in national bodies tecnical committees )

This is a continuation of the blog post “Malaysia warms to OOXML …?” which asks whether there is a real authentic grass-roots uptake of MSOOXML technologies in Malaysia. This blog post will inspect the agreement between Microsoft Malaysia and its first “convert”.

I don’t usually speak for Google, but in this case I’m going to make an exception :-).

We don’t believe that OOXML is suitable as an open standard. Google supports it in a very limited viewing capacity in search to allows users to find and view the information they are looking for. This hardly constitutes “support” or any agreement that OOXML is a preferred document type. We are fully behind ODF as the ISO standard document format.

I especially enjoyed the part on the DCS all formats list where it indicated that it can display as HTML, HTML up to version 3 *with some difficulty*. (Yeah, I know – that support is to handle cases where some web browsers don’t support older versions, and since it’s rare for that to be significant, not a lot of time can be budgeted to code for it.)

Just some additional notes: as I recall, OOXML is a compressed format. That means that editors like Microsoft’s EDIT and Notepad are not conformant producers, as they will not always save the file with 100% fidelity to what they read in. Unix vi (not to be confused with its many children) cannot handle lines longer than 1024 characters, as I recall. There are many other editors out there with similar issues, including the fact that many are not null-clean, and some aren’t even 8-bit clean otherwise.

Another question on the DCS list… You support compressed tar (.taz), but not gziped tar (.tgz) or bzip2ed tar (.tbz2)? Those should be pretty easy to add, and they appear to be far more common to me than .taz files.