OOXML is REALLY BAD (But then we already knew that didn’t we?)

I know there has been a great deal of written commentary about why OOXML should or should not become an ISO standard. Just look back though this blog for many of them 😉

Recently however, Rob Weir has documented an incredibly simple, telling and fascinatingly descriptive demonstration of exactly why OOXML is such utter crap and should never become a standard in its current format. He shows how a simple formatting rule looks when saved using OOXML or ODF* based applications. See Rob’s table and comments below:

* ODF is the ISO approved standard for document formats and is used by many platform independent applications such as OpenOffice.org and KOffice.

… let’s take a look at how OOXML and ODF represent a staple of document formats: text color and alignment. I created six documents: word processor, spreadsheet and presentation graphics, in OOXML and ODF formats. In each case I entered one simple string “This is red text”. In each case I made the word “red” red, and right aligned the entire string. The following table shows the representation of this formatting instruction in OOXML and ODF, for each of the three application types:

Format Text Color Text Alignment
OOXML Text <w:color w:val=”FF0000″/> <w:jc w:val=”right”/>
OOXML Sheet <color rgb=”FFFF0000″/> <alignment horizontal=”right”/>
OOXML Presentation <a:srgbClr val=”FF0000″/> <a:pPr algn=”r”/>
ODF Text <style:text-properties fo:color=”#FF0000″/> <style:paragraph-properties fo:text-align=”end” />
ODF Sheet <style:text-properties fo:color=”#FF0000″/> <style:paragraph-properties fo:text-align=”end”/>
ODF Presentation <style:text-properties fo:color=”#FF0000″/> <style:paragraph-properties fo:text-align=”end”/>

The results speak for themselves.

What is the engineering justification for this horror? I have no doubt that this accurately reflects the internals of Microsoft Office, and shows how these three applications have been developed by three different, isolated teams. But is this a suitable foundation for an International Standard? Does this represent a reasonable engineering judgment? ODF uses the W3C’s XSL-FO vocabulary for text styling, and uses this vocabulary consistently. OOXML’s representation, on the other hand, appear incompatible with any deliberate design methodology.

I fear that before we can tackle harmonization of ODF and OOXML, we will first need to harmonize OOXML with itself!

I love how convoluted and completely indecipherable the OOXML representations are; and they are all different depending on which application you use! It’s laughable really.

Honestly, how on earth can the US NB, for example, have just announced their decision to vote yes to OOXML unless they have been thoroughly corrupted – as have so many other of the ISO National bodies and sub-committees involved in this whole sorry saga.

To my mind there will be two losers if OOXML becomes IS-29500:

  • Us – That’s all of us as consumers and users of electronic documents
  • ISO – They have already lost a great deal of respect and credibility. If OOXML passes they will have none left. They will become an irrelevance in technology standards at least.

I can see the IETF (The body responsible for much of what has made the Internet work) becoming a far more important standards setter going forward…