In an interview at PDC last week, Bob Muglia (Microsoft President of Servers and Tools) scared the crap out of Silverlight developers across the land. This week, he posted a clarification on the Silverlight Team blog. I have included the last paragraph:
The purpose of Silverlight has never been to replace HTML, but rather to do the things that HTML (and other technologies) can’t, and to do so in a way that’s easy for developers to use. Silverlight enables great client app and media experiences. It’s now installed on two-thirds of the world’s computers, and more than 600,000 developers currently build software using it. Make no mistake; we’ll continue to invest in Silverlight and enable developers to build great apps and experiences with it in the future.
I suppose the original strategy was something like “Silverlight everywhere” and now it will be “Silverlight most places”. Silverlight, Flash, Unity, Google Native Client and whatever else will always be ahead of HTML5 in functionality. However, these plugins will inevitably lag1 in adoption. If you require broad compatibility or don’t need special functionality, plug-ins were never a good choice. Ever. They never will be. Ever.
Write once, run anywhere only makes sense if you are talking about similar form factors. It is a bit naïve to write a Silverlight desktop application and expect the same experience to suffice in a mobile environment. The processing power, input mechanisms, and screen sizes are so drastically different that using the same code will provide a non-optimal experience in one or the other. The same is true for products using HTML5. Are mobile sites going to go away with the advent of HTML5? Are desktop apps? Of course not.
The reality is that Silverlight will continue to be a phenomenal platform to develop native and web enabled applications for the desktop (Windows or Mac). That knowledge and perhaps some of the code will roughly translate to Microsoft’s mobile and embedded products as well. For anything else, consider a different tool.
1The irony of the entire Silverlight is dead argument is that Silverlight has broader adoption than HTML5 and Microsoft’s own products don’t support HTML5 yet (i.e. IE9 is still in beta and WP7 does not support HTML5). Of course, this won’t last.