Mode Switch

At Kiwi Foo Camp, I had an excellent opportunity to discuss the
proposed
mode
switch

in Microsoft Internet Explorer 8.
Over the weekend my position changed, from being mildly in favour of
the mode switch, to being mildly against it.
I am still in favour of mode switching as a concept, but the proposal
does not solve an existing problem, and introduces too much uncertainty.

Mode switching is not a bad thing in of itself.
In a Web browser, a mode switch occurs
when the browser switches from one way of processing a document to
another.
Sometimes a switch is the result of an explicit user request: when the
user prints a document, it is is converted to black and white, and extra
margins are added.
More often, a switch will occur when the browser detects different
types of document.
For example, the
the
specification for the
css
overflow property

requires the browser to behave differently for
xml
and
html
documents.

The particular type of mode switch that has caused the fuss on the
Web recently is an extension of the current practice of detecting a
malformed document.
This causes the browser to switch from
standards mode to
quirks mode.
Broadly speaking, in standards mode the browser strictly follows the
formatting instructions contained in the document; in quirks mode the
browser tries to figure out what the author of the document intended.
All browsers do this.
The
proposal

is to extend this scheme so there is more than two modes, and allow the
author to specify the mode that should be used to render the document.
This will allow a new version of a browser to behave like an old browser
when rendering old documents, making browser upgrades easier to
distribute.

For browsers other than Microsoft Internet Explorer, upgrades are not
normally hard to distribute.
Few changes need to be made to documents when a new browser comes out,
as the browser implements changes smoothly; a process known as
progressive enhancement.
Progressive enhancement was used to transition users through all versions
of Netscape Navigator, Mozilla, and Firefox.
The upgrades to the Opera and Safari browsers are also handled through
progressive enhancement.

However, progressive enhancement cannot be used to transition from
Microsoft Internet Explorer 6 to 7 because the former is so broken that
there is no smooth path between it and the latter (saner) browser.
Any organisation that has pages that are designed
specifically for Internet Explorer 6 cannot deploy
Microsoft Internet Explorer 7 without breaking their Intranet
applications.
Because of this, many large corporates have stuck with Internet Explorer
6, as Internet Explorer 7 does not implement the new mode switching.
Unfortunately,
Microsoft Internet Explorer 8 will not have an Internet
Explorer 6 mode
, so its only switch will be from the
not-so-broken IE 7 mode, and potentially-great IE 8 mode.
While nice, this does not solve any problem that we have here and now.
Most sites should be able rely on progressive enhancement to move
from IE 7 to IE 8 — just like the sites will rely on progressive
enhancement to switch from Firefox 2 to Firefox 3.

The root of the problem is that corporates are stuck with poorly written
applications that are designed specifically for Internet Explorer 6.
To my mind, deciding to support one particular browser, especially in a
corporate environment is foolish: the companies would be better off with
a Visual Basic application, which would allow better work-flow, provide
better widgets, and be more stable across system updates.

Leave a Reply

You must be logged in to post a comment.