While most of the web developer world is going HTML5 mad Microsoft is quietly pointing out that its Silverlight add-in does so much more. What is really surprising is that its pitch is very much understated.
In a recent entry in the Silverlight blog entitled The Future of Silverlight Brad Becker, Director of Product Management, makes the case for Silverlight's superiority.
He points out that:
On the web, the purpose of Silverlight has never been to replace HTML; it's to do the things that HTML (and other technologies) couldn't in a way that was easy for developers to tap into.
There are many Microsoft developers who, once they have understood the Silverlight idea, think that for web application Silverlight is a complete solution and HTML is only needed to host the plug-in - and in many ways this is true. If you have taken to Silverlight then there is a very real question of why do you need HTML5?
After paying lip service to HTML5 the blog then goes on to list the features that Silverlight offers. All quite unnecessary in the sense that all you really have to know is that Silverlight delivers .NET into the browser - well perhaps not the full .NET framework but a good chunk of it. So for once a Microsoft advocate perhaps isn't really delivering the hardest possible sell. What he really should be telling us is that Silverlight gives you desktop development facilities that run in the browser. While you could make the same claims for Flash its desktop credentials are something of an afterthought.
The blog then goes on to claim that Silverlight is fast and efficient and more consistent than HTML5 will be. The point being made is that while Microsoft is creating test suites to ensure that HTML5 and CSS3 works the same on all browsers Silverlight doesn't need such treatment because there is only one Silverlight. Well this is true but it's also because there is only one Silverlight implementation and it isn't open source.
Interestingly one of the more subtle implied criticisms of HTML5 and new standards is their glacial speed of production. The blog points out the Microsoft has delivered four major versions of Silverlight in in half the time that HTML5 has been under development.
All true but this misses the point - Silverlight needed four revisions to reach the first acceptable version, i.e. Silverlight 4.0. Earlier version were arguably betas and work in progress released to get ahead and test the market.
The real edge that Silverlight has is that not only does it bring desktop development to the web it also provides a single environment that will run on the desktop and perhaps most importantly on Windows Phone 7. If Phone 7 is a success it will drag Silverlight along with it - making it the single most important Microsoft technology since the introduction of .NET.
Java once boasted that it was the language that you could "write once run many" but Silverlight seems to be managing to make this claim real without anyone really taking notice. Cross-browser compatibility is excellent and cross-platform support is good with Moonlight on Linux improving all the time.
When you read the blog you have to say that its advocacy of Silverlight is understated in a way that is deferential to HTML5 and industry standards. Microsoft seems to want to avoid upsetting the open source/open standards community and as a result it can't really push Silverlight as hard as it might - it seems to lack the drive to "go for the jugular".
Yes HTML5 is nice, but it will take time before a significant number of users have browsers that support it. If you can swallow the bitter pill of using a proprietary add-in technology then Silverlight really does a lot more and it does it now.
So Brad Becker has a lot to be proud of and he really doesn't need to pull his punches. Silverlight should be causing as much of a stir as HTML5.