OpenDocument support in Microsoft Office SP2 (ODF)

ODF files, like HTML files, can have proprietary extensions such as Flash or WMF that hamper interoperability. It's quite possible to have compliance with a standard but reduced interoperability, and those seeking interoperability must apply further constraints to ODF or HTML.

We constrain unnecessary variation in HTML through profiles and things like the E-govt Web Standards. To a large degree testing these constraints can be automated in software like OpenWolf and Docvert (Docvert has unit tests to assert things about document structure).

The obvious question raised during the ISO OOXML process is around an equivalent to Egovt Web Standards for Office Documents. The existing scheme of regulating nothing and allowing any ole' file is harming access to information, interoperability, and competition (geddit? OLE file... oh never mind). There's a lot of unnecessary variation in file formats that needs to be controlled.

Enter, Microsoft Office SP2. As NZOSS say OpenDocument support in Microsoft Office is broken. Rob Weir (ODF Chair) has written two articles exploring the problems with their spreadsheet implementation titled Update on ODF Spreadsheet Interoperability and A follow-up on Excel 2007 SP2's ODF support. He says that this means that Microsoft Office 2007 SP2 doesn't actually comply with ODF 1.1.

Microsoft's response has been that they couldn't possible implement spreadsheet formulas because it's a draft specification, and that they'll revisit OpenFormula when it is done. Is this a reasonable explanation?

Microsoft have released two ODF implementations, a 'CleverAge plugin' and Microsoft Office 2007 SP2 so let's see what the previous attempt did. As shown the Microsoft CleverAge stored formulas like =[.A1]+[.B2]+[.C3]. Note the square brackets, presumably because ODF 1.1 says of spreadsheet formulas "Addresses in formulas start with a “[“ and end with a “]”. The approach in Microsoft's CleverAge was aligned with that of IBM Symphony, KSpread, Google Spreadsheets, and OpenOffice who also use the format =[.A1]+[.B2]+[.C3].

Microsoft Excel 2007 SP2 uses =A1+B2+C3.

This isn't an insurmountable problem... programmers could identify Microsoft Office files and modify their software to avoid [square brackets] and then hopefully millions of people will download and upgrade. This will take years to recover from. The error is enough to break interoperability amongst ODF software, to fracture ODF formulas, and it's so obvious an error that even basic interoperability testing would have revealed it.

Many standards, such as HTML5, are being implemented in draft form. The majority of OpenFormula is stable enough to be implemented and every other ODF application did a better job at formulas including Microsoft's previous CleverAge plugin. That Microsoft Office 2007 SP2 has less interoperability is inexcusable.

Currently the New Zealand Government G2009 agreement with Microsoft is being negotiatied. I hope that the government negotiators involved remember whether Microsoft talked about ODF and interoperability because SP2 is still causing vendor lock-in.

In other news OpenOffice 3.1 was released today.

Update (later that day): a quote:
SP2 has reduced the level of interoperability among ODF spreadsheets, by failing to produce conforming ODF documents, and failing to take note of the spreadsheet formula conventions that had been adopted by all of the other vendors and which are working their way through OASIS as a standard.

If we note the arguments used by Microsoft in the recent past, they have argued that OOXML must be exactly what it is -- flaws and all -- in order to be compatible with legacy binary Office documents. Then they argued that OOXML can not be changed in ISO, because that would create incompatibility with the "new legacy" documents in Office 2007 XML format. But when it comes to ODF, they have disregarded all legacy ODF documents created by all other ODF vendors and take an aloof stance that looks with disdain on interoperability with other vendor's documents, or even documents produced by their own ODF Add-in. The sacrosanctness of legacy compatibility appears to be reserved, for strategic reasons, for some formats but not others.