OOXML: the end of the beginning.

6 April 2008

So ISO rubberstamped Microsoft's OOXML, a lame excuse for an 'open' format.

The promise of ODF was that we could free the information inside office documents, making it available to new innovative programs and web services. Sadly, the real aim of OOXML was to maintain Microsoft's Office Monopoly. This created a massive conflict of interest in a large number of the committees. I wonder if society will look back at this as the moment that general progress of the information revolution was put back a generation?

Dirty tricks at ISO

One of the main problems was that ISO itself is not standardised. Having every country do its own thing has made it much easier for a single large vendor with a lot of money to subvert the process. The voice of technical reason lost out to Microsoft's cold hard dollars, and in the process ISO has lost a lot of credibility.

The national standards bodies are supposed to represent the interest of their populations, instead we had Microsoft's own employees, or employees of Microsoft's Business Partners, voting for Microsoft's standard. This is a massive conflict of interest, and it is the general public that have been shafted.

The OOXML website has made a list:

> Presence of Microsoft Business Partners has been reported in the following countries: Belgium, Brazil, Colombia, Denmark, Egypt, Italy, Ivory Coast, Kenya, Mexico, Nigeria, Portugal, Slovenia, Sweden, Switzerland and the United States of America. Furthermore, it has been reported in several countries, such as France and Malaysia, that Microsoft has lobbied the government and the responsible ministers to override the decisions of the technical committees, which spoke out against an approval of the format.

I was particularly unimpressed with BSI, the UK standards body. Did nobody tell them that Easter is over already, that we no longer need a Judas? There was over a month between the Ballot Resolution Meeting in Geneva and the vote deadline. However, the BSI publicly opposed OOXML, and in the last day or two secretly changed their vote, avoiding the British public whom they are supposed to represent. BTW, the head of the British commitee was ... you guessed it ... a Microsoft Business Partner.

Microsoft's own planet

By approving OOXML, ISO has made one hell of a mess. Not least because the so-called "standardisation process" did not involve much standardisation. OOXML is still rather un-standard in that it conflicts with a number of other standards. Here are some of the easy to understand problems:

We already have an open standard for mathematical formulae and notation, it is called MathML and is published by the W3C math working group.

  • OOXML ignores this and uses its own Microsoft-specific Maths language.

We already have an open standard for vector graphics called Scalable Vector Graphics. This was produced to replace vendor specific formats such as Adobe's PGML and Microsoft's VML.

  • OOXML ignores this and uses Microsoft-specific VML.

We have a specification (RFC 3987) for UTF-8 capable Internet addresses. This allows URLs to be written in any language.

  • OOXML ignores this and can only use Latin characters in URLs, so speakers of Chinese, Japanese, Korean and many other languages are plain out of luck.

Other standards, including OpenDocument, support any type of weekend. This is because in Israel and dozens of Muslim countries, the weekend is not Saturday and Sunday.

  • OOXML ignores this and forces you to use the Christian week. If you are a Muslim or a Jew, well tough luck.

The Gregorian calendar has been an open standard since 1582. For example, the whole world agrees that according to the Gregorian calender, the first of January 1900 was a Monday.

  • OOXML ignores this and uses Microsoft's own strange view of time. For example, according to OOXML which includes the bugs from Excel, the first of January 1900 is a Sunday, despite it being a Monday in the Gregorian calender. Indeed, no historical date can be relied on. Talking of 1900, according to the Gregorian calender, 1900 was not a leap year, but guess what, according to OOXML, it is!

We could go on and on. There are also lots of important features, macros for example, that are referred to in passing but are not defined in the specification, how they are supposed to work is still a big secret.

The biggest problem of all is that we also have ODF, a technically far superior standard. ODF is also supposed to be the standard for office documents.

Where do we go from here?

> Now this is not the end. It is not even the beginning of the end. But it is, perhaps, the end of the beginning. Sir Winston Churchill, November 1942

How does one deal with two incompatible standards? Microsoft always trots out this concept of "competing standards", but this is doublespeak; by definition if there are more than one specification then there is no standard.

Well another option is that one of the standards is ditched. That is not going to happen in the short term, it seems that positions are far too entrenched for that.

The only option left is a process of harmonisation between OOXML and all the standards mentioned above, including ODF. This was already suggested by France and others, but ISO ignored this. Well, even if ISO will not be the venue for this, the harmonisation will happen anyway, outside ISO.

You can stand under my umbrella

To start with we are going to need a 'meta-standard', an agreed mapping between ODF elements and OOXML elements. Microsoft probably won't participate in this, but that does not matter if all the producers of ODF-compliant software are on board.

The key is that when someone opens an OOXML document and saves it as ODF, that the same ODF document is produced (and vice-versa). This way, the free world can carry on with ODF regardless, and let OOXML fail on its own lack of merit.

Is OOXML an ISO standard or a Microsoft standard?

An interesting question is who controls the evolution of the 'standard'? The OOOXML specification was originally written by Microsoft staff. It was then rubber-stamped by ECMA and handed on to ISO, who made a few tiny changes and stampted it again.

However, the standard is now controlled by an ISO committee called JTC1/SC34 who are tasked with improving and stabilising it.

Microsoft may like to think that every time it produces a new version of its "Microsoft Office" product, it can just fax the changes back to ISO, but that is not how it is supposed to work, it is up to the SC34 committee and anyone should, at least in theory, be able to submit suggested amendments to the standard.

A lot of work was done in the previous stage that the Ballot Resolution Meeting in Geneva did not have time for. National standards bodies and independent experts wrote reports and draft fixes for many of OOXML's technical defects; which mostly were ignored. These should be brought back to SC34 as amendments.

Discuss this post - Leave a comment

1 Alex Willmer says...

Succinct summary Zeth, one minor correction. NOOXML made the list, I wish they were the OOXML, but that's sowehere on microsoft.com. Alex

Posted at 12:09 a.m. on April 7, 2008


2 Andy Loughran says...

It's a really nasty situation to be caught up in at the moment - as it's one of those rare breeds of topic that have so much impact on the future of information - but which fail to ignite the passion of anyone other than geeks. Us geeks can see the massive difference adopting this standard will make - however, because of the brilliant way geeks in the past have reverse engineered stuff - most people think they'll just do the same to OOXML. (that's assuming other people think, which is doubtful).

What does ISO mean?

Without government and public support, ISO means nothing. It's become a private members club. Where were the British Government when ISO was ratified. - "It's great to see that OOXML has become an ISO standard as we believe it's good for our country." It's only good for one country - America.

Forget the minnows who are going to benefit from getting Windows Software at a massive discount. Sure - it's a nice perk to be a start-up business and say you run the same software as Goldman Sachs (just an out-of-my-hat example) - but the software market is going under such a massive change with this ongoing revolution we call the 'internet' that having the 'current best' is like having the white stuff on top of a wave. It's great and that.. but it's gone too fast to be useful. Unless you were out there at the start - the white stuff is pointless.

You need paddles!

Paddles are what can get you out there in the first place. With the white stuff, you just keep coming back to the shore, often prematurely. With the paddles you can come and go as you wish..

I've only just started playing with XML and XSLT - and it's really profoundly impacted on what I believe can be acheived. Publshed XML standardization means so much for the future of Information. It's a bit like playing with LaTEX.

Some people know HTML.. imagine on this blog, the titles were all in the <head><title> XML element. You could print a list of blog titles just by pulling that information.

Now imagine a more complex document, but with publish standards that you could pull information out from.. a pie chart on sheet 7 could be integrated into a document simply by cross-referencing it's XML.

XML can be document based API for the average user.

Microsoft have broken this.

Posted at 12:15 a.m. on April 7, 2008


3 Dan says...

ISO - I Sold Out

Posted at 11:28 p.m. on April 9, 2008


What do you have to say?

Show Editing Help

Europython

About

Hello, my name is Zeth, I'll be your host here.

Command Line Warriors is about taking control of your own technology, it looks at our experiences of computing; especially using GNU/Linux, the Python programming language, the command-line and issues such as techno-ethics, best practices and whatever is cool now. If you take control of your technology then you are a Warrior too!

This site is your site too which means that you can contribute and get involved. You can leave comments using the facility provided. For me, the comments and discussions are by far the best part of the site. So please do have your say!

Latest Discussions

picsus

January 5, 2009
Monique, a Leaf fan, originate this plumb persistent to believe. Now, let me regarding out that this was in no way an try to articulate one cooperate is more wisely ...
This week in the world of the Command Line; The Friday Round up!

QuickSilver

January 5, 2009
Nice! Is there anyway to implement a ServerAliveInterval for long processes? This is because my our firewall keeps closing the connection based on inactive connections. Thanks,
SFTP in Python: Really Simple SSH

Tun

January 5, 2009
Hi, Do You know, haw can i get start date for tasks evolution? If exists the similar way to your example: i.get_due() ? I would like to have sth like ...
Three Useful Python Bindings - ClamAV, Apt and Evolution

MurreiM

January 5, 2009
This is great! http://www.youtube.com/MurreiM Buy Alli Orlistat online cheap
Filing cabinets 101 - An introduction to disk partitions

sarah

January 5, 2009
I recently came across your blog and have been reading along. I thought I would leave my first comment. I don't know what to say except that I have enjoyed ...
This Week: Freedom not Time-Bombs

jnfrlast

January 4, 2009
Hi! http://www.youtube.com/jnfrlast buy cheap viagra online
Filing cabinets 101 - An introduction to disk partitions

Samuel Huckins

January 4, 2009
Great tips! I have had occasion to do a lot of MySQL instance migrations lately, so here is an improvement for Trick 1: mysqldump <DATABASE_NAME> [mysqldump_options] | gzip -c | ...
Five useful command one liners

George Glass

December 31, 2008
I don't really see the point in trying to make linux user-friendly or take over the desktop. We rule the servers the most important element of the entire game. Let ...
Give Linux a chance

bug

December 31, 2008
@Zeth: The hidden field does block some. Not perfect, but it does release some weight from the filtering system, as those are 100% false comments. Acctually, if you would have ...
On Comment Spam

Zeth

December 31, 2008
Hi Eion, Yes that is an interesting approach also. It is the only approach given by default in the stock Django comments module, though it does not stop all comment ...
On Comment Spam

Bug

December 30, 2008
Well... Sadly, and I guess you hate me for it, I use captcha. But at least it's not an image, so even if you visit using w3m [yey!] you can ...
On Comment Spam

Eion

December 30, 2008
Other than server-side processing of comments, I like to add additional <input>'s and hide them in external css. Most of the time the fields are populated by spam-bots, and if ...
On Comment Spam

Nostoc

December 27, 2008
... Mate possible because of the dull Kg8
Ruy Lopez, Berlin defence, open variation

Nostoc

December 27, 2008
My bad, I meant the picture beneath 15, after close inspection my suggestion would be on 18. Instead of 18 : Qe2, I would have taken that knight with my ...
Ruy Lopez, Berlin defence, open variation

Zeth

December 27, 2008
Nostoc, white takes the rook on 15, the rook is a better kill than a knight.
Ruy Lopez, Berlin defence, open variation

Nostoc

December 26, 2008
I'm not that good at chess, but I have a question. At 15, why doesn't white simply take black's knight in C6 with the bishop? It's an easy kill, since ...
Ruy Lopez, Berlin defence, open variation

Zeth

December 26, 2008
CorkyAgain, good question, I don't have a FreeBSD box available at the moment so I can't comment. On Linux at least watch does as I have described.
Five useful command one liners

CorkyAgain

December 25, 2008
Is the watch command you're describing a Linuxism? On my FreeBSD box, "man watch" seems to be describing something completely different.
Five useful command one liners

Binny V A

December 25, 2008
I have actually setup a site to store just short commands... http://txt.binnyva.com/
Five useful command one liners

Bassam essa

December 25, 2008
i try this line command elinks -source "http://www.e51g.com/" > resulthtml.txt its work done :) thx
Command the Web - an ELinks tutorial