Given that Microsoft's recent release of Office 2007 SP2 includes native support for the ODF file format, it was only a matter of time before Rob Weir (IBM) would find something he didn't like about it. On Sunday, May 3, he wrote a blog post entitled, "Update on ODF Spreadsheet Interoperability," saying that Microsoft had coded to the wrong behavior. He notes, "But I cannot fail to notice that the same application -- Microsoft Excel 2007 -- will process ODF spreadsheet documents without problems when loaded via the Sun or CleverAge plugins, but will miserably fail when using the "improved" integrated code in Office 2007 SP2. This ain't right."
Doug Mahugh (Microsoft) issued a returning salvo on Tuesday, May 5, in the form of a blog post entitled, "ODF Spreadsheet Interoperability." When Doug walked through Rob's documented steps, he found that Office 2007 did a better job of rendering the OpenOffice.org-created spreadsheet than Lotus Symphony (e.g., Days to Go equals "102" [Excel] rather than "of:B4-B3" [Symphony])."
I recommend that you read both blog posts, in that they highlight the complexities of coding to an ever-evolving open standard. However, look at the blog posts as an educational exercise--try to understand the arcane details, but don't get taken in by them. While the vendors would like you to believe that, "We're right--and they're wrong," the takeaway is the larger picture of, "ODF interoperability isn't here yet." Let me explain.
The whole reason for this debate is that ODF did not initially define formulas. If early versions of ODF had defined formulas, we’d never have this battle of the blogs. At the time that ODF came into being, it was clear that coming up with a standard for formulas was going to be a long and contentious battle. There were two schools of thought—(1) the "let’s take our time and do it right school" and (2) the "we can’t afford to wait; we’ll figure it out later" school. School #2 won.
In the ensuing standards vacuum most people decided to accept what OpenOffice.org was doing. That de facto standard strategy worked quite well for awhile. OpenOffice.org and Sun StarOffice used the same codebase, and then Lotus Symphony pulled its code from OpenOffice.org as well. However, this strategy started to fall apart as others (especially Microsoft) started to use the ODF spec and questioned the huge hole of, “How do I a write a conforming spreadsheet app if there’s no standard for formulas?” The Open Formula syntax (included in the yet to be approved ODF 1.2 standard) is the eventual answer.
To summarize, this in-between time (between the OpenOffice.org de facto standard and the wait for the officially approved 1.2 standard) means there isn't one way to handle this problem. The vendors would like you to believe that there is (their way), but in reality there isn't. Ultimately, this will resolve itself over time. ODF 1.2 will be approved, and there will finally be an approved standard that everyone--IBM, Microsoft, Sun (Sun/Oracle)--can follow.
Until then, if an enterprise does want to use ODF, the best strategy is to stick with one productivity suite as a way to avoid these interoperability problems. That way, even if formula support is idiosyncratic, it at least will be consistent within the enterprise.
![Reblog this post [with Zemanta]](http://img.zemanta.com/reblog_e.png?x-id=9f1a59f0-89a3-4d5a-a10f-2b973cebdfb4)


I think the real problem is not so much around standards. As mentioned, the formula syntax is available and going to be a standard with ODF 1.2.
The real problem is MS intentionally breaking compatibility. It was not that they didn't know better. This is bad for their customers and bad for open standards. It is being done in order to harm ODF.
Posted by: Arnd Layer | May 08, 2009 at 05:35 AM
I agree with Arnd, Microsoft intentionally broke the compatibility, in the same way that IBM intentionally broke the compatibility with Symphony.
My only question is, why would IBM intentionally break compatibility and if IBM did not intentionally break compatibility and just made a mistake of some sorts, Microsoft surly should not be allowed to make the same mistake. Only IBM is allowed to make mistakes.
Oops, maybe the argument is just mud slinging and nobody did anything intentional.
Posted by: Dwight Wilbanks | May 08, 2009 at 10:03 AM
Well.. why didn't MS pull the code for OOo and look at how they were doing it.. then just do it that way... it's not like they couldn't see the code... IT"S OPEN SOURCE...... seems to me like COMMON SENSE ...... but.. alas... i guess that was/is to much to ask..
Posted by: Petem | May 08, 2009 at 12:03 PM
Well, OO.o code is under a variety of open-source licenses, including LGPL 3, so you can imagine this might be too much of a poison pill to feed into the Excel codebase?
It may be that using the Clever Age translator add-ins might be better, or the Sun one which offers compatibility with StarOffice and OpenOffice.org spreadsheet formulas. If they work so well at this, there is clearly an alternative, although not out of the box with Excel 2007 SP2.
In addition, this is about having Excel 2007 exporting ODS files in ODF format. That means that they are essentially OOXML SpreadsheetML formulas or the internal Excel equivalent. One obvious thing for Microsoft to want to do is at least be able to round-trip fully with themselves and handle all Excel 2007 formulas that they can. Hence they used the approved ODF 1.1 namespace mechanism for identifying use of a custom formula mechanism. (OO.o does the same thing but with a different namespace and formula syntax, as this blog post points out.)
Whether the workaround that Rob Weir suggests is something that would work for Microsoft as an alternative or some sort of optional save-as choice, is an interesting idea. It is difficult to tell how that would have helped or hindered among Excel 2007 users. It is not a bad idea, but neither Rob, me, or anyone else outside of the Microsoft Office team and management knows what the difficulty would be and how much of a distraction it would be instead of going for OpenFormula as quickly as possible (if OpenFormula would only march toward approval more quickly than it has been so far).
As a first effort, it strikes me as reasonable to want to get cleanly out of Excel and back first though I don't know if that was the deciding factor for MSFT. Whether we will see more transitional accomodations (and the additional legacy support they introduce) remains an open issue, it seems to me.
Posted by: orcmid | May 08, 2009 at 04:40 PM
When you are in not good state and have no cash to go out from that point, you would have to receive the personal loans. Just because it will help you emphatically. I get term loan every year and feel good just because of it.
Posted by: Frances35Mcintosh | July 04, 2010 at 03:52 PM
It is difficult to tell how that would have helped or hindered among Excel 2007 users.
Posted by: Club Penguin Cheats | July 24, 2010 at 05:32 PM
i love this blog. thanks for the information
Posted by: swiss replica | July 26, 2010 at 08:29 PM
Well.. why didn't MS pull the code for OOo and look at how they were doing it.. then just do it that way...
Posted by: Replica jerseys | August 09, 2010 at 08:01 PM
I find it difficult to subscribe RSS feeds, bookmark this site anyway I have is a very useful and complete information.
Posted by: elliptical for sale | August 11, 2010 at 04:42 AM
It may be that using the Clever Age translator add-ins might be better, or the Sun one which offers compatibility with StarOffice and OpenOffice.org spreadsheet formulas. If they work so well at this, there is clearly an alternative, although not out of the box with Excel 2007 SP2.
In addition, this is about having Excel 2007 exporting ODS files in ODF format. That means that they are essentially OOXML SpreadsheetML formulas or the internal Excel equivalent. One obvious thing for Microsoft to want to do is at least be able to round-trip fully with themselves and handle all Excel 2007 formulas that they can. Hence they used the approved ODF 1.1 namespace mechanism for identifying use of a custom formula mechanism. (OO.o does the same thing but with a different namespace and formula syntax, as this blog post points out.)
Posted by: Soğutma Büyüsü | August 17, 2010 at 12:46 AM
Well.. why didn't MS pull the code for OOo and look at how they were doing it.. then just do it that way...
Posted by: replica jerseys | August 17, 2010 at 05:08 AM
This is good stuff. I am always looking for such great content to forward to my readers.
Posted by: Apricot Tree | August 17, 2010 at 09:55 AM
It's a good thing. I look forward to so much content to my readers.
Posted by: best home insurance | August 18, 2010 at 11:07 AM
Ah hah, I was just looking at the joy of baking recipe today and I went out and bought the only ingredient I didn't have- punkin
Posted by: louis vuitton | August 31, 2010 at 01:27 AM
wow all those garments are so amazing and fabulous I don't come to your blog as often as I would like, but whenever I do I see some really amazing things keep up the good work! =)
Posted by: baseball cap | September 01, 2010 at 09:23 PM