The single most frustrating thing for me as a web developer is the incredible disconnect between day-to-day development and the shiny, shiny stuff showing up in HTML5 and modern browsers. It's made all the more frustrating by bold pronouncements from any (every?) vendor about how much more awesome the web will be thanks to the shiny stuff their upcoming release. The reality for web developers is that those features won't matter on a relevant time-scale. Not your next project. Not your next 5 projects. No, the lag today between new features and when you can use them might as well be measured in geologic time.
How bad is it? The next time you read some tech journalist write about how some new browser version is just around the corner and how it'll make everything better, remember that:
- 50+% of Windows users are on XP a year after Windows 7 shipped and 3.5 years since Vista shipped
- Windows XP will be supported until 2014, giving organizations on XP extra breathing room to limp along on IE 6-8
- There will be no IE 9 for Windows XP
- After something like 4 years of MSFT urging customers in the strongest possible language to get off of IE 6, it still has 16% of the market, and it's not falling nearly fast enough. At the current 0.75%/month dropoff, we're looking at 20+ more months of IE 6. At this rate, kids born today will be walking and maybe even talking by the time we can write IE 6 into the history books.
The goal here isn't to drive you to drink, but to call out the dichotomy between when users get features and when developers can address features. For users, things tend to get better as soon as you pick up a new browser. Developers have to wait until every user makes that sort of choice. Said differently, users can benefit from the bleeding edge but developers are beholden to the late adopters.
We should cut tech journalists and users a little slack, though; in a world without adoption friction, the launch of a new feature would translate directly into the sort of "now you can build sites and apps with awesome thing X". The instinct to believe that's how it should be is spot on. But that's observably not how the world works. Don't believe the hype. New browsers alone haven't fixed the problem so far, so what makes us think they will in future? No vendor wants to talk about their last version, but for web developers stuck in the trenches, that all there is to talk about. That's where the pain is, after all, and counting on browser upgrades to fix the problem quickly isn't working well enough. Chrome's aggressive auto-update feature is changing the way things will work in future, but for now we're still stuck in the slow-upgrade dynamic.
We need a Plan B.