"We always overestimate the change that will occur in the next two years and underestimate the change that will occur in the next ten."

Bill Gates.

When developing applications for the web there comes a point when you start to push at the boundaries of its base technologies. HTML was designed to present hypertext documents, with its initial incarnations not even supporting the display of images. With the rise of broadband driving the demand for richer experience, over time we've managed to push the HTML + JavaScript paradigm to extraordinary lengths. We tried to ditch the page refresh, produced ever more complex frameworks and gave the technologies a banner under AJAX, all aimed at producing richer and more “desktop” like online user experiences. As anyone has ever done this kind of work will tell you, it's not pretty and the end result is often well short of the original intention. So, when it comes to the display of hypertext, HTML still rules the roost. However, when it comes to providing a richer end user experience right up to a fully fledged Rich Internet / Interactive Application (RIA) it's a leaky abstraction - there has to be a better way.

Enter Silverlight, Microsoft's cross-browser, cross-platform, cross-device plug-in to attempt to fill this gap. When I say cross-browser, I mean that with one reasonably sized free download (around 4.5meg) and sub-60 second installation process Silverlight content is supported in Internet Explorer, Firefox and Safari. When I say cross-platform I mean that it's available for both PC and Mac and there's even an open source implementation available for Linux. By cross-device Microsoft promises versions are on the way for mobiles platforms, and in the future perhaps even media players and games consoles.

Silverlight 1.0 was released in May 2007 and was primarily focused on making headway into rich media scenarios such as video and audio playback. While it did a decent job of this, the real excitement started when Microsoft announced its plans for Silverlight 2.0 which is currently in public Beta, with a final release slated for later this year. A richer control set and excellent networking capabilities were amongst the improvements but the real jewel in the crown was that this release would include a version of the .NET Framework. While it may not sound that sexy, the implications for web development are enormous. No more switching from one language to another just because we're running client side. No more slow and buggy JavaScript code riddled with cross-browser issues stealing time from building the actual functionality that adds value for the customer. Compiled, testable and robust code authored inside one development environment. For developers already using the Microsoft stack this is a no-brainer; finally enabling rich client side web development using the same framework, languages, tools and processes as they've been using for years on the server.

While that may only excite the developers amongst you, here's one for the business types – we have been seeing productivity gains in the region of 100% when compared to developing an equivalent solution in other available technologies. Not only that, but the end result has been slicker and more robust. Crucially for anyone operating in such a fast moving sector there's an increase in amenability to change and a decrease in maintenance cost over the active lifetime of a system when you can write testable, managed, compiled code. While that may not be so important for a one off interactive campaign, for enterprise line of business applications it's a must. For a demonstration of the possibilities, targeting the largest vertical market - health, see the Patient Journey Demonstrator at http://www.mscui.net/PatientJourneyDemonstrator/.

For those looking for something with a bit of eye candy about it, Silverlight includes a technology called DeepZoom which allows extremely high resolution images to be viewed over the web quickly with smooth zooming in and out. The best example is currently available at the Hard Rock Memorabilia site (http://memorabilia.hardrock.com/), where the images on display are up to 10gig in size, your location and the current focus calls back to the server to bring in contextual information in the panel on the right. In this case we're dealing with some brand building promotional content but surely an update to Live Maps can't be far behind.

The enterprise level brings into relief Microsoft's strongest card and also it's weakest. It maintains a dominant position in the enterprise IT world through the Windows platform and Office cash cows as well as its development stack and associated tools. In the coming months it should be able to leverage these assets to ensure Silverlight adoption and acceptance in the enterprise environment, something that Adobe has traditionally struggled to do with its own client side plug-in Flash. Despite years of promoting it's technologies for use in this arena how many core line of business applications are you aware of written in Flash / Flex? Its genesis was as a lightweight web animation player and to an extent you can still feel that legacy when trying to build complex applications with it today.

However, Microsoft was slow to the Internet party, perhaps inhibited by the innovators dilemma of cannibalising their own revenues, and has spent the last few years trying to turn the focus of the company around. In the meantime their brand perception, not helped by their aggressive business practices of the 90's and the mismanagement of the Vista launch, has suffered. When it comes to the technologies that power online video, rich media advertising and other consumer facing user experiences Adobe has a commanding lead both in terms of plug-in penetration and designer and creative mindshare.

Microsoft should be able to use their market position, highly trafficked websites and strategic partnerships to address the issue of getting Silverlight installed on client machines. Key properties such as the Microsoft.com homepage already feature Silverlight content and we can expect to see the technology powering new versions of Hotmail and Outlook Web Access in the coming months. What chance a slimmed down Office Suite available online delivered using Silverlight? Watch this space, to an extent it has to happen, the question is when. High profile partnerships include powering NBCs online Olympic coverage (http://www.nbcolympics.com), unfortunately only available to users in the USA, and an agreement to have Silverlight pre-installed on every new PC by the world's largest PC manufacturer Hewlett Packard. In addition, regardless of the European Union's tendency to look upon Microsoft as more of a cash machine than a software company, there is also Windows Update, where Silverlight is already an optional download.

Addressing the issue of engagement with the technology in the creative sector may be their biggest challenge if they want Silverlight to gain traction in the key battlegrounds of online video delivery and rich media advertising. Adobe's Creative Suite is the established market leader in the creative tools space and while Microsoft has released its own competing Expression Suite it has a long way to go to match up. Ally this to the traditional use of Apple products in the sector and you get a resistance to anything from Redmond. There's the promise of an improved designer developer workflow - designer's can work on Silverlight projects in Expression Blend and developers in Visual Studio sharing the same code and assets and Microsoft is working hard to engage with partners to outline the benefits of the technology but it may not be until people experience products like Live Maps and Hotmail powered by Silverlight that things really begin to take off.

In the end it's wrong to only frame the discussion in terms of Silverlight vs. Flash / Flex – both have their strongpoints and their weaknesses and both will be a viable development option for many years to come. Hopefully the increased competition will serve to stimulate further innovation from both sides.

With Silverlight Microsoft has shown a commitment to the vision of cross-platform, cross-device development with write-once, deploy once characteristics and in the space of two iterations produced something that is capable of providing a genuine option for client side web development. Strategically crucial as a component of the larger move to Software as a Service and cloud computing, it's the forerunner of a range of services and technologies, including the Mesh, coming from Microsoft as a result of their Internet U-turn of a few years ago. Over the coming months and years this should provide the platform for richer, more engaging applications with the ability to scale for a global audience, better data visualisation and access within the enterprise, less plumbing work and more value generation for developers - the weaving together of the web of clients, servers, services and data in ever more ingenious ways. I for one am excited to see what that looks like.

Links

Silverlight – http://silverlight.net

Gaming

– Line Rider Port - http://linerider.com/play-line-rider-online

– Farseer Physics Engine - http://www.bluerosegames.com/farseersilverlightdemos/

– Vector Space Two Zero - http://www.ddtmm.com/vs0/

RIA

– Woodgrove Bank - http://www.cookingwithxaml.com/meals/financials/default.html

– Microsoft Health Demonstrator - http://www.mscui.net/PatientJourneyDemonstrator/

Deep Zoom

– Hard Rock Memorabilia - http://memorabilia.hardrock.com/

– Perfect Car Finder - http://www.kbb.com/kbb/PerfectCarFinder/PhotoEdition.aspx

Media

– NBC Public Site (US-only) - http://www.nbcolympics.com/