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.
Mary Jo Foley at least poses it as a question:
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.
What else do you have?
Oh yes, Document Conversion Services, in WebSphere Portal. The claim is that DCS supports OOXML. Yes, indeed it does!!! DCS, via 3rd party code, supports 100’s of file formats. So OOXML joins the elite company of supported formats, along with XYWrite (1985), VolksWriter (1982) and Lotus Manuscript (1986).
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!!!
This work, unless otherwise expressly stated, is licensed under a Creative Commons Attribution-Noncommercial-No Derivative Works 3.0 United States License.