The Go-Between Format
By webmink on Jul 09, 2007
While I was considering the power plugs that appeared in last Friday's posting, it struck me that there was an untold story worth considering there. The plugs are from a replacement power supply I have now used several times for various gadgets. At one end is a block with a dial for me to select a voltage, into which I can insert a mains flex. At the other, the lead terminates in a two-pin female connector. I can then select the tip that works with my gadget and insert it in the end of the lead, selecting the polarity in the process.
It's not perfect, but this device solves the vendor-imposed mismatch by offering an intermediate connector that allows close to an any-any match. Looking at this I realised we may all have lost sight of the problem we set out to solve in 2002 with what's now called OpenDocument Format (ODF).
What we wanted was an equivalent (better!) solution for portability and longevity of editable documents. The way this was being achieved in 2002 was actually not by the plugs themselves (all the various then-undocumented binary formats called ".DOC") but rather by an intermediate format, Rich Text Format (RTF). Weakly specified and widely implemented, this was the way most of us created word-processing documents that we could be reasonably sure would be opened on any platform in any word processor.
While an RTF specification is now available (ironically not in RTF format), the problems it presented - and still presents - make it unusable as an open standard with open source implementations. Why? Well, reasons include:
- The license is incredibly restrictive;
- The specification has no participative process to control its evolution so changes at random;
- It's too weakly specified for rigour in implementation across many platforms;
- There is no open source reference implementation;
- Because it has been tracking MS Word for years, there is no one version everyone is implementing.
So I wonder if people have been incorrectly comparing OOXML and ODF? Surely the correct comparison is of ODF with RTF? And surely, regardless of the state of OOXML, the problem remains and ODF is the best solution for it, providing a baseline interchange format we can all use?
Just in case you need inspiration from the plug tips too, see what they say to you in this brief animation my son made.