This version of the site is now archived. See the next iteration at v4.chriskrycho.com.
Topic: “progressive enhancement”

User Agent Detection Will Get You In Trouble

One of the joys of corporate IT policies is seeing how things break when you’re in an unusual configuration on the web. Like, say, running Firefox behind a corporate proxy that tells every site out there that you’re actually running IE7. This morning, I paused from other tasks to read an article on a well-known religious commentary website, and saw a message at the top alerting me that I’m using an out-of-date version of Internet Explorer (which I would be if I were running IE… but this is on a relatively up-to-date version of Firefox).

Bad enough that for whatever reason our corporate IT has taken to spoofing outgoing traffic this way when routing through their proxies. (One wonders just how much of the reported IE6 or IE7 traffic on the web comes from this sort of thing.) But the real problem is that the site I visited was broken. Horribly, horribly broken.

That message – “You’re using an outdated version of Internet Explorer” – told me why. Read on, intrepid explorer →

Death to vendor prefixes!

In the last few years, there has been an explosion of development in the HTML and CSS specs, much of it driven by browser innovation. As early as 2007, Apple began pushing out vendor-specific prefixes to support CSS properties not yet in the open specification. Other browser developers have followed suit, so that there are now each of -o (Opera), -ms (IE9+), -moz (Mozilla/Gecko rendering engine), and -webkit (Safari and Chrome). Read on, intrepid explorer →