News for hackers. Stuff that matters.
Re:Martian Headsets by philh on Monday March 17, 2008 @01:36PM (#139047)
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.

Re:Martian Headsets by mechanical_fish on Monday March 17, 2008 @02:18PM (#139078)
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.

Re:Martian Headsets by jcl on Monday March 17, 2008 @03:26PM (#139136)
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."

Re:Martian Headsets by mdemare on Monday March 17, 2008 @06:54PM (#139326)
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.

Re:Martian Headsets by greendestiny on Monday March 17, 2008 @08:37PM (#139406)
It's as bad as all that, it's not an either or. All these intranet environments are generally very used to using archaic work arounds - I don't think it would be a big deal to get people to use IE7 compatibility mode for those sites. I think the big problem would be users seeing big public sites render incorrectly - most people expect their intranets to be a little quirky and generally have IT departments to deal with it.
Re:Martian Headsets by mechanical_fish on Monday March 17, 2008 @11:21PM (#139511)
The problem is: How do you trigger the IE7 compatibility mode? Microsoft proposed having new pages identify themselves as new with an "IE8" tag, and people freaked. The opposite answer -- having the old pages identify themselves with an "IE7" tag -- doesn't work because it requires someone to change all the old pages, and until that happens they're all broken, so the corporate users will refuse IE8 and stick with IE7 for another decade.

Having users press a button for IE7 mode whenever they see a broken page is just asking for trouble. Now you've equipped every Solitare-playing cube dweller in your company with a "break this page" toggle switch that needs to be constantly moved back and forth. The call volume to the IT department help desk just went up by an order of magnitude.

So you're stuck with stupid hacks like "enter IE7 compatibility node if the URL matches this regexp". Fragile, fragile, fragile. And what if you actually have the budget to slowly migrate your ancient intranet site into the modern world, one page at a time? How do you serve half your pages in IE7 and the other half in IE8 without a special tag to distinguish them?

Re:Martian Headsets by greendestiny on Monday March 17, 2008 @11:37PM (#139526)
You put it in the configuration and expect the IT department to have it correctly configured for their site. When people try to access it from outside computers and it breaks you tell them how to put it in compatability mode. Ideal? Hardly, but standards compliance makes future versions of the browser so much easier and IE doesn't want to be the legacy intranet browser and keep losing ground to firefox on the mainstream internet.

Most likely these intranets keep IE7 on their computers and slowly migrate and phase out.

It's not like these sorts of things are alien to the entreprise world - they spend an enormous amount of time dealing with legacy incompabilities - but consumers don't want legacy browsers and that's what Microsoft are afraid of.

Re:Martian Headsets by phaedrus on Tuesday March 18, 2008 @02:33AM (#139648)
This is not a bad idea, unfortunately a lot of sites (especially online applications) check for IE specifically and if you don't have it, take you to a message page that says "this page only displays in IE, go away." You see this a lot using Firefox; saavy Firefox users know just to ignore the message because the site works fine anyway. But imagine if your mother in law has just downloaded Microsoft's latest browser, and a site tells her the browser she's using won't work - she'll just get the "deer in the headlights" look and freak out. There really isn't a way out of the corner Microsoft painted itself into on this one.
Re:Martian Headsets by sanj on Monday March 17, 2008 @02:06PM (#139072)
Does anyone in marketing care what the User Agent says?

Change that and be done!

Re:Martian Headsets by mqatrombone on Monday March 17, 2008 @03:08PM (#139122)
It's more complicated than that. If a browser breaks Sharepoint or any other intranet site, it won't get deployed. I imagine there are many, many, many corporations who still haven't upgraded to IE7.

One possible solution is to identify as IE <= 7 to intranet sites (which can be designated via Group Policy) and IE >= 8 to non-intranet sites. Of course, this means admins have to properly define intranet/non-intranet, which means much rioting will ensue.

Poor IE team. You're getting screwed because management decided to rest on their laurels.

Re:Martian Headsets by jcl on Monday March 17, 2008 @05:00PM (#139222)
If the big barrier to acceptance is intranets -- where the company controls the web server itself -- then an additional solution is available: Rather than requiring all new web pages to contain a new "OK for IE 8" flag, simply tag the old pages with a new "Not OK for IE 8" flag, to trigger legacy rendering. I imagine you wouldn't even need to edit the webpages -- just add some module to the web server that automatically rewrites the header.

...There must be a good reason why this would never work, because I don't recall hearing it proposed before.

Re:Martian Headsets by mdemare on Monday March 17, 2008 @06:33PM (#139311)
The good reason why it'll never work is that it has to be done for bilions of pages.