{"id":84,"date":"2007-03-04T13:00:00","date_gmt":"2007-03-04T18:00:00","guid":{"rendered":"http:\/\/2d823b65bb.nxcli.io\/2007\/03\/compatibility-according-to-humpty-dumpty.html"},"modified":"2007-03-04T13:00:00","modified_gmt":"2007-03-04T18:00:00","slug":"compatibility-according-to-humpty-dumpty","status":"publish","type":"post","link":"https:\/\/www.robweir.com\/blog\/2007\/03\/compatibility-according-to-humpty-dumpty.html","title":{"rendered":"Compatibility According to Humpty Dumpty"},"content":{"rendered":"<blockquote>\n<p>\u2018I don&#8217;t know what you mean by \u201cglory,\u201d \u2019 Alice said.<\/p>\n<p>Humpty Dumpty smiled contemptuously. \u2018Of course you don&#8217;t \u2014 till I tell you.  I meant \u201cthere&#8217;s a nice knock-down argument for you!\u201d \u2019<\/p>\n<p>\u2018But \u201cglory\u201d doesn&#8217;t mean \u201ca nice knock-down argument,\u201d \u2019 Alice objected.<\/p>\n<p>\u2018When <b>I<\/b> use a word,\u2019 Humpty Dumpty said, in a rather scornful tone, \u2018it means just what I choose it to mean, neither more nor less.\u2019<\/p>\n<p>\u2018The question is,\u2019 said Alice, \u2018whether you <i>can<\/i> make words mean so many different things.\u2019<\/p>\n<p>\u2018The question is,\u2019 said Humpty Dumpty, \u2018which is to be master &#8211; that&#8217;s all.\u2019<\/p>\n<p>\u2014 Lewis Carroll from <i>Through the Looking-Glass<\/i> (1871)<\/p>\n<\/blockquote>\n<p>I have written about Microsoft&#8217;s language games <a href=\"https:\/\/2d823b65bb.nxcli.io\/blog\/2006\/10\/when-language-goes-on-holiday.html\">previously<\/a>. These games continue and it appears to be time for yet another inoculation.   Words such as \u201copen\u201d, \u201cchoice\u201d, \u201cinteroperability\u201d, \u201cstandard\u201d, \u201cinnovation\u201d and \u201cfreedom\u201d have been bandied about like patriotic slogans, but with meanings that are often distorted from their normal uses.<\/p>\n<p>The aggrieved word I want to examine today is \u201ccompatibility\u201d.  Let&#8217;s see how it is being used, with some illustrative examples, the <i>ipsissima verba<\/i>, Microsoft&#8217;s own words:<\/p>\n<p>From an open letter <span style=\"text-decoration: underline;\">\u201c<\/span><a href=\"http:\/\/www.microsoft.com\/interop\/letters\/choice.mspx\">Interoperability, Choice and Open XML<\/a>\u201d by Jean Paoli and Tom Robertson:<\/p>\n<blockquote><p>The specification enables implementation of the standard on multiple operating systems and in heterogeneous environments, and it <strong>provides backward compatibility with billions of existing documents.<\/strong><\/p><\/blockquote>\n<p>From another open letter, Chris Capossela&#8217;s <a target=\"_blank\" href=\"http:\/\/www.microsoft.com\/interop\/letters\/new_world_of_docs.mspx\">\u201cA Foundation for the New World of Documents\u201d<\/a>:<\/p>\n<blockquote><p>&#8230; all the features and functions of Office can be represented in XML and all your older Office documents can be moved from their binary formats into XML with <strong>100 percent compatibility<\/strong>. We see our investment in XML support as the best way for us to meet customers\u2019 interoperability needs while at the same time being <strong>compatible with the billions of documents<\/strong> that customers create every year.<\/p><\/blockquote>\n<p>From <a target=\"_blank\" href=\"http:\/\/blogs.msdn.com\/dmahugh\/archive\/2006\/07\/28\/Rehydration.aspx\">Doug Mahugh<\/a>: \u201cThe new Open XML file formats offer <strong>true compatibility<\/strong> with all of the <strong>billions of Office documents that already exist.<\/strong>\u201d<\/p>\n<p>And from <a href=\"http:\/\/blogs.msdn.com\/craig\/archive\/2007\/02\/01\/is-backward-compatibility-for-documents-important-to-you-how-about-choice.aspx\">Craig Kitterman<\/a>: \u201cIs backward compatibility for documents important to you?  How about choice?\u201d<\/p>\n<p>Those are just a handful of examples.  Feel free to leave a comment suggesting additional ones.<\/p>\n<p>Compatibility.   Better yet, True Compatibility.  What is that?   And what do you think the average user, or even the average CTO, thinks, when hearing these claims from Microsoft about 100% compatibility?<\/p>\n<p>Let&#8217;s explore some scenarios and try to reverse-engineer Microsoft&#8217;s meaning of \u201cTrue compatibility\u201d.<\/p>\n<p>Suppose you get a new, more powerful PC with more memory and upgraded graphics card and you upgrade to Vista and Office 2007.  You create a new presentation in PowerPoint 2007 and save it in the new OOXML format.   What can you do with it?<\/p>\n<p>Can you exchange it with someone using Office on the Mac? Sorry, no.  OOXML is <a href=\"http:\/\/www.macworld.co.uk\/procreative\/news\/index.cfm?newsid=16666&#038;pagtype=allchandate\">not supported<\/a> there.  They will not be able to read your document.<\/p>\n<p><strong>Is this 100% compatibility?<\/strong><\/p>\n<p>What about Windows Mobile?  Can I read my document there?  Sorry, OOXML is <a href=\"http:\/\/blogs.zdnet.com\/mobile-gadgeteer\/?p=240\">not supported<\/a> there either.<\/p>\n<p><strong>Is this 100% compatibility?<\/strong><\/p>\n<p>What about sending the file to your friends using SmartSuite, WordPerfect Office or OpenOffice, or KOffice?  They all are able to read the legacy Microsoft formats, so surely a new format that is 100% compatible with the legacy formats should work here as well?  Sorry, you are out of luck.  None of these applications can read your OOXML presentation.<\/p>\n<p><strong>Is this 100% compatibility?<\/strong><\/p>\n<p>What about legacy versions of Microsoft Office?  Can I simply send my OOXML file to a person using an old version of Office and have it load automatically?  Sorry, older versions of Office do not understand OOXML.  They must either upgrade to Office 2007 or download and install a convertor.<\/p>\n<p><strong>Is this 100% compatibility?<\/strong><\/p>\n<p>I have Microsoft Access XP and an application built on it that imports data ranges from Excel files and imports them into data tables.  Will it work with OOXML spreadsheets?  Sorry, it will not.  You need to upgrade to Access 2007 for this support.<\/p>\n<p><strong>Is this 100% compatibility?<\/strong><\/p>\n<p>What about other 3rd party applications that take Office files as input: statistical analysis, spreadsheet compilers,  search engines, document viewers, etc.  Will they work with OOXML files?  No, until they update their software your OOXML documents will not work with software that expects the legacy binary formats.<\/p>\n<p><strong>Is this 100% compatibility?<\/strong><\/p>\n<p>Suppose I, as a software developer, takes the 6,039 page OOXML specification and write an application that can read and display OOXML perfectly.  It will be hard work, but imagine I do it.  Will I then be able to read the billions of legacy Office documents?  Sorry, the answer is no.  The ability to read and write OOXML does not give you the ability to read and write the legacy formats.<\/p>\n<p><strong>Is this 100% compatibility?<\/strong><\/p>\n<p>So, there it is.  A don&#8217;t know if we&#8217;re any closer to finding out what \u201c100% compatibility\u201d means to Microsoft.  But we certainly have found lot of things it doesn&#8217;t mean.<\/p>\n<p>A quick analogy.  Suppose I designed a new DVD format, and standardized it and said it was 100% compatible with the existing DVD standard.  What would consumers think this means?  Would they think that the DVD&#8217;s in the new format could play in legacy DVD players?  Yes, I believe that would be the expectation based on the normal meaning of \u201c100% compatible\u201d.<\/p>\n<p>But what if I created a new DVD Player and said it supported a new DVD format, but also that the Player was 100% compatible with the legacy format.  What would consumers think then?  Would they expect that the new DVD&#8217;s would play in older players?  No, that is not implied.  Would they expect that older DVD&#8217;s could be played in the new Player?  Yes, that is implied.<\/p>\n<p>This is the essence of Microsoft&#8217;s language game.  The are confusing the format with the application.  This is easy to do when your format is just a <a href=\"https:\/\/2d823b65bb.nxcli.io\/blog\/2007\/01\/how-to-hire-guillaume-portes.html\">DNA sequence<\/a> of your application.  However, although Microsoft Office 2007, the application, may be able to read both OOXML and the legacy formats, the OOXML format itself is not compatible with any legacy application.  None.  The only way to get something to work with OOXML to write new code for it.<\/p>\n<p>This is not what people expect when they hear these claims of OOXML being 100% compatible with legacy formats.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>\u2018I don&#8217;t know what you mean by \u201cglory,\u201d \u2019 Alice said. Humpty Dumpty smiled contemptuously. \u2018Of course you don&#8217;t \u2014 till I tell you. I meant \u201cthere&#8217;s a nice knock-down argument for you!\u201d \u2019 \u2018But \u201cglory\u201d doesn&#8217;t mean \u201ca nice knock-down argument,\u201d \u2019 Alice objected. \u2018When I use a word,\u2019 Humpty Dumpty said, in a [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_genesis_hide_title":false,"_genesis_hide_breadcrumbs":false,"_genesis_hide_singular_image":false,"_genesis_hide_footer_widgets":false,"_genesis_custom_body_class":"","_genesis_custom_post_class":"","_genesis_layout":"","footnotes":""},"categories":[6],"tags":[],"class_list":{"0":"post-84","1":"post","2":"type-post","3":"status-publish","4":"format-standard","6":"category-ooxml","7":"entry"},"_links":{"self":[{"href":"https:\/\/www.robweir.com\/blog\/wp-json\/wp\/v2\/posts\/84","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.robweir.com\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.robweir.com\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.robweir.com\/blog\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.robweir.com\/blog\/wp-json\/wp\/v2\/comments?post=84"}],"version-history":[{"count":0,"href":"https:\/\/www.robweir.com\/blog\/wp-json\/wp\/v2\/posts\/84\/revisions"}],"wp:attachment":[{"href":"https:\/\/www.robweir.com\/blog\/wp-json\/wp\/v2\/media?parent=84"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.robweir.com\/blog\/wp-json\/wp\/v2\/categories?post=84"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.robweir.com\/blog\/wp-json\/wp\/v2\/tags?post=84"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}