Mary Jo takes on the recently released Burton Group Report comparing OOXML and ODF. Peter O'Kelly, one of the Burton Group authors, once famously said, "ODF is a great format if you live in an alternative universe where MSOffice doesn't exist!"
This observation speaks to the core problem facing ODF and those who seek to implement the ODF standard: ODF was not designed for the conversion of MSOffice documents. Nor was ODF designed to work with MSOffice applications.
Another way of saying this is to state that ODF was not designed to be interoperable with MSOffice documents, applications and bound processes. The truth is that ODF was designed for OpenOffice/StarOffice. It is an application specific format.
Both OOXML and ODF do a good job of separating content from presentation (style). The problem is that the presentation - layout layers of both ODF and OOXML remains bound to specific applications producing it. While the content layers are entirely portable and can be exchanged without information loss, the presentation layers can not.
Microsoft makes no bones about the application specific design and purpose of OOXML. It's stated right in the Ecma 376 charter that OOXML was designed to be compatible with MSOffice and the billions of binary documents in MSOffice specific binary formats. The situation however is much more confusing with ODF.
ODF is often promoted as being application, platform and vendor independent. After five years of development though, the OASIS ODF TC has been unable to strip ODF of it's OpenOffice/StarOffice specific aspects. ODF 1.0 - ISO 26300 had three areas that were under specified; meaning these areas were described in syntax only, and lacked the full semantics demanded by interoperable implementations. Only OpenOffice and StarOffice code base applications are able to exchange documents with an acceptable fidelity.
The three under specified areas of ODF are: Lists (numbered), Formulas, and Layout - Presentation (styles).
ODF v 1.2 will deal with the formula problem, but this version is still in committee - perhaps years away from ISO approval. The List model in ODF 1.2 further aggravates the existing interop problems. And the presentation-layout problem is not dealt with at all. Meaning, we can expect the ODF Interop problems to continue far into the future.
There is a solution, but not what people think.
Most observers think that it's possible to harmonize ODF and OOXML. This is wishful thinking. Since both ODF and OOXML are application bound at the presentation layer, the only way to harmonize them would be to harmonize the applications themselves. Meaning; alter how the applications implement basic document structures such as lists, tables, sections, fields and page dynamics so that the implementation models are similar. This would involve serious compromise of what each application provider considers to be innovative feature sets.
Efforts to harmonize at the application layer will not work. The vendors, Sun and Microsoft, are unlikely to compromise on their innovative differentials. And there is no hope of changing the application specific formats unless and until the application providers consent.
The solution that will work is that of relying on converters. While everyone wants MSOffice to implement ODF, this is structurally impossible unless a subset of ODF is designed for this purpose. And the OASIS ODF TC has already rejected six different subset proposals designed for compatibility with MSOffice and the conversion of billions of MS binary documents.
It's also impossible to convert from one application specific format into another without significant information loss. Maybe if Microsoft and Sun were to completely specify the presentation - layout layers this problem could be lessened. But that's unlikely to happen.
So what to do?
Convert to a generic format designed for universal interoperability!
The W3C's CDF was designed for universal interop. It is totally application independent, building on combining basic document structures within the XHTML - CSS - XForms - SVG framework. CSS in particular is an extremely portable presentation layer!
Given that the large application vendors are unlikely to compromise, the W3C's CDF may be the only solution possible. The idea being to convert MSOffice documents (binary and OOXML) to CDF, and, similarly convert OpenOffice/StarOffice ODF documents to that same CDF profile.
At this higher level of Web ready CDF, there is universal interoperability. But the solution does put incredible pressure on the conversion layers.
This approach looks very similar to the SOA model where XML connectors are routinely used to wire together legacy systems. A common XML schema is used as the conversion layer connecting many black box information systems, with each connector having to be written and implemented. From the common schema, the legacy systems can be wired into emerging Web information systems, creating a fairly good information flow. Interoperability between systems might not be perfect (it depends on the quality of the individual converters – connectors), but it is usually far beyond the zero interop of previous generations!
What i'm suggesting is that document interoperability can be achieved following a similar route to that of SOA. The legacy applications can be wired together using an advanced conversion layer connecting the applications to a common XML configuration. The W3C's CDF has the flexibility and reach to capture the richness of our desktop productivity legacy. The SOA approach allows us to continue to leverage that desktop application value without having to rip out and replace. Which is costly and disruptive to existing business processes.
~ge~