Silverlight 5: Back from the dead?
At its recent Professional Developer Conference Microsoft’s Bob Muglia signalled a major change of strategy for the company’s Silverlight technology. When first introduced Silverlight was intended to become a near universal cross-platform web runtime like Flash. Now Muglia revealed that Microsoft saw HTML5 as the future for universal in-browser development while Silverlight was being repositioned as a native application development platform for Windows Phone 7 devices. Unsurprisingly, most pundits saw this as an admission of defeat, with our own Jon Honeyball asking: “Silverlight RIP?”
Yesterday, just over a month later, Scott Guthrie announced the “Firestarter” launch of the new Silverlight 5 beta under the slogan “the future of Silverlight starts now”. So what's going on?
Silverlight 5: What's New
Silverlight 5 offers a whole host of major new features, with general highlights including support for GPU-based graphics and video handling, 64-bit support, a new web browser control for hosting HTML content, the ability to read and write to the user’s Documents folder, the ability to launch Office apps, reduced network latency and improved XAML parsing to boost performance, and a new class of trusted applications that will provide full desktop functionality within the browser.
For developers there are a number of additional advances including databinding and debugging enhancements and support for Model View, multiple window handling, Visual Studio profiling and Team Test. For designers the highlights include video improvements, smoother animation and greatly enhanced text handling with support for features such as tracking and leading, pixel snapping, multi-column layouts and text runaround promising “magazine-style handling”.
All in all it’s pretty impressive stuff, leveraging Microsoft’s Windows, Office and development strengths and taking web-based application delivery into places that HTML5 can only dream of. Moreover, while there isn’t an obvious immediate game-changer here, it’s clear that Microsoft isn't exactly taking its foot off the pedal and is still pushing the cross-platform Silverlight runtime hard.
So what should we make of Microsoft's mixed messages? In particular is Microsoft recommending HTML5 or Silverlight? Should Silverlight be used for cross-platform web development or native WP7 application development? And who’s in charge: Bob Muglia or Scott Guthrie?
I think the best way to understand what is going on is to think in terms of the near, middle and long term.
The war on the ground: handheld combat
Currently there’s no doubt that Apple is in the ascendant with the iPhone and iPad setting the standard for smartphone and tablet devices, and its native iOS applications conquering the planet. Moreover with his ban on the Flash and Silverlight runtimes, Steve Jobs has ensured that both Silverlight and Flash have lost their greatest asset: universality.
Unless that ban is dropped or users defect, Steve Jobs is effectively able to hold the all-important demographic of affluent early adopters hostage in his magical walled garden: the only open way to access them is via HTML(5) as indeed Microsoft has done with its Silverlight-free Office web apps.
Clearly Microsoft needs to become competitive in this handheld space that Apple has made its own and Windows Phone 7 is crucial to its plans. Making Silverlight the development platform for WP7 makes absolute sense in the near term, allowing the army of desktop Windows developers to take their skills to the mobile platform and begin making some money. Moreover, while Apple is holding back the potential of universal in-browser Rich Internet Applications, concentrating on native application development again makes sense: if you can’t beat him, copy him.
Thinking ahead: don’t forget the cloud
In the longer term however, the picture is likely to change completely. At the moment Apple is pretty much the only game in town and everyone is delighted with what their iOS native apps can deliver. Over the next few years devices are set to proliferate, not just WP7 devices but devices from RIM and Nokia and, even more significantly, from the wide range of Android and soon Chrome OEMs.
This will provide real competition for Apple but it will also mean that the advantages and economies of scale of cross-platform, in-browser development and delivery will again become obvious: better, cheaper, automatically up-to-date apps that aren’t tied to a particular device and are accessible to everyone from anywhere and everywhere.
Apple’s current dominance obscures the fact, but the future of computing still lies with universal rich internet applications in the browser (and content on the server), not with device-specific native applications. Apple can’t deliver to the world as a whole, but the cloud can and will. When this is recognised, the benefits of a native application platform that automatically extends to an in-browser runtime, and so to all supporting platforms and devices, will come into its own. And Apple’s closed approach, exemplified by its lack of a cross-platform runtime, will be exposed.
As things stand, Silverlight is certainly not delivering in the way that Microsoft or developers had hoped and expected. In particular its inability to make inroads against Flash in the browser and the emergence of Apple as the handheld superpower have left it caught in no-man’s land. And shooting yourself in the foot as Bob Muglia did at PDC certainly doesn’t help.
However talk of the demise of Silverlight is premature. Yes things are happening quickly, but the war for the web isn't going to be won in a day. In particular while there is huge excitement among early adopters for the potential of the handheld space and in particular for Apple’s brilliant devices, they still make up only a tiny fraction of the market.
By the time that every user is looking to buy a smartphone and tablet (and early adopters their next smartphone and tablet), the situation will be very different. General understanding of the benefits of cloud-based delivery (online and offline) will have matured and the next generation of open, handheld devices optimised for both Silverlight and AIR will be able to deliver.
When these foundations are in place, users will be looking for an integrated approach to computing that spans their smartphone, tablet and set-top box. Crucially, they will also want to integrate their desktop (Windows) and their main applications (Office and other WPF-based applications). Thanks to its work on HTML5, WPF and especially Silverlight, Microsoft and its army of desktop developers will be well set to deliver.
Rather than an admission of defeat or forced retreat, Silverlight’s current shift towards WP7 native development should be seen as strategic repositioning and the opening up of a second front. Eventually though, as Silverlight 5 demonstrates, Microsoft is still betting that the war will be won in the air.