Friday, June 4th, 2010

amelie() – a devious plan to get rid of IE6

<>p>Amelie and IE6IE6 must die – we all know this. Even Microsoft knows and acknowledges this (the IE9 team would love everybody to upgrade). The problem is that as a technical argument we don’t get far.

The people who force their users to still use IE6 as the main “browser” don’t want to change their environments as it means that they have to change thousands of computers and re-educate people who don’t like computers on new systems. This is why we need to find a way to make IE6 a problem of other parts of these organisations.

This is why I dug through the IE6 toolkit and found a way to make it annoying to use the browser – the MotionBlur filter. Applied randomly every few seconds, this makes it a very strange experience to use IE6:

Here’s the code, which you can also download from the homepage:

javascript
< view plain text >
  1. if(document.all && !window.XMLHttpRequest){
  2. var x = 1,when=0,str,dir,fil;
  3. function amelie(){
  4.   if(x % 2 === 0){
  5.     str = 0; dir = 0;
  6.     when = Math.floor( Math.random() * 10000 ) + 2000;
  7.     setTimeout( 'amelie()', when );
  8.   } else {
  9.     str = Math.floor( Math.random() * 2 ) + 2;
  10.     dir = Math.floor( Math.random() * 360 );
  11.     setTimeout( 'amelie()', 500 );
  12.   }
  13.   var fil = "progid:DXImageTransform.Microsoft.MotionBlur(strength="+
  14.             str + ",direction=" + dir + ",enabled='true')";
  15.   document.body.style.filter = fil;
  16.   x++;
  17. }
  18. setTimeout('amelie()',1000);
  19. }

Now, applied to our web sites this will annoy users, and they will complain and this is when the devious master plan comes into action:

  1. Use amelie() in our web sites
  2. Fake confusion and deny any problem when people start complaining – our code is OK (show build test logs if needed)
  3. Get some experts to talk about the concept of “software fatigue”. This utter lie should state that software, like any other machine, deteriorates over time and starts to behave in an erratic manner. Explain parts of code as little cogs that get cracked over time or something like that. This works amazingly well – I used to tell people that when they shut down their computer they have to keep it off for 15 minutes before rebooting so “that all chips can unload”.
  4. Spread the rumour that IE6′s software fatigue means it doesn’t work well with video cards and that this could be the reason for the display glitches.
  5. Get other experts to link the erratic display to deteriorating eyesight and headaches in office personnel.
  6. Thus, we turn IE6 into a health and safety issue and companies are much quicker in changing these than they are in changing technical environments because of technical problems.

Hey, it is Friday :)

Posted by Chris Heilmann at 10:17 am
29 Comments

++++-
4 rating from 1 votes

29 Comments »

Comments feed TrackBack URI

This is BRILLIANT! This made me laugh – and got my Friday off to a good start, thanks :-)

Comment by wantar — June 4, 2010

Love it Chris, I’ll try my best to try and get the boss to let me use this ;)

Comment by Phunky — June 4, 2010

Ha, ha excellent plan! You can also add -> display only on Monday. So than the people will think they drank too much over the weekend :) You can also add alert(“Do you have drinking problems? Solve your drinking problems and update your browser! “)

Comment by vladocar — June 4, 2010

hilarious! great stuff!

on a serious note, you know what i see here?
Microsoft took the time to implement a motion-f***ing-blur filter for a browser (I mean, seriously?!?!), and years ago, for IE6, but we still don’t have support for rounded corners, shadows or gradients. what kinda messed up order of priorities do they have?

Comment by iliad — June 4, 2010

While I’d like to see IE6 go away as soon (or sooner) than any developer, I was dismayed by this post and the positive comments attached to it.

As a friend said in an IM conversation that we had about this post, “tricking your users isn’t the right way to do anything but make people believe you’re a jerk.”

Comment by Weeble — June 4, 2010

I did this six months ago… sigh, it’s like the guys behind the DHTML push :-)

The problem is, all of my traffic from IE6 is “at work” traffic. That traffic converts ridiculously well. I assume it’s because they either don’t have a computer at home or trust their companies security more than their own?

Comment by sourceRoot — June 4, 2010

Chris – Any luck getting the higher ups at yahoo on board? :)

Comment by someguynameddylan — June 4, 2010

#3 is the best thing I’ve read today.

@iliad
in complete fairness, you can use shadows and gradients, you just have to use the same image filter ugliness as the motion blur.

Comment by bckenny — June 4, 2010

that’s an awesome plan! lol

Comment by Joyce — June 4, 2010

Instead of doing this to make their experience in IE6 annoying I’d rather put Chrome Frame in our pages to make their experience in IE6 great.

Comment by ernestdelgado — June 4, 2010

ugh, i hate this. i think it’s a dumb anti-pattern to punish IE6 users (who probably *can’t* upgrade). If you want to just silently drop support and ignore those users fine, but shoving this crap in their face is just wrong imho.
.
i wish we spent our time on more productive efforts instead of this stupid “ie6 must die” junk. i’ve made two (admittedly kind of crazy) proposals about forking IE and making an IE6 Frame (kinda like Chrome Frame).
.
If you don’t like those ideas (which you probably won’t), how about coming up with something else more productive that will fix the problems instead of just make the problems more painful for those who are unfortunate enough to not be able to do anything about it?

Comment by getify — June 4, 2010

@getify

So what is productive about coding numerous workarounds and hacks to support such outdated technology? After 5 years in the front end game I’m over the code bloat and so is everyone else. I feel I could be a much more productive engineer if I didn’t have to support IE 6.

IE 6 MUST DIE. Viva La Revolucion

Comment by someguynameddylan — June 4, 2010

The majority of the population in third-world countries can’t upgrade IE6 because they’re using pirated versions of Windows (installed by the computer store). As you know you can’t upgrade to IE7/8 if your Windows is pirated.

Maxthon is very popular in some countries, and as you know, those programs are shells over the computer’s default IE engine.

Comment by Jordan1 — June 4, 2010

Excellent! I’ve been looking for a fun and cute way to get myself fired!

Comment by okonomiyaki3000 — June 4, 2010

@someguynameddylan
100% perfectly agree.
.
@getify
Sorry … :(
.
@TheWorld
Why not do it like we did it at http://ra-ajax.org …?
Read my proposal here; http://ra-ajax.org/our-new-screw-ie-lt-version-8-policy
.
Basically summed up; display big banner talking about how insecure IE6/7 is, but only to IE6/7 users. Don’t even test your website in these browsers, which will guarantee tons of bugs for IE6/7 users. Sit back and watch the fun … :)

Comment by ThomasHansen — June 4, 2010

I think it’s just a joke, not a good idea. If we put this code in our sites, our users will blame our sites instead of their IE6. Finally, we still have to remove it. We just waste our time.

Comment by arphen — June 4, 2010

By someguynameddylan:

“The majority of the population in third-world countries can’t upgrade IE6 because they’re using pirated versions of Windows (installed by the computer store). As you know you can’t upgrade to IE7/8 if your Windows is pirated.”

Untrue. Upgrading to IE8 works without problem even on not registered Windws copy. And anyway, there are still many other free browsers to choose, Firefox, Opera, Chrome, …

Comment by movax — June 5, 2010

A truly devious plan – I like it

Comment by jhuni — June 6, 2010

“The people who force their users to still use IE6 as the main “browser” don’t want to change their environments as it means that they have to change thousands of computers and re-educate people who don’t like computers on new systems.”

Sorry but this just isn’t true – sure there are retraining and deployment costs, but the killer is the cost associated with fixing/redesigning the multitude of internal web applications that only work with IE6. I don’t think there are many companies who maintain it as a standard by choice; I think it’s the massive overhead involved in moving away from it that discourages it.

Comment by lorallax — June 6, 2010

Maybe a bit funny, but pretty irresponsible. Blackberry browser is historically much worse than IE6, should we annoy them into buying a different phone?

I’m not saying that every detail has to be the same, but sabotage is pretty unprofessional.

The above comments are for people who don’t understand that this article is intended to be more humorous than a recommendation.

Comment by zachleat — June 6, 2010

freakishly awesome :D

Comment by msmakhlouf — June 6, 2010

So many whining developers. Your job is to create websites and web applications to serve your users. The web is not there to serve your ideals as a developer. If a significant proportion of the users of the work you do are using IE 6 and are, for whatever reason, unwilling to move, then you have to cater for them or lose their business. This is the territory of the field you work in. Get over it.

Comment by timdown — June 7, 2010

This is a stab in the right direction. However, you can do this much more efficiently:

http://www.catswhocode.com/blog/6-html-and-javascript-codes-to-crash-ie6

Using code from that site the ‘effect’ you create is even more convincing.

If you really want to stop people from using IE then blurring a page wont help that much, the basic functionality (the ability to read) is still there and IE 6 users are probably able to put up with all kinds of quirky behavior. Crashing the browser is different. If an application crashes the non-geek user will invariably blame it on the application itself. If it crashes often they will stop using it.

Now we only have to really want to get rid of IE 6 enough… And by the way: Blurring is not devious, I mean really. This is.

Comment by MarcDiethelm — June 7, 2010

To all the people who thought this was a serious proposition: Get a sense of humour!

Comment by Skilldrick — June 7, 2010

heya,

@timdown: Sorry mate, but you’re the one who’s whining here, ironically. If people insist on using an outdated, unsupported and horribly insecure browser, then quite frankly, they can get what’s coming to them.

Web developers try to create awesome, standards-compliant and cross-platform websites that perform well on a variety of hardware, and scale across a variety of different media/screen-sizes.

IE6, with it’s s*itty standards compliance, numerous known yet unfixed bugs and overall general bugginess is an attempt to stymy all the innovation that’s going on in the web field. Even Microsoft has basically admitted that they were attempted to poison web standards with in, and they’ve basically fessed up and said that they’ll play nice with the other kids now, going forward.

This post was a bit tongue-in-cheek, but I think it reveals the sentiment of many web developers – we’re sick and tired of support ignorant sheeple, who refuse to use a real web-browser, like Chrome, Opera, Firefox, heck, even IE7/IE8/IE9.

Even Microsoft has basically washed it’s hands of IE6.

I don’t think you’re going to find much support here, sorry.

Cheers,
Victor

Comment by victorhooi — June 7, 2010

if(document.all && !window.XMLHttpRequest)

Bad inference. What does that have to do with filter support? Nothing, right?

Try to realize that any browser that has both a truthy document.call and falsy !window.XMLHttpRequest gets that code.

Inflicting the poor user with that (incompetent) approach is unfair. Not everyone can upgrade her browser, and maybe, just maybe, she’s using browser with a truthy document.all and a falsish window.XMLHttpRequest.

Getify gets it. Sad nobody else seems to remember similar WaSP F*Ups.

Anyone else tired of the garbage these guys blog about? comp.lang.javascript

Comment by dhtmlkitchen — June 7, 2010

Skilldrick: The post itself may be a joke but is a symptomatic of a ridiculous hostility among developers (on this forum and elsewhere) towards IE 6 users. The browser itself maybe the most difficult of current mainstream browsers to code for but that’s not the fault of the user.
Victorhooi: I am well aware of IE 6′s shortcomings and look forward to the day when I and everyone else doesn’t have to support it. Until that day, we just have to live with it and taking out our frustration on the users and calling them names is completely futile and shows a lack of empathy for people whose situation is probably radically different to your own.

Comment by timdown — June 8, 2010

Idiotic bullshit.

I know of many large sites that use IE 6 because the IT staff wrote IE-specific “web” applications that will now cost a fortune to re-write for some other browser.

IE 6 is a problem *created* by IT “professionals”, to see them ridiculing users (most of whom don’t give a rats what browser they use, as long as they have time to learn how to use a replacement and migrate their user settings, bookmarks, etc.) is pathetic.

Many of these same IT staff still say that truly cross-browser applications are impossible or too hard to write. They are incompetent idiots who hide behind crap like this and blame the browser rather than their own bad technology choices.

How about a little honesty rather than stupid ploys to re-direct the blame?

Comment by RobG — June 8, 2010

this is really funny, thanks for the post, of course i will never put this on a site(except my own :P)

Comment by CharliePops — June 8, 2010

Leave a comment

You must be logged in to post a comment.