Silverlight’s Broken Promise

14 commentsWritten on November 20th, 2011 by
Categories: Opinions, Silverlight

By now, I'm sure you've all read about the rumors that the upcoming Silverlight 5 might be the last release of Silverlight. Of course, people who've been paying attention to the Silverlight news coming out of Microsoft and the blogosphere in the past year shouldn't be surprised at this. But for those of you who are still in the "oh please, it's just a rumor" camp, you might want to keep in mind that every negative rumor about Silverlight of the past year has turned out to be true. As a result, I fully expect the upcoming Silverlight 5 release to indeed be the last stop along a troubled line.

Plenty of Silverlight developers were concerned that their investment in the technology would end up being worthless. I never really understood that since I've always believed that good developers focus on skills that are transferable to multiple technologies instead of betting it all on a single technology. Nevertheless, many Silverlight developers were up in arms, but their worries and fears seem to have been calmed by the news that Windows 8 will make extensive use of XAML. Silverlight developers will be able to transfer their XAML skills to building Metro apps and of course, WP7 apps. And there's no reason to assume that Microsoft intends to change its smartphone platform in a way that would diminish the importance of XAML. So, Silverlight developers who were worried that their skills will be worthless don't really have anything to worry about and I'm sure many of them are quite relieved by that. After all, many Silverlight projects will be able to run as native apps on Windows 8 with relatively minor modifications.

Of course, that doesn't quite offer a solution to the thorny little issue about all the Silverlight projects that have been developed because of some of the benefits that Silverlight promised: cross platform and browser-independent availability of the plugin. The promise was that you could develop projects that would be available to users no matter what platform or browser that they were using (believers of this promise would even mention Moonlight, which has never really offered a truly compatible version), and with no deployment-related issues. After all, users only needed to have the Silverlight plugin installed to run your software. And that promise has been broken. Yes, you can migrate your Silverlight projects to Windows 8. Yes, people will be able to keep running existing Silverlight projects as long as they have the upcoming Silverlight 5 runtime installed. But we also already know that the Metro version of IE10 will not run the Silverlight plugin and that running the plugin in the 'desktop' version of IE10 will require users to install it themselves. For enterprise software, that's not much of an issue but you do have to ask yourself: how long are you willing to hang on to a plugin that Microsoft itself is no longer interested in improving in the long run?

The reality of the matter is that your Silverlight products only have a future if you convert them to WinRT so they can run on Metro natively. Which means you've lost the ability to reach users on multiple platforms and devices. The very same technology you picked because of its cross-browser and cross-platform benefits has forced you on a path where in the future, you can only target users on the Windows platform meaning either Windows 8 or WP7. Sure, you can hang on to the fact that the plugin will be available for a few more years, but that also is a limiting choice since an ever increasing number of users will be running iOS and Android, and there's no reason whatsoever to expect the plugin to actually run on those platforms. Hell, WP7 doesn't even have the Silverlight plugin for its browser. My previous employer pretty much bet it all on Silverlight, mostly because they didn't want to deal with HTML/JavaScript, but also because they thought it would eventually be available on all devices. Which essentially means they're stuck with a couple of products that only really have a long-term future on Windows 8 or WP7, and its subsequent versions. Unless of course, current promises about said platforms are broken again. Yet another reason to start taking open standards and technologies that have multiple stakeholders seriously, I suppose.

  • Chris Brandsma

    Not just Silverlight either, Adobe seems to be doing the same thing with Flash.  I would also say the era of the browser plugin is over (for now).  The new king will be HTML5.  And lets face it, if the major browsers get HTML Video standardized, a lot of the need for flash goes away.

  • http://twitter.com/BosDev Luc Bos

    With an adoption rate of ‘barely’ 70% and no decent runtime to run it on Linux (I don’t call Moonlight usable), I wouldn’t call Silverlight cross platform.  The only way it’s cross platform is between Windows and MAC.  The reason many developers like Silverlight is because it’s very easy to build nice things for the web without resorting to some painful CSS and HTML. The only true cross platform technology at the moment is and remains HTML and javascript.

    I still have a hard time to believe that the Silverlight plugin will eventually go away definitely seeing that there will always be things that won’t be possible with plain HTML and javascript (eg: DRM, smooth streaming, …).  Though it seems that Microsoft is pushing hard to get rid of it.

    • pFaz

      Have to agree with Luc. If you chose Silverlight as a cross platform solution for web development then what were you thinking? With the unstoppable force over the last 3+ years that has been iOS as a consumption platform and never ANY chance of Silverlight being available, the result was innevitable. Microsoft made the point over a year ago that html should be your platform of choice for reach (Muglia anyone!?) so let’s not kick up a fuss and claim we’ve been duped and didn’t see it coming (including your previous employer Davy). I really believe Microsoft originally intended for Silverlight to be everywhere (as did Adobe with Flash) however they can’t dictate policies for other closed platforms so the decision was pretty much taken out of their hands.

      If you’ve been doing silverlight for the past year or two, than I expect and hope that you were building intranet business applications and taking advantage of the programming model and productivity that silverlight and it’s associated tooling provides. That doesn’t change with Win8. Silveright 5 isn’t even out and once it is, you’ll have support for a number of years so where’s the panic. Additionally, whatever you’re building should migrate fairly easily to WinRT in the future should you choose (and no, I don’t mean Metro. WinRT will have to move to embrace LOB development, msft just doesn’t have time to cover this for Win8).

      If you don’t like change and technology moving underneath your feet without any control of your own, then you’re in the wrong industry…

      • http://davybrion.com Davy Brion

        i think you may have a wrong impression of me :)
        i’ve been warning against the use of Silverlight for over a year now, so i certainly don’t feel duped by the change in direction. as for not liking changes in technology… i’ve been encouraging people through this blog to not limit themselves to one platform or language or whatever and to focus on skills that are transferable and to experiment with multiple languages and platforms.

        as for being able to migrate your apps to WinRT, I mentioned that in my post as well… the point is that it’s become quite a limiting choice whereas Silverlight’s original intent was pretty much the opposite.

      • http://twitter.com/pablonete Pablo Núñez

        I like “change and technology moving”, but moving from XAML to HTML+CSS is not a step forward from point of view of the productivity. I agree with you on that broken promise about cross platform, but that was never the main request for a LOB application but for a consumer app. On LOB field, high productivity of using XAML in both WPF and Silverlight should be a heavier reason for using it.
        I won’t negate HTML5 will be the platform for future app, even LOB ones, but so far I don’t see it madure enough, there’s no easy cross browser functionality, every day new js libraries arise for this purpose and even simplest feature or design request get harder than over XAML.I have worked this year in projects over both platforms, and my point of view is that productivity average is higher over XAML than over HTML+JS+CSS, especially on design tasks. I started working with XAML cos I liked its model and power, and am not discarding it just becouse Microsoft had changed its priorities.

  • http://twitter.com/tbmihailov Todor Mihailov

    I still can not imagine migration of a business application to Metro UI. May be I have no imagination. Howerver next business app technology for me is HTML5 + Javascript + WCF Data and RIA Services .

  • http://twitter.com/verheyenkoen Koen Verheyen

    I’m not totally convinced. There’s really two worlds here. The business world (the customers we target – and them I’m talking about our company) don’t make a fuzz about opting for one platform really. They always did and seem to continue to have such “single-platform-policies”. We always had and continue to get calls for offers that only target one platform for just the one or two devices. These are corporate standards if you will, but still standards. Testing for other platforms is not even in the scope of our projects (to reduce the cost and they know it). Usually the platform is Microsoft, so I believe it’s not too bad to target merely Microsoft technology as a software distributor. As long as you keep your eyes open for other markets. If Silverlight ends it will not be too hard to migrate to whatever Microsoft tells us comes next. Otherwise they will lose a lot of their biggest market…

    The home consumer market is a different world. Then we’re talking about cross-platform and advanced mobility and apps. Whatever area in the technology spectrum you avoid, you’re leaving a share of the pie for someone else. Smartphones have definitely changed the technology world over the past 2 years. iOS and Android are booming, but I guess for our customers that is just a world that stops at 9AM and starts again at 5PM…

    Too me it’s a matter of specialization which is what business customers want. But it’s true that any good developer should be able to transform easily between the two “worlds” because that proves you are flexible in your skills…

  • http://www.facebook.com/andrew.jakobs Andrew Jakobs

    Try convincing your colleague of that. We’re just starting with the frontend and no matter what I say they keep storming ahead with silverlight with the saying ‘nonsense, SL will be supported for a lot of years and HTML5 hasn’t even been finalized yet and doesn’t support the easy MVVM as SL does’. And it should be used for a SAAS and regular desktop version, and they even planned a small part of ASP for the employee part, which means everybody (except the emplee part) would need Windows (and if the rumors are correct, even only IE), instead of just creating one pool in HTML5 so everyone on any device which supports HTML5 (which is a heck of a lot more than SL these days) can enjoy the content, and no need for a special ASP for employee part.

    • http://www.facebook.com/judahgabriel Judah Gabriel Himango

      >> “and doesn’t support the easy MVVM as SL does”

      I used to think that way. Then I discovered KnockoutJS (http://knockoutjs.com) – it does MVVM easier than any WPF or SL framework. Forget INotifyPropertyChange, forget all the MVVM event plumbing. MVVM is a piece of cake with KnockoutJS.

  • Xalikoutis

    So i am very glad that i have never written a single line of code, a single app for silverlight. Thus i practised myself over html5 and javascript. So my next bussiness app will be written on html5, javascript (knockout.js, less) and wcf services. I think that this is the only secure compination of tools for building web apps these days. Also is the most right one because it enforces a plugin free web. It is the future on desktop, mobile, tablets , coffee and washing machines

    • http://www.facebook.com/NaibStilgar Stilgar Naib

      I am surprised anyone can be happy that he would write crappy HTML and JS for the rest of his life instead of Silverlight. I have been doing web development for 5 years now and I am scared by the possibility to develop on this joke platform for the rest of my career. This is why I’m thinking of doing some mobile work. At least the document format we use to develop applications has not taken over the mobile space… yet.

  • http://www.facebook.com/judahgabriel Judah Gabriel Himango

    I wrote as much here: The Bell Tolls For Flash, and Silverlight Isn’t Far Behind.

    The bottom line is that web plugins are done, for now. Flash and Silverlight are phasing out. Time for Flash and Silverlight developers to invest their skills in another platform.

  • Anonymous

    It’s interesting.  Silverlight came along at some point while I was focused on other things.  I look up, and see this whole generation of developers just absolutely convinced that Silverlight is the coolest thing in the world and makes it easier to build web applications.

    Did Microsoft actually push this?  I’m unclear on that, I always got the impression from what little I was paying attention to that they built Silverlight mainly as a competitor to flash, to build plugin widgets, mostly for playing video.  I have a friend who works in the video space, and they jumped on Silverlight early because of that.

    Then I got a job at a place trying to build a huge application using Silverlight.  This was going to be their new platform for the web, and it was going to be composite, all these business units would build modules that would work, so they used Prism.  It was absolute crap, worst development experience of my lifetime.  All the problems we had with MVVM and WCF and authentication and so on, I just didn’t see the driving benefit.  I learned to dispise Silverlight.

    Granted, a lot of it was because of bad decisions made, taking Microsoft samples and trying to scale them to an enterprise solution, but I still never saw the value in any of it.

    And then on top of that, our first customer… a big 50,000 employee retail outfit.  They used linux on their desktops, and had a substantial install of iPads.

    Our solution?

    Buy 200 servers and install Citrix on them.   That was scalable and cost effective!

    • Anonymous

      I totally agree. I’ve visited maybe two websites with Silverlight content and I think they were, in the end, Microsoft’s. Go figure.

      Even for a developer (let alone the general online public) to not notice Silverlight’s growth despite me knowing about it and even creating a Silverlight project for 10 minutes of uninspired mucking around, is a poor effort on their part.

      To be honest, I never once liked the idea of yet another platform limited third party web content plugin, irrespective of the fact it used the delectable C# and .NET framework which I’ve come to absolutely adore for RAD on Windows.

      The problem with Silverlight in the dying age of Flash is that it was itself, the same as it, just with different syntax. Apple began the death of the website content plugin and I’m personally glad they did.

      Even if HTML5 is still not complete, it’s a plugin-less, platform agnostic technology (at least it’s a lot more widespread now than the availability of these plugins are) for delivering a similar level of content that we want out of Flash.

      This is my personal experience, but Silverlight flew past in some other direction then I forgot about it.