Saturday, November 24, 2007

Internet Explorer 7, P3P and Entrecard

You have no idea how angry I am right now. My anger towards Microsoft and IE7 is a towering inferno of geek fury. I can barely restrain my urge to unleash a rant.

I am going to go play computer games until I calm down.

Long story short, I believe I have resolved the issue that prevented IE7 users from being able to drop on widgets. It came at the expense of one area of particularly cool traffic offloading that we had, and at the expense of my sanity. What was left of it.

The essence of the problem was identified by Wavumi earlier. Basically, Internet Explorer went off on this one-browser missing to "make the world safer" by refusing "third party cookies" (that is, cookies being delivered in an iframe, which is how we make the widget work). Except, of course, that doubleclick etc needed 3rd party cookies in order to work, so bowing to commercial pressure they decided to allow them if the website includes a machine-readable privacy policy, called P3P.

Now, at this point everything basically sinks into the sea. You see, the number of people who want to do 3rd party cookie stuff in order to put their forum in an iframe or whatever, is N. The number of people who can be bothered reading the P3P spec is N/100, and the number of people who can fight their way throught he commercial smackfest that is P3P generators, make any kind of reasonable judgement about all the vague terminology in the spec, and actually implement a rational, intelligent P3P file is N/10000.

That means, 9999 out of every 10000 sites with P3P settings have complete crap in them, rendering the entire exercise worthless. However, I have this retarded perfectionist gene which make me wade through all that stuff to Do It Properly.

Only to discover that IE7 *doesn't care* that I did all that work, because the only part of the whole thing it'll read, is the "compact" form, and the only place it'll read it is in the HTTP headers, which means the really spectacularly geeky-cool trick I played with javascript redirectors in order to set cookies on the amazon s3 service is completely useless for IE7 users.

So in the end I had to rip all of that stuff out so that we could serve the "button" iframe from our primary server instead, just so we could set an HTTP header, just so Microsoft could pat themselves on the back for protecting "the users" from..nothing at all.

Anyway, in the final analysis it shouldn't change things much. Our ability to handle future traffic has probably just dropped from millions of blogs to hundreds of thousands or something like that but you won't see me losing sleep over it any time soon, and it won't slow any user sites down since the latency (if there's any) is contained within the drop button frame and thus won't delay the page load at all.

Oh the pain. Time to go play some more supreme commander.

Labels: , , , ,

0 Comments:

Post a Comment

<< Home