Wednesday 5 September 2007

OOXML fun and games

If you're an average home user, then I know what you're thinking:

"I can't wait to hear the latest news about the emotional rollercoaster that is Office Open XML."

I hope you all noticed the slight hint of sarcasm there. The fact is, no average home user (at least no-one who fits within the currently accepted definition) will care about whether the new default file format for Microsoft Office complies with international standards. They will just want to start the program, create the document, save the file and open it again later.

Of course, that doesn't necessarily mean that it isn't important for some people. In fact, it's causing uproar in the tech community. It has a bias towards English and uses a non-standard dates system. Another major point is that there is already a standard open file format that's used by products such as OpenOffice (it has that format set as default). With all that in mind, how can the computer companies and geeks create fully working programs that are suited for the average user which uses that format?

For those who understand XML (eXtensible Markup Language), this is an excellent article and exposes the major flaws - including my personal favourite which is that the files described in this ECMA standard for Office Open XML don't actually exist due to programs wrapping it in proprietary technologies.

ECMA (European Computer Manufacturers Association) has a process that allows you to 'fast-track' something towards becoming an international standard, something which is ultimately decided by the ISO (International Organisation for Standardisation). If the only place where OOXML is used (Office 2007) changes it in such a way which means it no longer complies with the ECMA document, how can the ISO possibly make into an international standard?

If it is, then one of three things could happen:
  1. To enable other programs to interop with the files, companies would have to buy a licence to use the proprietary parts or attempt to reverse engineer everything (the latter has been done with the .doc format in OpenOffice, but it won't necessarily be 100% perfect)
  2. No custom program manufacturers will use the format. This would mean communication problems between software and they will end up using another format (probably the old-style MS Office formats or OpenDocument(used in OpenOffice))
  3. Everyone would have to adopt Microsoft products
I would prefer the second option.

Other criticisms of OOXML include the use of VML (Vector Markup Language). This is something which (apparently) has little documentation and no library to use in programming. The proposed standards document for this was rejected by the W3C (World Wide Web C) due to their being a competing format at the time. Instead, the two were combined to form SVG (Scalable Vector Graphics). VML is also used in Internet Explorer 5+. The documentation states that VML is only included for legacy purposes, but constantly building on top of things leads to a cumbersome and unmanageable nature. It would be better to just scrap the use of VML which would then make it more stanrdards compliant. Microsoft could even make use of the already-accepted SVG.

According to this article on Ars Technica, the Linux Foundation are pleading to countries to say no to the OOXML format. There is also a petition that you can sign (I've done that).

ISO have recently rejected an initial fast-track submission, but it could still be accepted if Microsoft address the technical queries. If it's accepted after that though, a patch would have to be issued so that the original version of the format (already in use on a number of machines) can be changed.

The O'Reilly Radar - a major tech news source - has widespread coverage of this story and it's journalists also criticise the format. You can find further articles about this on Opportunity Knocks and CNET. Bit-Tech has an article about this too.

I consider this to be a PR disaster for Microsoft.

So, what do you think?

Technorati tags: OOXML, Microsoft, ISO, ECMA