Yeah. More frequently posting on my blog != once a year. I get it. More on that later.
Since I mostly share on twitter, I usually don’t get around to writing out longer posts – it takes time to be interesting and sound coherent when you’re not restricted to 140 characters. But sometimes I want to say something that I just can’t sanely fit into 140-character blocks, no matter how hard I try.
One thing that cropped up in a conversation yesterday was “what happened to IE after IE6”. I was a little aghast at the wild rumors of engineers fleeing the team due to political issues, since that wasn’t what happened, and since I’ve said this publicly before (e.g. my keynote at the Ajax Experience in Boston in 2006), I figured I might as well reiterate.
As we were finishing up the product cycle of IE6, the engineering team was still really excited by the technology and innovation we’d been doing in the web platform. (Newbie, before you go bothering entering random IE-bashing in that comment box, go find someone who was around on the web in 2000. IE6 *WAS* the best. Well, okay, maybe IE5 Mac.) However, we’d been seeing very little adoption of the rich client platform we’d built; it was hard to build rich, sexy applications, and Flash was starting to take off. Outlook Web Access was the “biggest” rich web app around. The dot-com bubble was bursting. There were a few experiments with “Web OS” – that is, building a desktop on top of the web platform – but they were slow and lacked functionality (probably because they also lacked a business model). Finally, we were also getting mired in backwards compatibility – it’s all very well to say you should fix standards bugs, but we kept breaking current pages. People get upset about that – both developers and customers. (As an aside, I’m a big fan of the IE compatibility mode solution we implemented in IE8; I only wish we’d done it in IE7.)
And, of course, we were pretty far ahead of the competitor’s released product at that point, and sadly, Microsoft does seem to work best with strong competition motivating it.
At the same time, Microsoft really needed to invigorate the Windows API. We’d learned a lot of lessons from our experience with the web platform – e.g. that markup is a great tool for developers to use alongside code, and that managed code languages are easier in many cases than C++ – and we wanted to bring those tools to building Windows applications. This led us to start working on the platform re-think that eventually became WPF/XAML/.NET3.0 – and that’s what most of us moved over to work on in that timeframe.
On top of that, that time period was also when Microsoft (and the broader industry, but Microsoft in particular) started getting hammered with security issues, since hackers started realizing they could get PAID for finding ways to insert software into users’ machines. This took a tremendous effort to address, and a sea change in writing secure code; it was quite impressive to see the response to that challenge internally, but that’s a story for a different day.
So, unfortunately, this was a perfect storm that led to the “IE plateau”. Happy it’s over. Glad to see that the web platform isn’t in too much danger of becoming homogenous again any time soon.