You’re Not The Web Standards Police, Apache

I saw the above commit popup in my Twitter feed today. What the above code does is ignores IE10’s Do Not Track (DNT) option. If you don’t know what DNT is:

Do Not Track is a technology and policy proposal that enables users to opt out of tracking by websites they do not visit, including analytics services, advertising networks, and social platforms. At present few of these third parties offer a reliable tracking opt out, and tools for blocking them are neither user-friendly nor comprehensive. Much like the popular Do Not Call registry, Do Not Track provides users with a single, simple, persistent choice to opt out of third-party web tracking.

(source: http://donottrack.us)

Apache is browser sniffing for IE10 because the spec says that DNT shouldn’t be turned on by default and IE10 has an option pre-selected, not turned on, but pre-selected to be enabled during “express install”. They somehow have missed this and even with others mentioning this they come up with other grand reasons of why Microsoft did it this way.

The truth of the matter is, they are following the [unfinished] spec and even if they weren’t why is Apache punishing the users of IE? Who cares what Microsoft’s thinking is. Deal with Microsoft on fixing this, but don’t ignore user choice because of the browser they use. Now, users will think they have DNT on, yet little do they know, Apache decided to screw them over because IE didn’t do it a way Apache deems acceptable and therefore no one gets DNT on IE10. It’s the thinking of web developers in the 90s all over again.

From a user experience perspective I completely agree with Microsoft on how this was implemented and don’t see anything wrong. If they would have hid it away in some advanced preference panel no average user, which is the majority of IE users, would ever see or know about DNT. What use is a feature if no one knows it exists? If they keep adding steps into “express” installations users will ignore the steps and just click “next” until setup is complete and ignore all the steps. Does nobody remember Vista? In the current implementation they get one screen of all the settings automatically set and an option to change any of them. Users are far more likely to read one bulleted list over 3 or more pages of setup instructions.

My biggest concern with all of this is the fact that Apache thinks its OK to be the standards police like this. It’s making the conscience decision to interpret a spec and give punishment to a vendor for not following it exactly (I think Microsoft did, but thats beside the point). That’s just not how we’ve all decided to do the whole standards thing. We decided that we were going to stop with with the “this site looks best viewed in…” banners and instead organically get vendors to follow along, not force them into following it and punishing users while they’re at it.

So, Apache, I have one simple request, can you please just give users what they asked for and stop with your self righteousness?