Microsoft says it's "all in" for HTML5. But Silverlight isn't dead. Internet Explorer 9 and 10 enables developers to write the same markup and run it anywhere. But the browsers can do things no other browser can do, so you'll need to write different versions of your Web apps anyway. Microsoft is sending mixed messages.
Don't get me wrong. Internet Explorer and Windows Phone 7 look better than ever. And Microsoft really does seem to get the potential behind Kinect, its most innovative product in years. But the muddled message shows that Microsoft is still experiencing some difficulty figuring how to be an "open company," and is confusing hype with reality.
Internet Explorer 10 and Markup Portability
Microsoft is calling the IE/Windows 7 implementation of HTML5 "native HTML5" because of the deep integration between the browser and the OS (where have we heard that before?) that "avoiding abstractions, layers, and libraries." Basically, it renders SVG animations really, really fast - at least in the tests that Microsoft has created.
In an interview, Corporate VP of Internet Explorer Dean Hachamovitch explained that Microsoft's IE strategy is to show developers the performance capabilities inherent in the new versions of the browser. Once developers see what they can do, they'll want to create these sorts of rich media experiences, he says. But what about users that aren't running IE or are using devices that can't support these features? Hachamovitch says developers can create alternate versions of their sites, much like the touchscreen and WAP optimized alternate versions developers create today. But that seems to fly in the face of the "write once, run anywhere" mantra Microsoft has been repeating.
Hachamovitch also makes it clear that the browser won't be available for other platforms like OSX, Linux, iOS or Android - all of which are popular among developers. Will developers want to build these sort of rich features on a browser they can't use themselves? Or will they adopt Windows 7, Windows Phone 7 and IE? Maybe that's not a huge problem for Microsoft, since IE is till the most popular browser in the world and Windows is still the most popular operating system. But with the proliferation of tablets and smartphones - most of which run Webkit-based browsers - "IE first" development doesn't seem that appealing.
Or will other browser makers step-up and improve performance - in which case, do IE's advances even matter?
The browser market is a tough place. On the one hand, you've got to make a browser that is standards compliant so developers don't have to re-code their entire sites to work in it. On the other, you've got to create some way of distinguishing the product so that users want to switch. Since browsers are given away for free, the prize for winning is... well, nothing.
Microsoft is banking on security, which has improved greatly in IE in the past couple years, and performance, which is increasingly important in the browser-centric world we live in. Microsoft has had a reputation for the past several years of being slow, insecure and unreliable. If the improvements its making here are real - and it's too early to tell if they are - it could finally turn that reputation around. And that would be a win in and of itself.
Instead of providing clarity about Silverlight's future, Microsoft provided a laundry list of new features, showed off a flashy new Silverlight-based website built for the U.S. Navy and failed to provide a real "killer use case" for Silverlight.
Although HTML5 is an unfinished spec with many limitations, Microsoft is hyping it to no end and showing off the high performance HTML5 its platform enables. Silverlight is still more powerful, and existing Silverlight developers are still committed to the platform, but Microsoft is less clear than ever about why developers should use Silverlight instead of HTML5.
Gavin Clarke writes for the Register about the session "HTML5 for Silverlight " at MIX:
"I get a lot of questions: 'Should I use Silverlight or HTML5?'," senior technology evangelist Giorgio Sardo told Mix. "I'm sure you know your customers better than anyone else. I'm not going to judge which works better. HTML5 has matured a lot in the last year. Silverlight is great for media scenarios. I believe HTML5 is ready. I think Microsoft is ready for HTML5. The question is are you ready?"
In other words, Microsoft has no official stance - officially at least. It's up to you.
On the one hand, Microsoft invested deeply in Silverlight. On the other hand, it's committed to HTML5, which is seen as "the future," but isn't really ready for prime-time. It wants to ride the HTML5 hype without diminishing Silverlight, and that's becoming more difficult - especially as HTML5 performance is getting better.
Ultimately, the answer is: use HTML5 whenever possible, use Silverlight (or something else) when it's not possible to use HTML5.
Does It Matter?
Here's what I can't decide: does it really matter if Microsoft can "save" Internet Explorer? What benefit does the company gain by keeping users on its browser? At the moment, it seems designed to try to keep people using Windows and/or get them to upgrade to Windows 7. I still think that's a tough sell.
And If Microsoft's future is really in the cloud - with Azure, Bing and Office 365 - then why does it matter which OS and browser you use?