Silverlight versus HTML, Flash – Microsoft defends its role

Microsoft’s Brad Becker, Director of Product Management for Developer Platforms, has defended the role of Silverlight in the HTML 5 era. Arguing that it is natural for HTML to acquire some of the features previously provided by plug-ins – “because some of these features are so pervasive on the web that they are seen by users as fundamentally expected capabilities” – he goes on to identify three areas where Silverlight remains necessary. These are “premium” multimedia which merges video with application elements such as conferencing, picture in picture, DRM, analytics; consumers apps and games; and finally business/enterprise apps.

It is the last of these which interests me most. Becker’s statements come soon after the preview of Visual Studio LightSwitch, which is solely designed for data-driven business applications. Taking the two together, and bearing in mind that apps may run on the desktop as well as in browser, Silverlight is now encroaching on the territory which used to belong to Windows applications. With LightSwitch in particular, Microsoft is encouraging developers who might previously have built an app in Access or Visual Basic to consider Silverlight instead.

Why? Isn’t Microsoft better off if developers stick to Windows-only applications?

In one sense it is, as it gets the Windows lock-in – and yes, this is effective. I’m aware of businesses who are tied to Windows because of apps that they use, who might otherwise consider Macs for all or some of their business desktops. On the other hand, even Microsoft can see the direction in which we are travelling – cloud, mobile, diverse clients – and that Silverlight fits better with this model than Windows-only desktop clients.

Another consideration is that setup and deployment issues remain a pain-point for Windows apps. One issue is when it goes wrong, and Windows requires skilled surgery to get some app installed and working. Another issue is the constant energy drain of getting new computers and having to provision them with the apps you need. Microsoft has improved this no end for larger organisations, with standard system images and centralised application deployment, but Silverlight is still a welcome simplification; provided that the runtime is installed, it is pretty much the web model – just navigate to the URL and the app is there, right-click if you want to run on the desktop.

If Microsoft can also establish Windows Phone 7, which uses Silverlight as the runtime for custom apps, the platform then extends to mobile as well as desktop and browser.

The downside is that Silverlight apps have fewer capabilities than native Windows apps. Printing is tricky, for example, though Becker refers to “Virtualized printing” and I am not sure what exactly he means. He also highlights COM automation and group policy management, features that only work on Windows and which undermine Silverlight’s cross-platform promise. That said, via COM automation Silverlight has full access to the local machine giving developers a way of overcoming any limitations if they are willing to abandon cross-platform and browser-hosted deployment.

A winning strategy? Well, at least it is one that makes sense in the cloud era. On the other hand, Microsoft faces substantial difficulties in establishing Silverlight as a mainstream development platform. One is that Adobe was there first with Flash, which has a more widely deployed runtime, works on Android and soon other mobile devices, and is supported by the advanced design tools in Creative Suite. Another is the Apple factor, the popular iPhone and iPad devices which are a spear through the heart of cross-platform runtimes like Silverlight and Flash.

Finally, even within the Microsoft development community Silverlight is a hard sell for many developers. Some us recall how hard the company had to work to persuade Visual Basic 6 developers to move to .NET. The reason was not just stubborn individuals who dislike change – though there was certainly some of that – but also existing investment in code that could not easily be migrated. Both factors also apply to Silverlight. Further, it is a constrained platform, which means developers have to live with certain limitations. It is also managed code only, whereas some of the best developers for both desktop and mobile apps work in C/C++.

I suspect there is division even within Microsoft with regard to Silverlight. Clearly it has wide support and is considered a strategic area of development. At the same time, it is not helpful to the Windows team who will want to see apps that take advantage of new features in Windows 7 and beyond.

Yesterday Windows Phone 7 was released to manufacturing, which means the software is done. Another piece of the Silverlight platform is in place; and I guess over the next year or two we will see the extent to which Microsoft can make it a success.

2 thoughts on “Silverlight versus HTML, Flash – Microsoft defends its role”

  1. You’ve hit the nail on the head, Tim. Silverlight is the answer to a question very few people are asking… It’s not cross platform, no matter what “promises” Microsoft have proffered (most people know how much MS promises are worth if breaking them will increase returns to shareholders, or cut losses), it certainly doesn’t offer a better value proposition for developers than many other existing technologies. For people with large investments in existing code bases, the siren song of Silverlight is off-key and not at all seductive. Personally, despite Microsoft trying to seed marketplace with reference users (offering them various “incentives” to take up Silverlight) I think it’s going to flop. There’s no fundamental demand.

    By the way, you mention Adobe Flash as competition, but I think the much bigger competition is HTML5 and associated technologies like Javascript, SVG, Canvas, and newly available multimedia codecs, being promoted by both Google and Apple). Those technologies *are* cross platform, as they primarily depend on web platforms which are cross platform and device architecture. Webkit and Gecko run on *everything*, and there are orders of magnitude more people developing for those platforms (parleying their existing web and traditional programming skills) because they see it as a more viable platform. The market is voting with its feet.

  2. Tim,

    Good points, however I feel you omitted one significant factor in Silverlight’s (and WPF for that matter) failing in attracting more developers. MS has a plethora of backend devs who seem reluctant to make the switch to a client technology. There is obviously the ASP.NET and WinForms crowd to convert, however those developers as a whole have never been as visually driven as the DHTML & Flash crowd (IMO). I think the value-add of switching to SL or WPF is much less for someone who puts less store in user-interfaces. That said, WP7 is a sexy platform and hopefully via SL it will help drive more .NET specialists towards front-end technologies.

    Justin

Comments are closed.