Orcmid's Lair status 
privacy 
 
about 
contact 

2008-03-06

Interoperability Principles, I: IE8 Rising

Interoperability by Design.  I've already enthused about what I see as the profound potential of Microsoft's Interoperability Principles.  I think Design for Interoperability will have a deep influence on the way Microsoft products and their lifecycle support will serve as invitations to interoperability in the world.

The week of March 2-8, I've been witnessing some oddly-connected events.  I see these as indicative of the rumblings that the Interoperability Principles are producing in the bowels of Microsoft product development.  The results will also be felt in the broader community.  Here's the first one I want to point to.

      1. The Internet Explorer Turn-Around
      2. This Could Be Painful
      3. Instant-Design WebCompat Exercise
      4. Embrace and Extend: The New Look?

1. The Internet Explorer Turn-Around

After being hammered for a proposed way to deal with legacy web sites and their favoring of old-standard and non-standard browsers, the IE8 team proposed to take a different, principled approach.  Either approach has problems.  My interest is captured by how interoperability principles were appealed to as the context for the course-correction.

Here are the first three paragraphs of Dean Hachomovitch's post on the change[1]:

"We’ve decided that IE8 will, by default, interpret web content in the most standards compliant way it can. This decision is a change from what we’ve posted previously.

"Microsoft recently published a set of Interoperability Principles. Thinking about IE8’s behavior with these principles in mind, interpreting web content in the most standards compliant way possible is a better thing to do.

"We think that acting in accordance with principles is important, and IE8’s default is a demonstration of the interoperability principles in action. While we do not believe any current legal requirements would dictate which rendering mode a browser must use, this step clearly removes this question as a potential legal and regulatory issue. As stated above, we think it’s the better choice."

2. This Could Be Painful

The original press release provides some important words from Chief Software Architect Ray Ozzie [2]:

"In keeping with the commitment we made in our Interoperability Principles of being even more transparent in how we support standards in our products, we will work with content publishers to ensure they fully understand the steps we are taking and will encourage them to use this beta period to update their sites to transition to the more current Web standards supported by IE8.”

There is recognition that going standards-by-default has serious legacy-site implications.  There is pain either way.  Microsoft is electing to distribute the pain this particular way this particular time.  In Ozzie's words,

“This is obviously a complex issue, with important considerations on both sides.  On one hand, there are literally billions of Web pages designed to render on previous browser versions, including many sites that are no longer actively managed. On the other hand, there is a concrete benefit to Web designers if all vendors give priority to interoperability around commonly accepted standards as they evolve. After weighing these very legitimate concerns, we have decided to give top priority to support for these new Web standards."

3. Instant-Design WebCompat Exercise

I haven't installed the beta release for IE8.  I have no plans to do so just yet.  When I do, it will only be to look at my own blogs and web sites to see how well they render.  So, these musings are of an instant-design astronaut character for later when Microsoft Update urges an important download that turns out to be IE8.

Although web developers and markup standards nazis advocates (especially the CSS-hideen) are thrilled about this, there is a problem with moving the pain to the edges.  It is a problem for those of us who have sites that will be difficult to tweak and will not be updated overnight.  Most of all, the biggest impact will be on all of us who use our browsers every day and just want the sites we visit to render pretty-much OK.

To support those of us who are impacted the most, I propose an addition to the View menu, or its equivalent, to provide "standards" selection along with "Encoding" and "Text Size."  It should be something that lets an user try some other settings to see if a page will appear better, the same way that some of us use "Encoding" now to get text and symbols to render better.  We are not going to be using View Source and communicate with web masters, we just want to see if we can get it to render good-enough right now, like adjusting our monitor.

I also suggest that there be a way to remember the rendering the user liked in the browser history.  Revisits to the same site/page could attempt the same rendering by default unless there is an indication on the visited page that suggests differently.  This may lead to some readjustment when a site's standard conformance is tweaked, but it does provide a level of user-control-by-experiment that can make this transition less brittle, with users as the ultimate victims.

This reminds me of the application-compatibility work (AppCompat to friends) that Windows releases go through to allow them to pretend to be different for third-party legacy applications that don't quite follow the rules for the new release.  Its the same game played a little more benignly, seems to me.  Just a simple matter of programming, right?  [I couldn't help myself.  I just couldn't help myself.  Blame it on the cough medicine.]

There you are.   Some free instant design from someone who has no part in web standards or browser development whatsoever.  With my luck some browser wonk will comment here that this is already available (in Firefox or something) and done way better than I propose.  You're welcome.

4. Embrace and Extend: The New Look?

While IE8 is toeing the line on standards, there is also the urge to innovate.  In this case, Microsoft has added some new ideas, Activities and WebSlices, as features with built-in IE8 support.  This continues the leapfrog game between IE8 and Firefox (who put the ball back into play with tabbed browsing among other features) and other browsers.  It is all good competitive sport.

Is it good-sport interoperability?  Well, here's how they are doing it, as reported by Dean Hachomovitch during his keynote demonstration at MIX08 [3]:

  • On Activities: "Today, Microsoft is making the Open Service Format specifications available under the Microsoft Open Specification Promise [March 5, 2008 update], and the Creative Comments Commons Attribution Share Alike License. We've also made samples available, and we're taking feedback on the spec."  The demonstration includes remarks on how this was tested with eBay and others.
       
  • On Web Slices: "Now, today Microsoft is making the Web Slice format specification available under the Microsoft Open Specification Promise, and it's dedicating copyright in the specification to the public domain, using the Creative Comments Commons Public Domain Dedication. We've also published the samples, and are taking feedback on the specifications."  [dh: my corrections to what I trust are transcription errors]

It is useful to notice that the "interoperability" word was used many times, especially during demonstrations of IE8 along with Firefox and Safari viewing the same standards-compliant web site.

The Interoperability Principles emphasize engagement as a way to establish interoperability as a reality.  Here are two passages from Hachomovitch that reveal how much the IE8 team recognizes what this involves and what they see as opportunites for contribution:

  • On certification tests and what they can reveal: "Interoperability has many, many enemies. There are ambiguities, there are differences in interpretation, and sometimes the spec itself actually falls short of interoperability. ... That's not the kind of interoperability developers want."
      
  • On behavior differences with respect to Cascading Style Sheets (CSS) 2.1: "So until we standardize how all of us test standards compliance, no one can really tell what anyone has done. We need a comprehensive test suite for CSS 2.1, one that's certified how complete and how correct any browser is on standards support, consistently and objectively. And to this end, we've contributed 702 test cases to the W3C CSS working group for the W3C test suite. These are being made available under the BSD license, which is the license that the W3C CSS working group has proposed using for the rest of its test cases, and we've also made these test cases available for developer comments and feedback both on MSDN and on the W3C's mailing list, because we want to make sure we're interpreting the standards the same way that developers are."

See how strongly this interoperability principle is reflected in everything that is happening here, along with the attention to the impact of actions on the community of developers and users [4]:

Principle II: Support for Standards
Microsoft commits to supporting relevant standards in its high-volume products and doing so in a way that promotes interoperability. What this means is:

  1. Support for Key Standards. Microsoft supports many standards promulgated by standards bodies in its products today. We will rely upon customer advice emerging from our Interoperability Executive Customer Council and our ongoing community and customer engagement efforts to help us prioritize which standards we should support in any given product release. We will also continue to participate actively in standards bodies, contributing to the development of new standards and the improvement of existing standards.
       
  2. Broad Compatibility. When the decision is made to support a standard in a version of a high-volume product, Microsoft will work with other major implementers of the standard toward achieving robust, consistent, and interoperable implementation across a broad range of widely deployed products. To that same end, Microsoft will document for the development community how it supports such standards and how it is working towards broad compatibility and interoperability. These steps will facilitate compatibility for customers in real-world scenarios.
       
  3. Extensions. Microsoft will document extensions to a standard implemented in its high-volume products where such extensions are relevant to interoperability with other implementations of that standard. Microsoft will publish the extension specifications for the developer community on its website. In some cases Microsoft will also submit these extensions to the relevant standard-setting organization. These steps will enable developers who wish to do so to robustly interoperate with Microsoft’s enhanced implementation of a standard.

As with its Open Protocols and Open APIs, Microsoft will publish information about its support for standards on its website, including the specifics of standards extensions, without requiring the developer to obtain a license, or to pay a royalty or other fee, to access such information. Microsoft will also make available a list of any of its patents that cover any extensions, and will make available patent licenses on reasonable and non-discriminatory terms.

In this case, the relevant specifications have been made available under the Open Specification Promise.  There need be no concern for patent licensing from Microsoft. 

This is not the first step that the Internet Explorer team has taken toward improved interoperability.  What is noticeable is how they are articulated and made consistent with the interoperability principles.

So far, so good.


[1] Dean Hachamovitch: Microsoft's Interoperability Principles and IE8.  IEBlog, msdn.com, 2008-03-03 (via Dare Obosanjo).

[2] Microsoft: Microsoft Expands Support for Web Standards. (press release) PressPass - Information for Journalists, microsoft.com, 2008-03-03.

[3] Microsoft: MIX08 Keynote: Ray Ozzie, Dean Hachamovitch and Scott Guthrie.  (press release) PressPass - Information for Journalists, microsoft.com, 2008-03-05 (indirectly via Robert Scoble)

[4] Microsoft: Interoperability Principles.  (web page) Interoperability, microsoft.com, February 21, 2008 version; accessed 2008-03-06.

The other day, I received another one of those mystery Waggener-Engstrom e-mails.  This time it was on the announcement of IE8's switch to standards-by-default.  By then my feed reader had already provided me with the information.  What attracted my attention and inspired me to post was the reference to Interoperability Principles in Dare Obosanjo's blog title and quote from Dean Hachamovitch.

 
Comments: Post a Comment
 
Construction Zone (Hard Hat Area) You are navigating Orcmid's Lair.

template created 2002-10-28-07:25 -0800 (pst) by orcmid
$$Author: Orcmid $
$$Date: 07-12-26 16:37 $
$$Revision: 27 $