I attended the Microsoft MIX11 Conference in Las Vegas a couple weeks ago and, as usual, sat in the two keynote addresses eagerly waiting big announcements and cool demos. Sitting with my buddy Richard Campbell of .
NET Rocks!, in the minutes before the first keynote I jokingly said, "I sure hope we have a little Silverlight 5 goodness in this keynote tsunami of HTML5." He replied saying something like, "Silverlight is the future; but the future is not Silverlight… it's HTML5." We laughed—but little did we know that, when all was said and done in this first-day keynote from Dean Hachamovitch, Microsoft corporate VP in charge of Internet Explorer, how eerily poignant those statements were.
Don't get me wrong, I'm very excited about the HTML5 thing. It is just that:
1. We are so far away from the power and ease of use in the tools and beautiful plumbing we have in Silverlight.
2. Because of the buzz... er... HTML5 hysteria for the next year or so, until HTML5 becomes "real" we are going to painfully have to explain the trade-offs, use cases, and scenarios where Silverlight and HTML5 applications live and don't live from a solution architecture perspective.
Yet, I heard a few resonating quotes from Dean Hachamovitch in the keynote that caught my attention:
"HTML5: native to Windows." Now, didn't this VP—or perhaps another—say essentially the exact same thing in a different way at the MIX conference in 2007 before the Windows Vista Launch: "XAML: native to Windows"? Well, it might not have been that conference, but it was one of them. And Avalon, as it was called, was going to be one of the Four Pillars of Windows Vista. It was going to be a completely extensible and programmable Windows desktop built in XAML. There were even demos in early prototype form. I remember being pretty excited about building XAML-based applications (WPF) that actually "lived" in the desktop. Unfortunately it never happened. So, if in fact Windows 8 is going to be skinned/built in HTML5, then—cool; sounds awesome. God only knows why that wouldn't be done in XAML, but still it's cool. However, I'm skeptical because I have heard this tune before.
"Native implementations are just better." Hey, now. That's exactly the opposite of what was said at numerous Microsoft keynotes over the last three years. In fact, we heard loud and clear that runtimes, as opposed to native implementations, were just better. Better, for numerous reasons, not the least of which is that runtimes like Silverlight are cross platform. That is what we were told.
And now I'm sitting in the audience watching native HTML5 applications built for the IE9 browser that are talking directly to the GPU and getting awesome vector graphics and performance, and I'm watching the Microsoft execs do some Google Chrome bashing—and I'm thinking to myself, "Oh my God, we are on a 'back to the future' collision course set for 1998." Back to when our web applications were basically built three different ways to accommodate the three major browsers of the late 90s. "He is not going to say it, is he? Oh my God, he did":
"Browsers that optimize for modern operating systems give better experiences." Translation: "You can only do this cool stuff in IE on Windows Vista or later."