
Martian Headsets - bdfh42
http://www.joelonsoftware.com/items/2008/03/17.html
======
run4yourlives
The biggest issue I have with this article - which does an excellent job of
explaining the issue - is that Joel seems to ignore the elephant in the room:
EVERY OTHER BROWSER MAKER HAS SOLVED THIS PROBLEM!

Seriously: Opera, Firefox, Safari. All of these manufacturers have no issue
rendering both pages designed to standard and table designed mishmashes.
They're getting so good at their implementations of standards support that for
90% of the time, a design will look exactly the same in one browser to the
next.

The exception to the rule is IE. The EXCEPTION.

Why? Because Microsoft, or forces within it, as far as this outsider can tell,
continually wishes to revert the many-to-many market back to the one-to-many
market. They use their size and position to force their way on everyone. Their
way isn't necessarily bad, but it's different for the sake of being different
to achieve the goal.

From my POV, Microsoft is an increasingly irrelevant player in the web browser
world. The imminent failure of Vista will make this more evident. Customers
are getting sick and tired of having things break when they upgrade their
software.

~~~
alex_c
I was thinking along similar lines while reading the article (why doesn't
Firefox have this problem?)

I don't think it's so much that the other browsers have SOLVED the problem,
more that they never created the problem for themselves in the first place (to
the same extent that Microsoft did, anyway). By sticking closer to the
"standards" yesterday, they made backwards compatibility simpler to solve
today, and Microsoft hasn't.

None of this answers the real question: now what? IE isn't going anywhere
soon, and we'll have to live with it either as web developers or as users for
the foreseeable future. Even if Microsoft wants to do the "right" thing, how
can they clean up their mess without breaking all the "if IE do this" sites
out there?

~~~
mechanical_fish
Exactly. The problem is that MS can't turn time backwards. The time to have
"solved" the problem was back in the IE4 through IE6 days -- when, frankly,
nobody realized how great "standards-complicance" was, because only about
three people on Earth had seen a "standards-compliant" browser load a
"standards-compliant" site. Before Firefox and Safari, _everyone_ used IE. [1]

The IE team seems to be properly repentant, now, and they're down with the
idea that they need to conform to standards. But they're under pressure not to
break all existing IE-specific sites at the same time. And they can't go back
into the past and convince their old marketing team to emphasize "standards"
instead of encouraging customers to develop around IE-specific features. The
laws of physics don't work that way.

[1] Cue irate reply from an old-school Opera user in: 3..2..1..

------
philh
He talks about how problems are caused by IE8 identifying as IE. So sites
which check for IE to run hacks run them anyway, even though they aren't
necessary any more.

Couldn't this be fixed by rebranding? Instead of IE8, release a totally new
browser that just happens to reuse a lot of code from IE. No hacks get
applied. It either works or it doesn't, and if it doesn't it also doesn't work
in Firefox, Opera, etc.

I suppose it would be a nightmare from a marketing perspective, though.

~~~
mechanical_fish
The problem is the installed base of web sites that are specifically designed
around IE6 and IE7, bugs and all. Those sites will break on a "standards-
compliant" browser.

You and I tend to forget that such sites exist, because the environment of the
public web, which teems with Firefox and Safari users, has rendered them
mostly extinct in the wild. But in captivity, behind various corporate
firewalls, where every single user has been running IE for a decade, such
sites still exist, people care about them, and those people just happen to be
Microsoft's core customers.

If, as you suggest, Microsoft ships a totally new browser -- which, let's face
it, might as well be called "Firefox 3.0", although I suppose it could just be
IE8 with a different User-Agent heading -- you and I will be happy, but lots
of internal corporate sites will break, with no upgrade paths other than
"redesign your site's HTML to be standards-compliant" or "tell your users to
run two browsers: one for the intranet and one for the modern world". And
corporate customers don't want to fork over license fees in exchange for
_that_.

That's the basic contours of the dilemma: MS can either blow off their
installed base or blow off the standards movement. The installed base has the
money. The standards movement has the influence. Spolsky is right: The IE team
is well and truly damned. They're just going to have to weasel out of it
somehow.

~~~
jcl
But blowing off an installed base is nothing Microsoft hasn't done before.
There are Internet Explorer versions (5.5 and prior) that are effectively end-
of-lifed. No web developer has to think about the 5.5 hacks anymore, and any
corporate intranet that relies on 5.5 hacks is screwed. Has this been a
problem? I get the feeling that it has not, because a good MS-based IT
department can spin the cost of rewriting its websites as part of the MS
upgrade treadmill... as part of the cost of upgrading to .NET, or .NET 2.0, or
Vista, or Sharepoint, or Windows Server 2008, etc. (And any business that has
decided to get off of this treadmill is no longer among MS's paying
customers.)

On the other hand, Microsoft's piecemeal approach to web standards is starting
to hurt it. The _de facto_ web development best practice is now "Develop for a
standards-compliant browser first, then hack it until it looks right in IE."
This hurts Microsoft because it means that most new webpages only work
incidentally in IE; if a corner case of some new feature is accidentally
missed in the IE rewrite, the workaround might well be: "Try using Firefox
until we get a fix out."

~~~
mdemare
As a web-developer you don't have to worry about IE5.5 _now_ , in 2008, seven
years after the release of IE 6.0. Seven years to make sure your site works in
IE 6.0. Seven years time to upgrade to IE 6.0.

If Microsoft goes through with what they've promised, one day you've got a web
site which works on the latest version of IE, and the next day (when MS
releases IE 8) you don't.

Since all web pages aren't going to be fixed in a day, practically nobody will
upgrade.

The only solution is to do what they did for version 7, and 6, and 5.5. Maybe
they could have prevented the problem by releasing a more standard-compliant
IE 5, but since then, they're stuck.

The good thing is that we're slowly getting better at abstracting the problem
away.

------
DanielBMarkham
Solution: Re-brand IE as "Microsoft Web Viewer" or some such and start with a
clean slate and a clean set of core libraries. All the version-checking
routines will not discover IE, so the IE hacks will be irrelevant. MS gets a
chance to leap-frog the competition by starting over (even though it's going
to suck -- sometimes you just have to suck it up)

Or -- continue having a strategic plan that goes two directions at the same
time.

BTW, this solution works for some of the other problems Microsoft is having.
Once you give up the idea of trying to lock people into a brand name and start
thinking about the best ways to provide solutions, you don't have these kinds
of problems.

------
henning
See? This is what happens when Steve Yegge moonlights as a writing coach.

------
inklesspen
One of the problems with this article is that Joel tries to divide the
argument into the idealist side and the pragmatist side. But there's never
just two sides. For instance, there's long-term pragmatists and short-term
pragmatists. I think the pro-MS people are mostly short-term pragmatists.

------
pchristensen
Joel points out the main reason for Microsoft's behavior in the article:
standards benefit _the little guys_. Microsoft isn't interested in benefiting
the little guys.

~~~
mdemare
The point of the article is that there is no good solution, no matter what
Microsoft is interested in.

------
brlewis
Postel's advice is not to blame for IE's problems. If that were the case, it
would only be non-standards-conforming pages that displayed differently on IE.

------
joe24pack
Hey, wouldn't all that MS has to do is use a different Agent string for IE8 so
that the agent sniffing fails. You know, go incognito, like user-agent JF-8.

------
phaedrus
This is why I read Joel on Software!

------
TrevorJ
Negative line. Haha, thats' awesome.

