Mar 282011
 

I’ve been hearing a lot lately about how HTML5 is going to kill Silverlight. I hear that Microsoft has admitted that it is going with HTML5 in favor of Silverlight. And I hear that Silverlight is a doomed technology.

Here’s the problem: this is all untrue. Microsoft has not said anything of the sort, and is in fact investing quite a bit of resources in advancing the technology. Secondly, the road to HTML5 is far from smooth.

In this post I hope to examine the current state of HTML5 and Silverlight, the facts around Microsoft’s position with both of them, and offer some opinions on where things are going.

Let’s start with the basic facts. Here’s what is relevant about HTML5, mostly pulled from the source of all knowledge and truth:

  • Development of the spec started over 6 years ago.
  • Depending on who you cite, it will not be a full fledged recommendation until somewhere between 2014 and 2022.
  • If you look at compatability charts (you may remember those from when you were doing web development back in 1999), you will see that different engines support different parts of the spec correctly, while other parts are ignored or broken.
  • I did a good amount of searching to find one major site that is using HTML5 exclusively (optional things like YouTube’s trial don’t count) and couldn’t find a single example. Please post in the comments if I missed something obvious.

And here’s some relevant facts about Silverlight:

  • Version 1 was released in 2007.
  • It is now on Version 4, released in 2010.
  • Version 5 is in progress, with a stated direction from Microsoft, and a beta target in 2011.
  • It is available in most major browsers for Windows and Mac.
  • It is the underlying platform for Windows Phone 7, which is obviously a key investment for Microsoft.
  • It has been used by major sites such as Netflix and the Olympics.

Now, with that background info out of the way, we can talk about the 800 lb gorilla in the room: the interview with Microsoft’s Bob Muglia in which he states that their “strategy with Silverlight has shifted”. The statements in the interview were further clarified by this announcement from Muglia. Those two relatively innocuous sources were blown way out of proportion by the media and bloggers. Ignore the media hype, and take a moment to actually read what was said. Go ahead, I’ll wait.

Wow, I can’t believe he said that Silverlight is dead! Oh wait, he didn’t. In fact, he said things like “Silverlight is very important and strategic to Microsoft” and “The purpose of Silverlight has never been to replace HTML, but rather to do the things that HTML [...] can’t, and to do so in a way that’s easy for developers to use.” When I read the interview and the announcement, I got the sense of a high level person in Microsoft reaffirming the strategic direction for Silverlight, and how it will overlap and coexist with HTML5. It’s not like Microsoft can ignore HTML5 – that would be suicidal for Internet Explorer. But they can certainly present an alternative technology that fills a needed gap.

In fact, all of this “Silveright is dead” nonsense was started by a guy who is now on his way out of Microsoft. Of course, whether or not Muglia’s transition is related to this Silverlight debacle is not public knowledge. But at the very least this means you should take Muglia’s statements with a grain of salt.

So what does this all mean for people that need to invest in a platform for rich internet applications? Should you go with Silverlight or HTML5? Well, here’s a chart of the advantages of each as I see them.

Silverlight

HTML5

  • Developer productivity. Silverlight is the clear winner when it comes to tooling and developer resources. Plus, it has the whole .NET platform backing it.
  • Maturity. Silverlight was released in 2007 and has had several new versions released since then. HTML5 is not even officially released yet, and won’t be for a few years.
  • Stability. Silverlight is a well-defined platform that, for the most part, is controlled by a single vendor. Microsoft has also assured us of backwards comptability in future versions. Your Silverlight app won’t suddenly stop working when a new version is released. Conversely, for some time to come, it will be a chore to get an HTML5 application working in all major browsers. And new versions could break existing HTML5 apps at any moment.
  • Functionality. There is nothing offered by HTML5 that isn’t possible in Silverlight. However, Silverlight has many features that aren’t present in HTML5. Silverlight has the lead on HTML5, and will be able to be more agile with new features.
  • Reach. In the near future, every Internet-aware device released to market will support HTML5 (at least some aspects) natively. Silverlight will only work on devices where Microsoft has a vested interest in porting the plugin.
  • Vendor neutrality. If you go with Silverlight, you are putting all your eggs in the Microsoft basket, which will certainly make some uncomfortable. HTML5 will be supported by all major vendors. There will be many options for tooling and frameworks.
  • Guaranteed viability. HTML5, once released, will not go anywhere for a very long while. Although I think Microsoft will support Silverlight for quite some time, HTML5 will probably outlive it in the long term.

So what do all this mean? Well, everyone in a decision making position on Silverlight vs. HTML5 will have to reach their own conclusions. But I have put a good deal of time into this subject, so I will offer my opinion: I prefer Silverlight. I don’t think it is going anywhere, and it is clearly a more productive, feature-rich, and just plain fun platform. Developing with it is a breeze compared to the Rube Goldberg machine that is HTML, CSS, and JavaScript.

However, Silverlight is not the solution for every problem. There are some areas where it clearly shines because the disadvantages of its reach don’t matter. This includes things like internal line-of-business applications, as well as applications that have a captive audience such as web-based games. But there are also cases where Silverlight is not the best idea, such as websites that should be available to the lowest common denominator visitor, or websites that have to function on every conceivable platform. And, gods help me, if I begin to see entire websites constructed in Silverlight like we saw in the early days of Flash, I might just blow a gasket.

I will conclude with a crazy prediction for the future: Silverlight will eventually “compile” (I’m taking some liberty with that word) to HTML5. It will run in HTML5 browsers without the need for a plugin. It will do this using the HTML5 canvas tag, and some very clever JavaScript. I’m not exactly sure how it will all work, but I think the liklihood is pretty high. Imagine having all of the power and productivity of Silverlight and .NET, with all of the reach of HTML5. It’s enough to make a geek cry.

Let me be clear: this isn’t my idea. I’ve heard it suggested by others who have far more business making predictions than I do. But I have been touting the idea for awhile. And imagine my surprise when a few weeks ago, a well-known competitor of Silverlight released some experimental technology very similar to what I’m envisioning. Certainly lends credence to the idea that we’ll see something similar come out of Redmond. And I can’t wait.

 

  3 Responses to “Silverlight vs. HTML5”

  1. Good points Justin. If Silverlight fails, I don’t think it will be because of HTML5. Plugins have always been the leaders in delivering rich content and I don’t see why HTML5 will change that. If anything, HTML5 is a perpetuation of the same HTML standards model that has always needed browser plugins. With HTML5, video and canvases are the minimum for the presentation layer, but I expect RIA plugins to go far beyond that. Also, Silverlight provides that one thing HTML5 doesn’t… C#. Time will tell.

  2. This was just release today (April 4th) from the Silverlight team. A very interesting read on the direction of Silverlight 5 and HTML5.

    http://team.silverlight.net/announcement/standards-based-web-plug-ins-and-silverlight/

  3. Having just come back from an MS Conference in Orlando last week, what I heard is that the industry guru’s (non-MS people) were advocating HTML5 as a good long term solution but it was going to be a very slow an arduous process. They gave a daunting timeline of how HTML 4 played out, and the current timeline of HTML 5 – which extends over the next 7-10 years in it’s entirety.

    On the other hand, the talking heads from MS spared no effort in evangelizing Silverlight to the fullest. It does not appear that they have the intent to trash it anytime soon.

 Leave a Reply

(required)

(required)

You may use these HTML tags and attributes: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>