(The original version of this post ran on October 31, 2006, and contained offensive language which is omitted here.)
If you are Microsoft and you see ODF on the horizon, and the EU is giving you heat for not having an open standard XML file format, you're thinking two things (in PowerPoint)...
- kill; and
The cooler heads in the organization would be thinking up a plan (their PowerPoints would read)...
1) suffocate the ODF Plugin
2) create a one-way interoperability mechanism to gather all those stray ODF files into Microsoft Office Open XML ("MOOX").
Microsoft has set out to do both, and it's a failing strategy. Here's why, if you have the patience for an extended post.
Take the Microsoft perspective. You own the file format(s). Some dominant percentage of the worlds documents are being produced in formats for which you own the recipe. Nobody else knows your ingredients or the sequence with which you mix them together -- something like Coca-Cola. PDF and the odd OpenOffice and ODF files make up the rest; and of course there's HTML and its derivatives like XHTML, if you consider a web page a document, which I do. (Incidentally, PDF's threat to Microsoft is being taken seriously and is being attacked through Vista and Office 2007 in the form of XPS. Stay tuned.)
Your view is that MOOX will simply come in and add to the formats you already have outstanding of the .doc, .xls, .ppt, .docx varieties, etc., etc. MOOX you are advertising to be perfectly backward compatible with all of these. You and only you know how they work (because the recipe is secret) and therefore you and only you can provide the perfect way to "pull up" everybody's billions and billions of files in a relatively short time to all being MOOX (because Vista and Office 2007 are going to be so successful).
Now, ODF looks exciting to some people out there, to state governments anyway. And it looks like if you are Microsoft you are going to have to deal with this other format to some extent. And because you are Microsoft and you are accustomed to winning, you view this stray format, ODF, as a temporary thing. And since you are going to own the main format(s) people use, you're thinking that your only requirement to combat ODF is to provide a mechanism to "pull up" all the stray ODF files into your latest, MOOX.
Then, lowe & behold, the OpenDocument Foundation in reply to the Massachusetts ITD's cry for help in a Request For Information (May 2006) announces that it has an ODF Plugin for MS Office installations (for Office 97, 2000, XP and 2003). The Foundation's ODF Plugin uses well-known published interfaces that Microsoft and its partners have used for years and provides native ODF capabilty to Office users.
Flies on the wall of the conference rooms in Redmond would have overheard the following...
SB: Oh [expletive deleted]! I'm going to eat the heads off those [expletive deleted]!
BG: We knew this was coming.
CM: This will put ODF right into Office and seamlessly integrate that other file format we hate!
RO: It will delay Vista. People wil have an XML format and delay upgrading to Vista. The Foundation's plugin will extend existing desktop investments.
SB: Holy [expletive deleted]! [expletive deleted] them!
RO: Let's do our own Plugin and remove the air supply from the Foundation's Plugin.
CM: Right, Ray! And let's make it open source so there are absolutely no revenues for anyone else.
BG: [expletive deleted]!
CM: Let's hire a French company to do it; the EU will love that.
RO: Now you're talking, Craig.
SB: [expletive deleted] [expletive deleted].
BG: They just don't respect intellectual property, the [expletive deleted]!
CM: We must see if the Foundation's plugin is for real.
RO: Get Paoli, Yates & McGibbon over there to Brussels...
So it must have transpired.
In July, representatives of the OpenDocument Foundation presented a demonstration to a special committee in Brussels hosted by IDABC. There, in that meeting, Microsoft officials saw the Foundation's proof-of-concept of the ODF Plugin and asked the Foundation representatives to leave the room for a moment of privacy. (This is still unbelievable, and even more unbelievable is that our representatives actually agreed to get up and leave.) Then & there, those Microsoft officials announced their version of an ODF Translator, that it would be free and open source. This is the origin of the Clever Age project on SourceForge, which they call now the "ODF Add-in for Microsoft Word."
Next, if you are Microsoft, perhaps you decide it's a good idea to play the press. It would help here if you use that word, 'Interoperability,' so you issue a press release on July 5th entitled,
"Microsoft Expands Document Interoperability"
Company to sponsor open source project for Open XML-ODF file translation to deliver more choice for government customers and their constituents.
If you are Microsoft, you issue this press release anyway, even though you know no one will believe even a word of it. File "interoperability" has been the byword for going on 10 years now and Microsoft's proliferation of complexity and incompatible variety has been the action. Like that word 'innovation,' 'interoperability' is getting worn out from misuse.
So if you are Microsoft, you feel you have frozen the market for plugins or converters or translators or add-ins, or whatever. There in France, the Clever Age project is progressing along at a good clip, not without technical hurdles, but moving along nicely enough, you imagine (the project forum indicates however that the project has no one watching it: posts have petered out since July). In a few day's time that project is all set to release a milestone piece of code, an ODF Import-Only slice of the ODF Add-in which will permit users of Word XP, 2003 and the Word 2007 beta to read ODF files. (ODF Export was said to be in the Clever Age Roadmap, but the Roadmap link is dead on the sourceForge site.)
There are now no other plugins in sight. Mission accomplished. Air supply appears to be removed from all competent competitors (Sun's C# server-side "plugin" doesn't meet Massachusetts requirements; and anyone using the OpenOffice filters is finding the same problems for file incompatibility and the same old file roundtripping nightmares). Everyone wants the Foundation's ODF Plugin and no one wants to pay for it. Mission accomplished.
So now, if you're Microsoft, all you need is to have Clever Age cleverly come up with an ODF Add-in which successfully imports ODF files into the designated Word applications. Even though it is mentioned in the roadmap that MOOX-to-ODF export is planned, you will need to show this to me working in the flesh before I believe it will be a) done under Microsoft sponsorship; or b) done successfully under Microsoft's sponsorship.
If you're Microsoft, the one-way converter is perfect. Just what the doctor ordered to show big governments that you care about interop. MOOX will be the new, new thing. Everyone will be working in MOOX and if, by chance, you get a stray ODF document coming at you from your friend, a maximum-security guard working in Her Majesty's Prison Services, then just run it through the converter and Voila! Microsoft continues to own the document formats.
The Trouble With You Is...
The problems with this are myriad, so it's hard to know where to start. In such a case, it's probably prudent to start with the fundamental problems and avoid the rest altogether.
Firstly, the Clever Age ODF Add-in is not an interoperability solution, it is just a converter. What the world needs is documents to work seemlessly together, in all instances. ODF, the only universal portable document format, is the only solution to this large set of problems.
Secondly, the Clever Age ODF Add-in is not going to work. Assume for one thing that Microsoft/Clever Age were going to stick to their word and solve for both Import and Export (it's a big assumption, I know, but bear with me). The method Clever Age are using -- the old XSL Transformation -- is a rotten choice. Why? Because XSLT is good for XML to XML converstions and Microsoft's new Office Open XML format is merely an XML encoding of RTF, the proprietary Rich Text Format owned by Microsoft. In other words, MOOX contains hidden code instructions that only Microsoft understands (i.e., RTF) that are wrapped in XML. An XSL Transformation will output the hidden bits too but no one is any more able than they were before to understand these parts -- except Microsoft.
Let me explain. It is easy for Microsoft to go and convert a file in the direction from ODF (a format everyone knows) to Microsoft's own format MOOX. It is infinitely more difficult (if you are not Microsoft; Clever Age is not Microsoft) to convert perfectly from MOOX to ODF. It's because certain hidden code instructions which are embedded in the XML-encoded RTF of MOOX are only known to Microsoft.
RTF is considered by many to be human-readable and open format. The RTF specification is publicly available -- we are now on version 1.8 (2004) -- from the inventor, Microsoft. Even though many different applications (including OpenOffice/StarOffice) use RTF as a format for document interchange, many people do not recognize that Microsoft keeps "a second set of books" on the RTF specification. There are data combinations in RTF which may look innocuous or meaningless to the eye but from which Microsoft can parse meaning. There is more information available in RTF to a Microsoft application than is available to other applications. RTF is therefore not open because it is not completely specified. And its role in the architecture of MOOX should give pause to users and members of the software standards community; RTF's secrets are the reason Clever Age's MOOX-to-ODF export will never work adequately through XSLT -- even if they deliver one.
(Incidentally, this fact that MOOX is XML-encoded RTF means that it should not be considered open. It means MOOX is a proprietary format. In this light, a possible ISO vote next year on the ratification of MOOX as an international standard is a fiasco so dire that ISO will never recover if the nature of RTF is ever widely recognized.)
Thirdly, if its poor file interop performance is not deterrent enough, there are other barriers to its actual use. The Clever Age ODF Add-in will never be deployed by users due to its sheer clunkiness. It lacks the native File->Save & File->Save As processes specified by all the governments so far. Moreover, its installation requires the cumbersome .Net Framework AND the Office Compatibility Pack (for the older versions of Word). This is a whole [large amount of material] to swallow, indicating that Microsoft/Clever Age have no intention of this thing ever actually being used. It's merely intended to prompt a checkmark on the EU's proverbial list of hurdles.
Do I need to go on? I will, only to add that Clever Age are finally recognizing one or two of the hurdles to file interoperability that we have known about for years. The recent post by Jean Goffinet of Clever Age, "Reaching the Limits," describes the Table-in-a-Table Problem which has plagued users of OpenOffice and Word practically since Day One and has been a perennial source of unhappiness in document collaboration across different systems. M. Goffinet is correct that this is not a question of Evil or poor skill but rather about different ways of doing things. It simply becomes hard to reconcile when you have different operations encoded into a file and then that file encounters different features in different environments, each application environment not knowing what to do with the other's way of encoding.
You might think that with all the differences of features in all the versions of Word, for example, that there is an infinite number of these recalcitrant problems of difference-of-approach. But there are only five. That's right, only five. It is this paucity of difficult file interoperability problems that makes me red in the face when I consider that the Hamburg engineers sat on their hands at OpenOffice/StarOffice for years and put OpenOffice/StarOffice into "Maintenance Mode" when they had so few issues to finally solve to achieve beyond-adequate file interchange performance.
With respect to the ODF Plugin and its native insertion of ODF into MS Office, Hamburg had been saying, "It can't be done!" with such vehemence for so long that they surely convinced themselves it was true. In fact, Sun Microsystems and Hamburg (two very different organizations) together were having trouble distinguishing between technical feasibility and business-case feasibility. Accordingly, it's not hard to see why Sun's own attempts at a plugin now to satisfy the Massachusetts & EU requirements are just as malformed as Clever Age's.
Clever Age may be sincere in their efforts to satisfy their client, Microsoft. But Microsoft -- and Clever Age -- are being disingenuous to offer the ODF Add-in as a solution to ODF file interoperability. Together in all they are just pretending, playing House. (If you are not entirely convinced of this, then consider that it would take Microsoft's Brian Jones and a few Indian or Chinese hands about two weeks to complete perfect ODF capabilities for all extant versions of MS Office. The question -- 'Why don't they?' -- is either naive or more misdirection.)
If Table-in-a-Table is one, then what are the Other Four Trouble Spots of file interoperability between ODF and the Microsoft formats, you may wonder? Stay tuned on fr0mat.net, the official blog of the OpenDocument Foundation.