In Office SP2, Microsoft manages to reduce interoperability

Summary: Microsoft Office SP2 claims to have a fully compliant version of ODF, and that's probably true, as defined by the specification. It's just completely useless at interoperating with other vendors' products. This is not interoperability; it's an attack on the very concept.

Microsoft recently released service pack two (SP2) for their flagship office product, Office 2007. As I'm not a user of Microsoft products, normally I wouldn't have noticed, but Office 2007 SP2 had an important new feature for users of Open Source office productivity software that made me pay attention. SP2 contains Microsoft's first native implementation of the file format Open Document Format (ODF), originally created for Sun's Open Source OpenOffice product. ODF was standardized by the International Standards Organization (ISO) before Microsoft's rival Office Open XML (OOXML) and is seen as the competitor to Microsoft's offering for the future of XML based office file formats, so Microsoft implementing it in Office is a big deal.

With the implementation of ODF in SP2, we finally have one portable office file format, accepted and implemented by most office productivity software. That's the theory, right ? The devil, as always, is in the details.

IBM's Rob Weir, chair of the ODF Technical Committee and one of the people involved in the design and standardization of ODF examined Microsoft's implementation of spreadsheet interoperability. He specifically looked at the case of spreadsheets using formulas (which in practical terms is most spreadsheets that users would create and use), and he published his findings here.

I'm not going to go into great technical detail of what Microsoft actually did wrong in their implementation; Rob does an excellent job of that in his blog. Let's just look at  an overview instead. In short, Microsoft managed to reduce interoperability between office productivity software by their implementation of ODF inside SP2.

How can this be ?  After all, ODF is an ISO standard. Surely if you implement a standard fully, which Microsoft claims to have done in SP2, then you must have an interoperable product. So long as others also implement the standard as written, then everything should just work together. That's the way things are supposed to work.

One of the reasons is that standards themselves are often not perfect. Microsoft and their attendant band of astroturf bloggers are already raising a hue and cry over Rob's findings, claiming the ODF standard itself is at fault, and in some cases calling for his resignation as chair of the ODF Technical Committee for the heinous sin of pointing out this emperor has no clothes.

They are right about the ODF standard of course. It is missing a proper definition of spreadsheet formulas. This is the truck-sized hole that Microsoft drove through in their implementation. Sure Excel saves formulas in ODF documents, just in a separate  namespace where no other application is currently designed to look for them. The result is that anyone trying to open an ODF spreadsheet created in Excel will have it rejected. Excel reading an ODF spreadsheet created by another application does something worse, it will use the last value for the data in the spreadsheet cell that should be governed by the formula. The formulas themselves are silently dropped.

Yet Microsoft Office SP2 claims to have a fully compliant version of ODF, and that's probably true, as defined by the specification. It's just completely useless at interoperating with other vendors' products. This is not interoperability, it's an attack on the very concept.

Unions are not popular in either the USA or the UK any more, which I think is a sad state of affairs. My first action on getting my first job in the UK was joining the local union. So for those readers not experienced with union activity, I'd like to explain the concept of  "Working to Rule". When a union is trying to negotiate with management, there are a broad range of options they can take before using the ultimate weapon of going on strike. One of these tactics is "Working to Rule". Normally in a working day, there are hundreds of small rules that people ignore in order to get their jobs done. From refilling the coffee machine for themselves (which could be a health and safety hazard, if you really think about it) to fixing small problems with the machines they use for the job. "Working to Rule" means deliberately obeying every single one of these rules. Coffee machine out of water ? "Not my job mate." Ethernet cable fallen out of a machine ? "I'm a programmer, not a hardware engineer. Someone had better come and fix that for me." I'm sure you get the idea. Punctilious observation of every possible rule in order to disrupt orderly working.

This is what Microsoft has done with ODF in SP2.

They've done this before.

When Windows NT was first announced, one exciting new feature was the concept of "subsystems". Windows NT was to be a chameleon operating system. Not only would it run Windows binaries, it had two other "subsystem personalities", OS/2 and POSIX. Yes, that's right, Windows NT was originally a fully POSIX-compliant operating system. POSIX is the standard for UNIX programs, meaning you could re-compile the same source code on any POSIX compliant system and it was guaranteed to work the same. POSIX was popular in government contract specifications, as it was supposed to save the government money on IT systems by forcing vendors to be interoperable.

I remember getting my hands on the first beta of Windows NT, starting up the POSIX subsystem and trying some code out on it. It was a joke. Networking ? That's not part of the official POSIX spec, so no access to the network. Windowing ? That's not in there either, so no fancy graphical interfaces for your POSIX programs, pure text-based code only. Anything not fully mandated by the spec was ripped out. Yes, it could pass the pure POSIX conformance tests, but that was all it was able to do. No useful code could run on this system, as all of it expected something more than the basic standard, which most other POSIX vendors had managed to create de-facto standards around. The Windows subsystem even had some of these de-facto POSIX-like standards (the Berkeley sockets networking interface for example) but these were explicitly excluded from the Windows NT POSIX subsystem. The only purpose was to allow government purchasers to check the box marked "POSIX compliant" but allow them to purchase completely proprietary Windows solutions, and that's just what they did. It implemented the letter of the law, whilst completely ignoring the spirit of it.

So how do you do real interoperability ? Well, I like to think that my own project Samba could teach engineers a thing or two about how to do that. We're working from specifications for the Common Internet File System (CIFS) protocol that are not an official standard, but we go out of our way to make sure we work with other vendors implementations. We attend interoperability testing conferences, where we work with the engineers of other vendors (including Microsoft engineers) to ensure that customers deploying any of our implementations don't get any nasty surprises. We've changed our code to work with Windows 95 and 98, Windows mobile, Windows CE, Windows 7, Network Appliance, a host of un-named embedded versions of CIFS in different appliances, even old versions of OS/2. It's not hard, it's just careful, detailed work. The only rule is to follow the words of the Internet Engineering Task Force (IETF) for interoperability, "Be conservative in what you send, be liberal in what you will accept."

If we simply worked from a specification, we'd end up with a product that would work with itself, but would have no chance of working in the real world with other vendors implementations. Very similar to what Microsoft has produced with Office 2007 SP2's ODF support.

A complete cynic would say that was what was intended. That Microsoft, being the dominant vendor of office suites, would only benefit from creating an implementation of a competing standard that was worthless for interoperability. That causing confusion in the marketplace like this was designed to make customers scuttle back to the safety of only using Microsoft Office and the endlessly mutating versions of .DOC or .DOCX, as these interoperability issues are at least problems the customers have learned to live with over the years.

But I've seen Microsoft do better than this. I've worked with their engineers on CIFS, they've attended interoperability events, they've even logged bugs on Samba when they've found problems. They know how to do this properly.

But what we currently see in Office 2007 SP2 is still "Working to Rule" in every sense of the phrase.

Topics: CXO, Emerging Tech, Microsoft, Software, Windows

Kick off your day with ZDNet's daily email newsletter. It's the freshest tech news and opinion, served hot. Get it.

Talkback

391 comments
Log in or register to join the discussion
  • RE: In Office SP2, Microsoft manages to reduce interoperability

    What if you created a document format and no one cared? You could call it ODF.
    bobfastner
    • Yup.

      File under 'pointless exercise'.
      Sleeper Service
    • What if you created a document format and no one cared?

      No I think it would be called OOXML. And yes Sleeper Service no one cared about OOXML.
      storm14k
      • Yes? And?

        :)
        Sleeper Service
        • And what....

          Thats all to it...nobody cared about OOXML and even MS cared about ODF. As usual the brains at MS are much bigger than those of their fanboys.
          storm14k
    • Why did you bother to comment then?

      You fool no one. ODF is a growing threat to your way. The more nonchalant you act, the more concerned you appear. It doesn't take a Freud to see it either. Now make me feel better and berate this comment.
      kozmcrae
      • lol...

        Everyone can see that you are either on Sun/IBM's payroll or have some sort of vested interest in OpenOffice.

        ODF isn't a threat to anyone, and looking at the standards, they couldn't even do it right.

        No wonder it was so easy for Microsoft to join the ISO's working group for OOXML and get it passed with this kind of organization.
        TylerM89
        • Oh no you don't!

          That's my line you Microsoft shill.
          kozmcrae
        • I care... This is sabotage

          as all (or most) OpenOffice.org users. OOo is a great format, but I continuassly have to work in the .doc (closed) format because most people I know use MS Word. Nothing wrong about that, except that MS is now attacking the .odt format. If I hadn't read this article and one of my friends had told me he had SP2 that supported Open Office formats, I would have my new documents sent to him in the open format, therefore destroying the format's reputation in their eyes. This is downright sabotage.

          PS: I have no hidden interests in OO; I'm just a user.
          FanaticGeek
          • Office 2007 user that has switched to Open Office

            I have been an Office user forever but have made the switch to OpenOffice. While my company forces Microsoft onto us, I have decided that I am too old to upgrade again. I hate the 2007 format. I am not too surprised that MS wants to make OO look bad; just look at their history. I was happy with 2003 but I will not take any "classes" to learn how great 2007 is.
            westea49
        • It wasn't easy...

          It cost Microsoft a lot in money (read into that whatever you choose), and time to produce OOXML which is even more broken than ODF. Note that Microsoft itself doesn't support OOXML properly, and I do not think that has changed.

          Also note that the Office "update" that Microsoft produced with regard to ODF has made stuff which used to work now break. So, on the competence and organization thing, either Microsoft isn't, or they're doing it all deliberately and spitefully.
          zkiwi
      • The only real standard document standard is PDF

        .. and I'm not sure how many editor packages do that natively.
        Too Old For IT
        • OpenOffice does

          Open Office can save a document as a pdf file (which can be read beautifully by free apps: Foxit for one). It can also save as HTML and that is a true standard also.

          Is anyone aware of the other countries that loudly objected when ISO (I Sold Out) caved in and let Microsoft get away with pretending OOXML was a "standard" when they did not fully disclose the source?? Money under the table, or threats - no two ways about it - an eight-hundred-pound-Gorilla (and an insane one, since Steve Ballmer).

          maggietoo9
        • Editing PDF?

          quote: ".. and I'm not sure how many editor packages do that natively."
          <p>
          Well, actually, NONE. PDF is a great standard, but it is definitely a display-only standard, meaning that, once a PDF file is written, you're not SUPPOSED to be able to change it. That means it's great for distribution of documents (which also requires a form of interoperability), but not for collaboration.
          cwtryon
    • You mean these guys?

      http://www.odfalliance.org/members.php#viewall

      Do some research.
      epitax
    • The United States of America . . .

      . . . is not the world, and the rest of the world [b]does[/b] care.
      sporkfighter
      • And they screamed...

        The rest of the world screamed bloody murder and filed formal complaints when ISO let MS get away with foisting off OOXML as a "standard" when MS refused to fully disclose it's source, as required of everyone else.

        maggietoo9
        • All it takes . . .

          . . . is the EU to kick Microsoft in the nuts. Could it happen? Yes. Will it happen? Yes, if Microsoft keeps acting like this.
          sporkfighter
  • You must admit that the standard is useless

    [i]He specifically looked at the case of spreadsheets
    using formulas (which in practical terms is most
    spreadsheets that users would create and use)[/i]

    You admit here that most spreadsheets use formulas and
    that formulas are one of the most important aspects of
    spreadsheets and yet ODF has 0, nada, zilch
    specifications for how vendors are supposed to store
    formulas? And yet Microsoft is to blame? Sounds to me
    like ODF is 100% to blame here. Sounds to me that MS
    [b]shouldn't[/b] have implemented ODF until the
    standards defined crazy, obscure features like
    formulas in spreadsheets.

    MS has been [b]very[/b] clear about why the
    implemented ODF. It wasn't done to hurt (or help) ODF.
    Microsoft doesn't owe ODF anything. Microsoft
    implemented ODF because many governments stated that
    they wouldn't use any product that didn't. It's as
    simple as that. Only someone with an agenda would make
    this more complicated than that.
    NonZealot
    • MS is "someone with an agenda"

      Or more correctly, a business with an agenda. Profit and interoperability do not always go hand in hand. However, profit and vendor lock in are usually do, at least when you are the vendor.
      T1Oracle