Interoperability of the Office Open XML formats

A comment was posted today that had a lot of thought put into it and rather than just replying to it in the comments stream I thought it would be worth talking to directly. I have to apologize for not replying sooner to it, as it looks like John actually originally posted this a week or so ago (thanks for reposting it John). Here is what John had to say:

Sorry for posting twice, but it kinda sunked in your forum ...

Hello, Brian,

I have been reading your blog nearly since it started. Let me first stae that i have been using Office at work for nearly 10 years. Great piece of software, I like it. But, one main nasty thing is inside. That beast is creating things that can be readed only by herself.

Sad to say, my initial thoughts have come true. The game on interoperability which you play on behalf of Microsoft is very strange. Here is why.

  1. The main reason why you started with interoperability was extreme pressure from governments, companies and users, who were for years locked in your own DOC, XLS, and PPT formats, and nobody in the galaxy except your Office (moreover:last version of it) could properly open the files created. I have been dealing with this as a network administrator for a long time.
  2. Your marketing guys know the power of this. They know, that the main selling point for Office is not the interface, not its user friendliness, not its relatively low system requirements, but the fact that they and only they can offer their customers compatibility with their own created documents.
  3. But because of that extreme pressure, you must have reacted some ways. So you decided
    1. to create your own format, which will be somewhat documented, but so complicated that nobody in the world at least for next 2 years will be able to open files the same way as your last Office 2007 will. Really great window for competition. You will have open format, but your mantra - real world compatibility with documents - will be again possible - only by your software. Aim achieved.
    2. constantly show the imperfections on ODF. Maybe it is true - but your format also make step-by-step approaches .. i am not very much into this kind of stuff, but from i ahve read on your blog, it is clear. Every draft of OpenXML is cheered with passion, and strange problems with ODF are analyzed. Even they are real - why this approach? You know why ... the reputation of ODF must be diminished. Aim achieved.
    3. put the conversion job to another company, which you sponsor. That is also great for you, because the users (when the converter won't work perfectly - and it won't, primarily because it CAN'T, your marketing does not want this) will not blame MS, but that poor CleverAge company or what their name is. So you will kinda support that bad nasty ODF format, just to respond to the requests. But you will not be responsible for the software that is doing it. Aim achieved.
  4. You are doing this in spite of that you still can't sell the software that is doing this all ... called vaporware, I know that Office 2007 will deliver finally. But all this hype and type is here with good reason ... to make users forget, that now and for many more months they are still stuck will DOC, XLS and PPT Office 2003 version, which are good everyday work tools, but still continuing create the files in closed formats, despite all that talk about new interoperable ones. That's why you CAN talk about those gazillions of documents created and having responsibility about - if you did not lock your users, you would not have that responsibility. Your users did not want you to take one. And by this talk, you are masking the fact that you gained one more year (at least) of creating it. Aim achieved.

Finally, I am impressed by what Microsoft has done. You are talking about all what your customer wants, blah, blah. But the single thing you are capable and really wanting to do is to deliver your next version of Office, which will be great and i will use it .... but still not able to feed the interoperatibility beast. It would be fair to say, that it was never your goal anyway. If it were you would

  1. develop the two sided converter OpenXML-ODF on your own, stop bitching about its imperfections and glitches, and seamlessly integrate it into Office without all this hype. If your developers are having short-time of problems, you could have bought a company or employ people which are doing it. You did it many times in history - Windows Defender being the last example.
  2. as a member of nearly all the file format commitees in the world, be constructive and not obstructive. If you managed to create another "open" format, focus on its interoperability and not the glitches in other formats. Your goal is to work with them as well as possible, just as the other world must have dealt with yours.
  3. make a version of Office viewer (at least !) or editor for other OSes, the same way as you did with Internet Explorer, when you wanted to gain market share - you even did it for Solaris! and Windows 3.11! And stop telling the world such a things that it is not possible because of this and that. The case of IE shows that Microsoft can do everything to gain its market share.

But, you will never do those things, and many more which you could for real interoperability. That word is just a cliché for Microsoft, only working as a one-path migration to your products. And then there is no way back.

John

I'll actually reply to each point separately and hopefully this will help clear things up.

Reason for building an interoperable format

The main reason why you started with interoperability was extreme pressure from governments, companies and users, who were for years locked in your own DOC, XLS, and PPT formats, and nobody in the galaxy except your Office (moreover:last version of it) could properly open the files created. I have been dealing with this as a network administrator for a long time.

This is definitely not true, and I'm sorry if I haven't done a good enough job of explaining why we've been moving towards open formats for years now. The initial binary formats were designed back in a time when performance of reading and writing from a floppy disk were more important than shared documents via the internet. Things have obviously changed dramatically since then, and we've been working on HTML and XML formats since back in the late 90's. The whole reason we wanted to move to an open format was that it increases the value of Office as a platform. That's a direct benefit to us. Look at the example I gave earlier this week of MindJet using the Open XML format. That kind of interoperability with Office is a huge value add not just to our customers but to us. We didn't move to open formats simply because there were a few of us who were morally opposed to closed formats. We are developers and we get the most excited when thinking about all the things people can build if we open our formats. We moved to open formats because it was the best business decision, and the more people building solutions and operating of Office documents, the better.

Now, if you actually were talking more about the standardization and licensing pieces, and not the open/transparency piece, then you are slightly correct. We wanted the license to be open because (as I said above) the more people building on top of our formats the better. We went with what we thought was a good royalty-free license (meaning you don't have to pay anything to Microsoft) back in 2003 for the Office 2003 reference schemas. We had also planned on using that same approach with the new Office Open XML formats, but we started to get feedback specifically from those in the open source community that the royalty-free license was still too restrictive. So last fall we changed our approach and moved to use the CNS which was essentially a non-assertion statement where there was no obligation on the developer (no license required). We simply state that you can use the formats as you wish and if we have any patents on the format we promise not to enforce them. This was very well received, and open source lawyers such as Larry Rosen came out and stated that the approach was good. We have since started to apply this same approach to other Microsoft technologies as you may have read about last week.

In terms of the standardization, that decision was definitely strongly influenced by governments. We'd always planned on having rich complete documentation for the formats, because otherwise no-one would use them and it would have defeated the purpose of all the work I've been involved with (I certainly didn't want to waste the past 6 years of my life). We had a number of governments tell us that they would be more comfortable if we gave the formats to an independent standards body so that regardless of what happens to Microsoft, the documentation for the formats will always be available. It's really a matter of stewardship of the documentation. Aside from the management of the format issue though, we've actually significantly benefited from the standardization process because it's given us more opportunities to work with customers, partners, and competitors on ensuring that the formats truly are interoperable. There were actually some areas that we'd completely overlooked but the Ecma TC pointed them out and as a result changes were made. This is very obvious just by looking at the differences between the initial submission and the most recent draft.

Compatibility with existing documents

Your marketing guys know the power of this. They know, that the main selling point for Office is not the interface, not its user friendliness, not its relatively low system requirements, but the fact that they and only they can offer their customers compatibility with their own created documents.

You are absolutely 100% correct that compatibility with the existing base of Office documents is crucial when we sell versions of Office. We have entire teams dedicated to backward compatibility and migration issues that may come up. That was why we had to continue building on our own XML formats rather than switching over to another format like ODF.

Focus while developing the Open XML formats

But because of that extreme pressure, you must have reacted some ways. So you decided

  1. to create your own format, which will be somewhat documented, but so complicated that nobody in the world at least for next 2 years will be able to open files the same way as your last Office 2007 will. Really great window for competition. You will have open format, but your mantra - real world compatibility with documents - will be again possible - only by your software. Aim achieved.
  2. constantly show the imperfections on ODF. Maybe it is true - but your format also make step-by-step approaches .. i am not very much into this kind of stuff, but from i ahve read on your blog, it is clear. Every draft of OpenXML is cheered with passion, and strange problems with ODF are analyzed. Even they are real - why this approach? You know why ... the reputation of ODF must be diminished. Aim achieved.
  3. put the conversion job to another company, which you sponsor. That is also great for you, because the users (when the converter won't work perfectly - and it won't, primarily because it CAN'T, your marketing does not want this) will not blame MS, but that poor CleverAge company or what their name is. So you will kinda support that bad nasty ODF format, just to respond to the requests. But you will not be responsible for the software that is doing it. Aim achieved.

Hmm, I'm afraid I may have appeared more critical of the ODF format than I really ever intended. Let me address each of these:

  1. Somewhat documented? Have you read the spec? I've actually heard the criticism that it's overly documented, but not "somewhat." We go into great detail on every single element in the spec. Not only that, we have a separate part of the spec that is a few hundred pages on its own and it designed to be the ultimate "tutorial" for using the spec. We have bent over backward to document every single thing that could possible exist in these formats. Is it complex? You Bet! I don't think anyone has the delusion that you could build the equivalent of Office overnight. Word, PPT, and Excel are extremely powerful application and there is nothing else out there that comes even close to matching the feature set. So if someone wanted to build an application that matches, they will have some work ahead of them. You don't have to implement the whole spec though (look at the MindJet guys). There will be plenty of people who come along and don't want to go to the point of matching Office feature for feature. Instead they'll want to build more lightweight applications and that is absolutely attainable. That's the key scenario we had in mind when we developed these formats in the first place.
  2. If you look at my blog, I probably spend less than 5% of my time discussing ODF. The only reason I talk about it is that people have asked me why we didn't use it as our default format. A simple "it wouldn't work" answer obviously isn't good enough, so I had to show specific examples to help explain my view. ODF is perfectly fine for some scenarios and not for others. Open XML is perfectly fine for some scenarios and not others. HTML is perfectly fine for some scenarios and not others. DocBook is perfectly fine for some scenarios and not others. The reason I get excited and talk up the progress on Open XML is that I work on the thing. It's my baby and my coworkers, my fellow Ecma members, and I am extremely proud of the work. Look at the IBM and Sun blogs discussing ODF and compare that to my blog. Who is being more critical? Most of the ODF supporters dedicate the majority of their time criticizing everything we do.
  3. Here in Office, we get thousands of feature requests from our customers. Unfortunately we can't do everything, and ODF support wasn't even on the radar until late in the game. I think the fact that we've help create this open source project and are offering resources to help drive the project is awesome. The fact that it's an open source project that allows for 100% transparency is even better. If people don't like how the converter works, they can offer suggestions for how to make it better. I want it to work because it's a great example of the power of open XML formats.

Office 2007 vaporware?

You are doing this in spite of that you still can't sell the software that is doing this all ... called vaporware, I know that Office 2007 will deliver finally. But all this hype and type is here with good reason ... to make users forget, that now and for many more months they are still stuck will DOC, XLS and PPT Office 2003 version, which are good everyday work tools, but still continuing create the files in closed formats, despite all that talk about new interoperable ones. That's why you CAN talk about those gazillions of documents created and having responsibility about - if you did not lock your users, you would not have that responsibility. Your users did not want you to take one. And by this talk, you are masking the fact that you gained one more year (at least) of creating it. Aim achieved.

What do you want me to do here John? We're working as fast as we can to get Office 2007 and the Open XML formats out the door. We're providing free updates to older versions of Office that allow them to read and write the formats. We're standardizing the formats and providing thousands of pages of documentation that describe every last detail about how they work. Do I wish we already had this all out there? Of course! It takes time though. Office 2000 users have the HTML and RTF formats available. Office XP users have the HTML, RTF, and SpreadsheetML formats. Office 2003 users have the HTML, RTF, SpreadsheetML, and WordprocessingML formats. And once Office 2007 ships, they will all have the Office Open XML formats as well. We're working on it Jon, but it takes time.

Interoperability as a key pillar of Office 2007

Finally, I am impressed by what Microsoft has done. You are talking about all what your customer wants, blah, blah. But the single thing you are capable and really wanting to do is to deliver your next version of Office, which will be great and i will use it .... but still not able to feed the interoperatibility beast. It would be fair to say, that it was never your goal anyway. If it were you would

  1. develop the two sided converter OpenXML-ODF on your own, stop bitching about its imperfections and glitches, and seamlessly integrate it into Office without all this hype. If your developers are having short-time of problems, you could have bought a company or employ people which are doing it. You did it many times in history - Windows Defender being the last example.
  2. as a member of nearly all the file format commitees in the world, be constructive and not obstructive. If you managed to create another "open" format, focus on its interoperability and not the glitches in other formats. Your goal is to work with them as well as possible, just as the other world must have dealt with yours.
  3. make a version of Office viewer (at least !) or editor for other OSes, the same way as you did with Internet Explorer, when you wanted to gain market share - you even did it for Solaris! and Windows 3.11! And stop telling the world such a things that it is not possible because of this and that. The case of IE shows that Microsoft can do everything to gain its market share.

I hope I'm not being too redundant here, but interoperability was a huge goal. That's the reason for the Office Open XML formats as well as the custom defined schema support. Let's address these three points individually:

  1. I already talked about this above. We get thousands of feature requests and we can't do them all. The most important thing we focused on in terms of interoperability were the Office Open XML formats. There's no way I wanted anything getting in the way of making that format the best it could be. Requests for ODF support didn't come along until much later, and at that point it made the most sense to help start an open source project. We care deeply about the success of the project. I've personally helped answer questions on the formats so the transformation can be as good as possible. It's an amazing example of the power of open xml formats.
  2. We haven't done anything to interfere with the ODF formats development and standardization. We were on the ISO committee that approved ODF, and we didn't raise any objections. We've never been opposed to ODF. The only thing we've been opposed to are governments mandating ODF exclusively. The only times I've said negative things about ODF are when I try to explain why ODF was not an option for us in terms of a default file format.
  3. We have a free XSLT available that goes from WordprocessingML to HTML from Office 2003. There are already projects up on openxmldeveloper that are trying to do the same thing with the Office Open XML formats. I'm sure that people will build all kinds of viewers. I don't think we're going to shift resources on the Office dev team around to build a Linux viewer, but we'll definitely help out as much as we can if other folks want to build one. I think the first thing we'll see are Open XML -> HTML filters which can be used on any platforms. We'll probably also see folks leverage the converter project to build standalone Open XML -> ODF filters. I've never said a viewer isn't possible, not sure where you got that from.

Thanks

John, thanks again for taking the time to write up all that feedback. I hope that my answers helped you out.

-Brian