{"id":99,"date":"2007-05-18T10:06:00","date_gmt":"2007-05-18T15:06:00","guid":{"rendered":"http:\/\/2d823b65bb.nxcli.io\/2007\/05\/the-funnel-and-the-wedge.html"},"modified":"2009-12-27T20:53:41","modified_gmt":"2009-12-28T01:53:41","slug":"funnel-and-wedge","status":"publish","type":"post","link":"https:\/\/www.robweir.com\/blog\/2007\/05\/funnel-and-wedge.html","title":{"rendered":"The Funnel and the Wedge"},"content":{"rendered":"<p>The idea was prompted by a comment a reader submitted to a recent post, where he talked about one of the challenges of trying to bridge two different formats (in this case ODF and OOXML) via translation:<\/p>\n<blockquote><p>Both formats must evolve their new versions simultaneously in locksteps&#8230;<\/p>\n<p>This one is the killer. Trying to have two formats permanently synchronized this way is a maintenance nightmare, especially when we discuss standards with multiple implementations maintained by different organizations.<\/p><\/blockquote>\n<p>This is an important point, and bears some reflection.  In my mind I have images of the funnel and the wedge, physical means of convergence and divergence.  Similar forces are at play with standards.<\/p>\n<p>We see the <a href=\"http:\/\/en.wikipedia.org\/wiki\/Funnel\">Funnel<\/a> in the evolution of HTML.  Although the standard has existed for over a decade, implementation support for HTML and related standards was uneven until quite recently.  Interoperability was poor. From the start vendors added incompatible extensions while not implementing key features.   Developers had to write extensive workarounds and alternative representations to work on all browsers.  And when they did not that, their web sites might not work with all browsers.  But with customer demand and prodding from groups like the <a href=\"http:\/\/webstandardsgroup.org\/\">Web Standards Group<\/a>, the interoperable support of the HTML standard across implementations happened.  There was convergence.  What we have today, although not perfect, is clearly the result of a Funnel, concentrating industry effort around a single standard (or more like a family of standards).<\/p>\n<p>This does not mean that vendors needed to sacrifice innovation, or deny their customers. It just meant that they accomplished their business objectives while also complying with standards. Along with adhering to various financial and securities regulations, labor law, health and safety, and other requirements, both internal and external, voluntary and mandatory, the browser vendors now complied with web standards. It is just another part of doing business.<\/p>\n<p>Similar Funnels have occurred historically with network protocols, wireless telephony (in Europe at least), electrical grids, broadcast formats, etc.  I&#8217;ve written <a href=\"https:\/\/2d823b65bb.nxcli.io\/blog\/2007\/03\/case-for-single-document-format-part-i.html\">elsewhere<\/a> about what types of technologies tend to converge like this and why.<\/p>\n<p>We see the <a href=\"http:\/\/en.wikipedia.org\/wiki\/Wedge_issue\">Wedge<\/a> when two standards compete in the same space and diverge into incompatible technologies.  Microsoft is the master of the Wedge, with numerous examples over the years, usually proprietary, but more recently attempting to gain <span style=\"font-style: italic;\">de jure<\/span> recognition of them.  But the mechanism is the same in either case:  <a href=\"https:\/\/2d823b65bb.nxcli.io\/blog\/2006\/07\/cum-mortuis-in-lingua-mortua.html\">VML<\/a>, <a href=\"http:\/\/www-128.ibm.com\/developerworks\/library\/wa-ecma.html?ca=dgr-lnxw05ECMAscript\">JScript<\/a>, <a href=\"http:\/\/www.networkworld.com\/news\/2000\/0511kerberos.html\">MS Kerberos<\/a>, <a href=\"http:\/\/www.theserverside.com\/news\/thread.tss?thread_id=12379\">J++<\/a>,  <a href=\"http:\/\/www.regdeveloper.co.uk\/2006\/05\/05\/microsoft_cplusplus_cli\/\">C++\/CLI<\/a>, <a href=\"http:\/\/arstechnica.com\/news.ars\/post\/20061015-7992.html\">XPS<\/a>, and of course OOXML.  Standardization just means that Microsoft has another tool for telling you that the Wedge is good for you.  But it is a Wedge nevertheless.<\/p>\n<p>The Wedge brings fragmentation, confusion and lack of interoperability, attacking the core reasons for having a standard in the first place.  Once the primary value of an open standard is eliminated, we can all return to the security and comfort of our monopolist overlords.  That is their main goal.  Make no doubt about it, true interoperability and true choice are very scary propositions for Microsoft.  It cuts at their very business model.<\/p>\n<p>So consider the Funnel and the Wedge as applied to document formats.  If we all use ODF today, is interoperability perfect?  No.  Do we know how to move forward to improve interoperability, and work together in multi-vendor consortia to perfect this.  Yes, certainly.  That is why and how such standards as TCP\/IP, HTTP or HTML, work today.  Interoperability came via the Funnel, a convergence of effort and attention leading to increased interoperability and the user and industry benefits that flow from that interoperability.<\/p>\n<p>But from the Wedge,  what can we expect?  If Microsoft is successful, here&#8217;s what I see, my dismal predictions:<\/p>\n<ol>\n<li>Within 30 days after OOXML is approved by ISO we see the demise of Microsoft&#8217;s half-hearted attempt to create ODF Add-ins for Office.  We&#8217;ll never see a functional Add-in from them for Excel or PowerPoint, and the Word one will remain unacceptably slow.<\/li>\n<li>Microsoft will continue to evolve OOXML behind closed doors.  99% of the work will be based on product and decisions in conference rooms in Redmond, which will be later rubber stamped by Ecma and ISO.<\/li>\n<li>OOXML and ODF will continue to evolve and diverge, in incompatible ways.<\/li>\n<li>Seeing their success ramming through 6,000 page Fast Track submissions in ISO, Microsoft will follow up with similar fast track submissions for XPS, XAML, Silverlight, Windows Media Photo, whatever they have.  Since they have taken the trouble to set up the machinery to dominate JTC1, they will continue to force feed them with additional material.<\/li>\n<li>Every jurisdiction where ODF is currently allowed and mandated will also allow or mandate the use of OOXML.  This in practice will be turned around to mandate the use of Windows and Office.<\/li>\n<li>Finally, once all opposition is rendered harmless, they can shut down OpenOffice.org and KOffice by patent lawsuits, but keep Novell&#8217;s version around in order to keep anti-trust regulators away.  After all, 97% market share is not the same as 100%.<\/li>\n<\/ol>\n<p>Maybe I&#8217;m a bit pessimistic, but I see little reason for optimism.<\/p>\n<p>So do we have an alternative to the Wedge?  What would encourage the Funnel?  The following would need to happen:<\/p>\n<ol>\n<li>ISO must reject OOXML.<\/li>\n<li>Customers, from private and public sectors, must make their voices heard, that they want true interoperability and choice and that this means a single document format.<\/li>\n<li>Microsoft must support the existing ODF completely and fully in Office.  It won&#8217;t happen overnight.  But it won&#8217;t happen at all unless they start.<\/li>\n<li>OASIS must work with Microsoft (and Microsoft with OASIS, of course) so that that it is clearly explained how MS Office can fully represent their documents in ODF.  This need not be a monolithic monster like OOXML, but should be a layered standard, with a basic core feature set and defined extensions and profiles that encompass wider and wider ranges of functionality.  If Microsoft absolutely needs the &#8220;heebieJeebies&#8221; Art Border in Word in order to maintain 100% fidelity with legacy documents, then the ODF TC can show Microsoft how to encode this in ODF.  The Funnel starts when Microsoft abandons their divergent effort in Ecma and joins the common effort around ODF, a single document format for personal productivity applications.<\/li>\n<li>The application vendors, Microsoft included, must work together on defining the organizational, standards and technical means necessary to measure, test and certify ODF compliance, so customers and procurement agencies are able to have assurances that they are getting the level of interoperability that they desire.<\/li>\n<\/ol>\n<p>I think this is a natural progression.  Accomplishing the first step stops the Wedge from progressing further, halting but not reversing the divergence.  The other steps reverse the damage and turn us down a path of true interoperability, leading to true choice and innovation.<\/p>\n<p>Finally note that the Wedge is typically driven by a single company.  It is not a pull by public demand or from customers, though it may wear many disguises.  It is a deliberate attempt by one party to cause division and divergence.  But a Funnel, this won&#8217;t happen at all unless there is strong demand, from customers, from government agencies, from national standards committees, etc.  If this is to happen, your voice must be heard.  All of us must work to bring all of us together in this effort.  But it takes just one company, with a sufficiently large Wedge to pull us apart.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>The idea was prompted by a comment a reader submitted to a recent post, where he talked about one of the challenges of trying to bridge two different formats (in this case ODF and OOXML) via translation: Both formats must evolve their new versions simultaneously in locksteps&#8230; This one is the killer. Trying to have [&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":[9,6],"tags":[],"class_list":{"0":"post-99","1":"post","2":"type-post","3":"status-publish","4":"format-standard","6":"category-odf","7":"category-ooxml","8":"entry"},"_links":{"self":[{"href":"https:\/\/www.robweir.com\/blog\/wp-json\/wp\/v2\/posts\/99","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=99"}],"version-history":[{"count":1,"href":"https:\/\/www.robweir.com\/blog\/wp-json\/wp\/v2\/posts\/99\/revisions"}],"predecessor-version":[{"id":305,"href":"https:\/\/www.robweir.com\/blog\/wp-json\/wp\/v2\/posts\/99\/revisions\/305"}],"wp:attachment":[{"href":"https:\/\/www.robweir.com\/blog\/wp-json\/wp\/v2\/media?parent=99"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.robweir.com\/blog\/wp-json\/wp\/v2\/categories?post=99"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.robweir.com\/blog\/wp-json\/wp\/v2\/tags?post=99"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}