Last Wednesday I had the chance to present to the first meeting of the newly formed Silverlight User Group. The topic was Silverlight and Accessibility and how to write Silverlight applications within the boundaries of the New Zealand Government Web Standards. Great to see and increasing interest in Silverlight and I’m looking forward to coming along to some more sessions over the next few months.

One of the interesting things we discussed was the extent to which Silverlight had (or rather had not) already entered the market.

So, why weren’t more people using it and what is preventing it becoming the platform of choice? Silverlight is certainly moving in the right direction to become a serious contender for delivering a rich, web based, experience for users that will rival traditional web applications. But it still has a way to go.

A few years back I remember talking with colleagues about how we have surely reached the limit of delivering rich applications over the Internet using traditional HTML/JavaScript based applications. At the time, I thought the introduction of smart client applications would revitalise the desktop market and we’d be back to the good old days of stateful, performant and rich business applications where we didn’t have to jump through hoops just to get a dropdown list to auto-complete! And then Silverlight came along and I thought, finally, we have the best of both worlds – a rich, stateful application running on a client’s machine but with the cross platform support and ease of deployment we’ve grown used to with HTML applications.

But then some genius decided to market “Web 2.0” and a whole industry sprang up around how to build richer web applications with technologies like Ajax and jQuery.

Enough already! We’ve flogged this horse to death! The Internet was never designed to build rich, transactional, LOB applications - there must be a better way.

So why aren’t we all building web applications in Silverlight right now? I think there are a few important reasons.

  • Time – the biggest factor is the time in which Silverlight has been available – these things take time. Remember Flash has been around since 1996 and Silverlight only got introduced in 2007. But even given its infancy it’s had an incredible number of downloads – Tim Sneath states, “For starters, Silverlight 2 shipped four months ago, and in just the first month of its availability, we saw over 100 million successful installations just on consumer machines.”
  • Fear – there is a perception out there that having to download a plug-in is dangerous, a security risk in a world (justifiably) paranoid about idiots who are trying to compromise their PCs. This is only heightened when it’s a new technology that you don’t know much about. Remember that Flash has been around a long time now – long enough to have gained a level of acceptance in the market that makes people more likely to accept a download. Or not have to because they already have it installed.
  • Cross Platform Support – if Silverlight is going to rival HTML based apps then it has to have the same level of cross platform support as HTML (or at least Flash). The lack of support for Mac users is a problem. Currently, unless you’re running on an Intel processor using OS 10.4.8+ you’re probably out of luck. Limited support on a wider set of browsers is also a problem. For a list of compatible OS/Browser combinations check this out.
  • Perception – most people new to Silverlight think of it as another way of playing videos in a browser – so why use Silverlight when Flash works fine. Microsoft themselves were (are?) guilty of only demonstrating the media and graphics capabilities of Silverlight. The reality is that Silverlight is much more than this and over the next year we will see more and more examples of how to use Silverlight to build LOB applications. Silverlight 3.0 has tons of new features to help you do this and I am hopeful this will make a difference.
  • Accessibility – criticism of both Flash and Silverlight have centred on a belief that they are inherently inaccessible. One of the reasons for my talk was to show how Silverlight can be made more accessible and in some cases achieve levels of accessibility not possible in standard web sites. In New Zealand at least the adoption of WCAG 2.0 was a step in the right direction but, unfortunately, we have specific exceptions to this international standard that explicitly prevent us from depending on client side web technologies regardless of the accessibility features of the technology.

I’m really looking forward to seeing where Silverlight heads – as a developer it’s an incredibly powerful platform to build Internet applications and as an end-user it has all the cool factor you could want.

I say, bring it on!