Tuesday, May 27, 2008

Follow up on Microsoft latest bullshit announcement

Stéphane Rodriguez, May 2008

Previous articles :
- Microsoft latest bullshit : native support of ODF in Office 2007
- Custom XML? What Custom XML?
- Backwards compatible? One more lie by omission
- Bad surprise in Microsoft Office binary documents : interoperability remains impossible
- Typical B.S. in technical articles about OOXML
- The truth about Microsoft Office compatibility
- OOXML is defective by design

A quick article to follow up on the latest Microsoft bullshit. There is a lot of floating rot in the air at the moment. The blogosphere is breezing with wild rumours, and tech reporters take great care echoing Microsoft PR press pass without a slight of skepticism. I want to take the time to explain what is really going on.

Microsoft has won. They wanted the ISO timestamp. They got it. They needed it since governments (and the EU) want such thing for documents now.

OOXML? It’s just a rough spec, as it has always been with Office file format specs in the past. The share of undocumented stuff in that document is the same than in the past, and I don’t think that it is even intentional. To understand why this is the case, you only have to consider the fact that Microsoft was not prepared to go to ISO when they were working on Office 2007. They got caught by surprise. Then, when government pressure increased, they rushed the spec through with some of the internal documents they had. But it is important to understand that those documents are handy when you have the source code with it, otherwise it’s just a puzzle and any implementer has to go through reverse engineering to really implement anything significant of it. I know this all too well, having been playing this game for many years.

Of course, the ISO process was a farce. With all the money they have, Microsoft went through $$ECMA$$$ rubber timestamp organization, and then ISO, an even more grotesque clique.

The delay on supporting OOXML? If you believe Microsoft is having a hard time supporting their own file formats, I think you did not get the memo. Most changes checked in through the February 2008 BRM (final step of ISO) were just cosmetic ones. Those who blogged on the BRM made it very clear that Microsoft insisted that no change that would break Office 2007 documents would be accepted. Estimation of time needed to implement the "changes" : a few days. Remember also that the Office team at Microsoft is a thousand people group. In fact, those changes are more appropriately called "migration changes", since they are not "breaking changes".

Let's take two examples :
- ISO 8601 dates : ISO 8601 dates were implemented in Excel 2003 already. You can easily try that by saving a spreadsheet file as "XML spreadsheet (.xml)" or "XML data (.xml)" in Excel 2003 or Excel 2007. Microsoft changed their mind in Excel 2007.
- VML : Microsoft will simply put VML under a DrawingML namespace and call it part of DrawingML despite the fact that implementers will continue to be burdened by a redundant graphics file format. In addition, the existing documents containing VML generated by Microsoft Office (MHTML, WordML 2003, ExcelML 2003, PowerpointML 2003, some substantial features in WordML 2007, some substantial features in ExcelML 2007, some substantial features in PowerpointML 2007) guarantee that VML has to implemented by any serious competitor. Worse, with VML and its variants over the years, this is as much variants to implement. This has a name : fire and motion. And the goal is to protect Microsoft Office's bottom line.

The native (and naive) support of ODF in Office 2007? That is a trick to please governments (and the EU) so that Microsoft appears as a nice group of folks, not the digital nazis that they are. The implementation of ODF will be horrible, the inter-application capabilities such as copy/paste will be inexistent. And implementing ODF 1.1 when ODF 1.2 is already available is a move intended to stall ODF forever.

Future of OOXML? There are two answers. Frankly, who freaking cares the paper? This paper will ALWAYS be at odds with the actual Office implementation. We have a good example for the time being, but it has always been the case. What about the actual file format then? It will be the subject of reverse engineering from implementers whose only recourse is to catch up all the undocumented stuff. Make no mistake though, now it's about applications, not documents anymore.

Conclusion : if you are still in the OOXML conspiracy game, about time to move on guys.