I wanted to clarify a few misconceptions that I’ve noticed about Silverlight. It’s gotten a lot of attention in the tech media over the past week and I’ve noticed some glaring misconceptions (both this week and over the past few years) that I’d like clarify.
But before I begin, I’d like to summarise with my take.
Silverlight, Flash and the open web are all awesome and I love living in a world where I have choice.
Ok, let’s begin…
Silverlight vs HTML 5
Some seem to think that Silverlight and HTML 5 (I think they mean “the open web” when they say HTML 5) are in some sort of competition together. I’m not sure where this came from.
Silverlight is a browser plugin, it’s optional and lives and dies by what it offers you over and above the popular standards available in your browser.
If something can be done natively then it should be.
If you want something that differentiates and requires technology not available natively in your browser then look into a plugin like Silverlight and Flash – it really is that simple!
Today, you would use the open web for layout, cross platform rendering, type, raster images, well you know what the the native browser is good for, I don’t need to spell it out.
You’d consider using Silverlight for advanced media (e.g. smooth streaming with DVR capability), LOB apps (RIA Services etc), Rapid tooling (Blend), particularly around UI animation and interaction to name a few.
The impending popularity of “HTML 5″ will blur the lines between what should be used and where. This is a good thing – it will force innovation from the plugins.
If Silverlight doesn’t offer you anything over and beyond then simply don’t use it and it will go away. If you see value in using it, then all the power to you.
This sort of choice is good. In fact, the sort of choice fuels standards, but more on that later.
Standards are better than plugins
Another debate that I find interesting, not because it’s a legitimate discussion but more because the debate is usually about the wrong topic. I often see a technical discussion about the differences. And, as important as discussion as that is, people often forget the most important part of the equation… time.
Something worth considering…
HTML evolves relatively slowly. The specification moves at the speed of the committee, which is made up of over 40 organisations, individuals and groups. This is to ensure that everyone with an interest has a valid and meaningful contribution to the specification. For example, the current HTML5 working draft can be seen here.
The chart below (credit: Ben Schwarz) gives you a nice visual of the speed of the HTML spec over time.
[image Ben Schwarz]
Contrast to plugins which a built proprietarily and are innovated upon rapidly. Silverlight 1, for example, was released in April 2007. That’s just over 3 years ago and already they’re up to version 4 and have it as the main development platform for Windows Phone 7. That’s FAST!
The reason why Silverlight (and Flash) can innovate so rapidly is that they’re not beholden to a body outside of the organisations that build them.
Now, here’s the thing. Without this sort of rapid innovation multiple technologies can not be tested in the market. If these technologies stick and there is demand, it’s makes a lot of sense for the W3C to look into integrating them into the spec.
The best and most modern example is video. Video came to life online in the form of a plugin, RealPlayer, Windows Media Player and now Flash. YouTube chose flash (and still does) as its preferred platform. Turns out people love video online and developers want it to be a first class browser citizen, thus it’s now part of the HTML 5 draft spec in the form of the
I personally love this sort of thing, I love how where there is plenty of activity and demand, a standard is formed. If Silverlight and Flash only offered progressive download video, they would shortly cease to exist. This sort of “standardisation of the popular” forces the plugins to innovate or die. This is a good thing.
Silverlight is dead, they said so at PDC
There was much speculation after the Microsoft PDC (Professional Developers Conference, it’s like MIX but just a little less awesome :)) that Silverlight was not in the keynote and that Bob Muglia remarked in an interview that “our strategy has shifted”.
I think Scott Hanselman put it best “Just because you don’t see your favorite technology in a PDC demo, doesn’t mean it’s dead”.
In fact, he’s only half right. I would say that the most recent and extraordinary achievement from the Silverlight team has been putting their runtime on Windows Phone 7. Not a small release by any stretch of the imagination.
Also, Silverlight did, in fact, feature in the keynote quite predominantly. Scott Guthrie built an ebay app using it and demoed many Windows Phone 7 apps which were written in it.
But even so, not every keynote has to include every technology. In fact, many argue (and I hear it all of the time as “the Silverlight guy”) that Silverlight has featured way too much in every MIX keynote so far. It really is totally acceptable that “Silverlight 5” just wasn’t ready to be shown or released at PDC.
Not everyone digs the “vs”
In my time working at Microsoft, I’ve watched (and been involved with) intimately how the media reacts to different things. There are many very smart and switched on journos who know what they are talking about. But there are also many who don’t realise that our industry is broad and varied. So, for example, a “popular technology” blogger really should be taken with a grain of salt when they report on developer platforms.
I live on the front line and speak with real developers and customers every day. People who bet their careers on developer platforms. They choose carefully and are very considered and thoughtful in their platform choices and almost always, they choose hybrid technologies. They almost always pick Silverlight AND HTML for example.
The real world of customers and developers is very different to the link-baiting and headline grabbing world of “vs” and “killers”.
Ok, that’s it – rant (almost) over.
I really want to emphasise that change is constant and any good developer is revaluating their tools and platforms in perpetuum. And they should do it with an open mind every time.
The open web is a beautiful thing and as a web developer you must, at a bare minimum, possess open web technology excellence – to me, that’s a no brainer.
If you so choose to embrace a plugin like Silverlight to achieve something you don’t think you can using standards then you should. This has always been the message behind Silverlight. Microsoft, nor I personally, has ever advocated it as any sort of replacement for the open web.
You live in an awesome world of choice with vendors and technologies vying for your attention. Treat this opportunity and privilege with the respect it deserves. Not many industries or practitioners are afforded such luxuries.