Yet Another Nail In Silverlight’s Coffin?

18 commentsWritten on June 4th, 2011 by
Categories: Opinions, Silverlight

As i'm sure you know by now, Microsoft caused a bit of a stir in the .NET development community with their recent 10 minute demo of Windows 8. More specifically, the fact that they explicitly mentioned HTML5 and JavaScript as one of the ways to build these new-look Windows 8 applications while neglecting to mention Silverlight or WPF left a lot of developers wondering what the future holds for both Silverlight and WPF. An interesting thread showed up on the Silverlight forums where Silverlight developers expressed their fear for the future of their platform. I've been following that thread with a lot of interest, not only because the statements and behavior displayed in that thread are both hilarious and astounding, but because i wanted to see how Microsoft would react to it.

Surely, if the core audience of one of their most-touted technologies of the past years started to doubt the future of their platform so openly, a response to calm down the fears would have to be forthcoming, no? The only Microsoft employee to respond was Pete Brown, and i thought it was quite telling:

You all saw a very small technology demo of Windows 8, and a brief press release. We're all being quiet right now because we can't comment on this. It's not because we don't care, aren't listening, have given up, or are agreeing or disagreeing with you on something. All I can say for now is to please wait until September. If we say more before then, that will be great, but there are no promises (and I'm not aware of any plans) to say more right now. I'm very sorry that there's nothing else to share at the moment. I know that answer is terrible, but it's all that we can say right now. Seriously.

Followed by:

Guys, I've been pretty clear that my hands are tied here, so don't read anything more into my lack of comments than that. We simply aren't allowed to say anything about this. It's not that we have nothing to say. It's not that we don't care. It's not that I personally don't care, because I do, a lot.

And finally:

This whole thing has blown way out of proportion. Base your information on our primary sources (like our press release), not on third party speculation. That's not to minimize how everyone feels, but keep in mind that Windows 8 itself is still a ways off from retail, and even much further away from internal IT adoption. The 8 weeks until //build/ is a pretty small amount of time to wait in comparison. Take some vacation time this summer, and look forward to the //build/ conference. Stop speculating based on just a small demo of some very cool new technology. Tell your management to do the same: if they're basing your project work for the next X years on the results of a quick demo for an unreleased operating system, then they are doing you and your company a real disservice.

If i were still a Silverlight developer, i'd find the final sentence quite insulting. If anything, Microsoft is doing a sizable portion of their customers a disservice by being so unclear about the future of one of their technologies. This certainly isn't the first storm to come up about Silverlight's future, and every time people have openly questioned the future of the platform Microsoft has responded rather softly. There's never been a convincing and strong "we are fully committed to making Silverlight a smart choice for the future" kind of response. And this time, no response at all. Just silence. Deafening silence even, because of Pete's remark that they are not even allowed to talk about it. Once again, the Silverlight community is screaming for a real response and they're being ignored. They're being told to wait until September.

Obviously, i don't know what Microsoft is planning for Silverlight, but i really have difficulties understanding how any company could still trust it as a viable technological choice. First the mixed messages, then the clear favoritism Microsoft is showing towards HTML5 and JavaScript (which, IMO, is justified but that's another topic), and now the unwillingness to stand up for one of their products that is being doubted so openly, for the first time by its very users who only want assurance of Microsoft that their investments in the technology haven't been a total waste. I took a lot of flack from the Silverlight community when i scored Silverlight so low in the 'strategic' department in my post where i detailed how we came to the conclusion to go with HTML(5) instead of Silverlight but this recent PR fiasco kind of validates that score IMO.

However, Microsoft certainly isn't the only one to blame here. If you read the thread i linked to, you'll see some reactions from people who've pretty much put all of their eggs in the Silverlight basket and are now reacting angrily towards Microsoft. If any of those people are reading this, allow me to quote myself from 2 posts that i wrote over 6 months ago:

If however, your product is supposed to become the basis of your long-term success, then the choice of Silverlight over HTML/CSS/JavaScript is short-sighted and ultimately flawed for a number of reasons. The first of which is that Silverlight is a proprietary technology in the worst possible way. Its future will be determined by a single company who naturally hold their own best interest at heart, and not yours. As long as it makes sense for them to keep improving Silverlight, they will and you can benefit from that. As soon as it no longer makes sense for them, the technology will become increasingly irrelevant. Obviously, that is a risk that you face with any kind of technology. Sticking with open standards and open source software might very well result in the same outcome but there is one tremendously important difference here: with Silverlight, you have no migration path.

That quote was from 'Keep Your Eyes On The Road', written in September 2010. And the next quote is from 'Developers Shouldn't Specialize', written in October 2010:

There's also another factor to keep in mind, which is more important than you might realize. If you specialize in technology from commercial vendors, you need to keep the market forces in mind that could influence the vendor. Those market forces might be (or seem) irrelevant to you, but the vendor will not let that influence its decisions and strategies if the vendor itself is competing with other companies on a much larger level than your company or your clients are. And when a vendor changes tactics due to market forces, the technology you've chosen to specialize in might be on the way out, or it might no longer be the hot new thing that you can capitalize on. And that is where one of the biggest dangers in specialization lies. If you're specialized in a specific technology, you're personally invested in it. Your current standard of life, your livelihood, depends largely on that specific technology. Sure, you can move on to something else but you will have to get used to less than you're used to, probably both in money and stature for a while. Realistically speaking, odds are high that you are emotionally attached to this technology because of this. When you are confronted with bad news regarding the technology's future, you're likely to exhibit classic denial symptoms. The recent news about the Silverlight strategy shift and specifically the reactions to it, is a beautiful example of this.

Anyone who's upset at Microsoft about this has only himself to blame. You've put yourself in this position, because the writing has been on the wall for a while now.

  • Carel Lotz

    Davy
    I’m busy looking at whether we should stick with SL as well and I’ve been following your transition with interest. Having worked in both SL and HTML 5, do you really feel that we can now develop the same compelling user experience using HTML 5 as we can with SL?  Also, what’s your feeling on how long it’s going to take for the full HTML 5 stack to be implemented consistently across the browser stacks?  Take as an example Offline Storage.  We require a proper offline storage implementation to build a cross platform offline/online solution.  HTML 5 would seem the natural choice, but the current Offline Storage scenario for HTML 5 is not mature enough IMHO.  It started off with the Web DB standard but this has now been deprecated in favour of Indexed DB API which currently only FireFox 4 and Chrome 11 has an implementation for.   So even though the promise of HTML 5 looks good, the reality is that in some areas it still needs to mature and get wide browser adoption.  This might be true for other areas of the HTML 5 stack as well.  However, some of us can’t wait for this to happen as we need to start building a solutions now.  What’s your feeling about this?

    • http://davybrion.com Davy Brion

      in the large majority of cases, yes, i feel that HTML(5) makes it possible to offer the same compelling UX than SL.  

      As for the offline storage part of HTML5… no idea when that will be properly resolved. If offline storage was a strong requirement for a new project, i’d do the whole thing in HTML(5) and deal with offline storage using a small SL plugin  which would focus only on getting the data it needs to store from the DOM and putting it in SL’s local storage, getting it out again and pushing it into the DOM. I’d think that would give me the most flexibility to move to the official offline storage once (if?) it gets resolved across the major browsers.  If every browser chooses to go with its own solution for it, i’d expect a JavaScript framework to pop up which would offer this functionality transparently across browsers. 

      Of course, if you do the offline storage with SL, it’ll only work on windows pc’s and macs (yes, i know about moonlight… i wouldn’t count on it) but if that’s no deal-breaker for you, it could be a good temporary solution.

      My general feeling about the HTML5 parts that aren’t ready yet is simple: what ever happens, try to put yourself in a position where you’ll only need to rewrite small parts or can provide dedicated fallbacks for those small parts.  I think that strategy will end up being more viable in the long run than doing the whole thing in SL.

  • John

    I have never understood this discourse at all. 

    What’s wrong with making Windows to be a native home for web-based UI?  Why we have to consider *that* as a nail to SL’s  coffin? I mean – yeah, may be, there is a nail but not because of that. SL guys had their chance and they blew it, they just did not create anything interesting in three years. 
    Naturally, MS (or some part of it) tries to lure guys who did created something valuable during that time – and those are web-stack guys. The idea is stolen from Google – that web-apps become a platform. The only difference that this platform is still called Windows. I have no idea if it’ll work, but that seems to be a logical choice from Microsoft.Now, I am pretty sure, that MS won’t kill SL or WPF with introduction of native support of the web stack (after all, it’s not a first time – remember Active Desktop, or Gadgets in Vista?). MS will support it and even improve a little for years to come. So, if someone here is a believer in superiority of SL – create something that people will start to download like crazy. I 100% sure that MS interest in XAML UI will be resurrected very soon.

  • http://profiles.yahoo.com/u/XE4JL6FVDKO3P4H22AUPULKFQA Stilgar

    I fully support that the Windws P.R. department should be shot without a trial (I believe they caused Vista to fail miserably in the market and now this)

    Maybe you are right that SL is a poor strategic choice. Maybe you are right about everything. However you miss one point – developers (at least intelligent developers) enjoy C# more than JS, .NET more than JQuery + DOM API + whatever, XAML more than HTML. I’ve invested most of my time in web programming because in the small town I live there are no jobs for SL devs (and very few jobs for desktop devs) and still I am sad. I didn’t want to do this I was just forced to do it by the market. Note that most .NET devs say that they will switch to iOS rather than writing HTML + JS. This is the whole point of the debate. We don’t WANT to develop in HTML and JS not that we can’t. Even as a user I am sad that I’ll have to use apps written in slower and less maintainable technology. This will ultimately result in worse programs.

    • http://davybrion.com Davy Brion

      i would refrain from making blanket statements about what ‘intelligent’ developers supposedly prefer… it just doesn’t seem very intelligent to me

      • http://profiles.yahoo.com/u/XE4JL6FVDKO3P4H22AUPULKFQA Stilgar

        If you are interested in programming languages and technologies for the sake of technology I believe it is obvious what intelligent developers would prefer given these 2 choices. Of course if the goal is making money or even producing the best software for the customer intelligent developers may prefer technology that is not the best from purely technological perspective.

        • Anonymous

          Why are you using the word intelligent? It has nothing to do with that. 

          As a Silverlight developer I’m disturbed by Microsoft’s lack of direction, but I also have to realize that there’s a lot of innovation, technological brilliance and intelligent design outside the scope of MS, and very much so in the land of dynamic languages and Javascript.

          “ if the goal is making money or even producing the best software for the customer”

          I really try to stay away from developers without those goals, and so should MS.

          • http://profiles.yahoo.com/u/XE4JL6FVDKO3P4H22AUPULKFQA Stilgar

            You are probably right that “intelligent” was a bad choice of words. More like developer who looks at programming as an art and enjoys well designed technology and languages instead of the 20 years of patchwork that is the web.

  • Guest

    A full team is working hard to ship silverlight 5.
    Silverlight is the language of the wp7.
    New controls (among them, a cool ribbon) were just released for WPF.
    Msft Cloud services are build in silverlight.
    Surface is powered by WPF.
    Kinect will be controlled through .NET
    Visual Studio 10 is build in WPF.
    Blend is build in WPF.
    LightSwitch is going beta shortly.

    To think that msft will abandon xaml/.net is very delusional thinking.

    Your bias is showing again.

    Yes, html5 gets focus in windows 8.  This is not a bad thing and was to be expected.  This new development platform is not there to REPLACE anything.  Just like .NET wasn’t there to replace C++.

    I don’t get why people get so worked up about this. 
    And I understand even less why you are being so biased about all this.

    Do you SERIOUSLY think that microsoft expects that all applications in the future are built with html?
    Really?

    If that’s the case, then it’s not so much silverlight that’s becoming less relevant – it’s you.

    Indeed, as said by the msft guys on the forum, it’s insane for you people to draw these kinds of conclusions based on a 10 minute demo of a product that is nowhere NEAR finished.

    • http://davybrion.com Davy Brion

      where did i say that Microsoft is going to abandon .NET? i never said anything like that

      as for XAML, i just think that it’s going to get less and less attention but you’ll always be able to use it… you can still use WinForms today as well and i think both Silverlight and WPF are going to end up just like it.  

      Which is a pity, because WPF just seems like a better choice to me if you’re going to do something that you don’t want to do or can’t do in HTML/JS… You’ve got all the hardware integration you could possibly need and you can do interop without the restrictions that silverlight has.  When it comes to Silverlight, i really don’t see the point of using it anymore… the parts in which it beats the HTML/JS combo are more hardware-integration and interop-related, and WPF is stronger there.

      • Guest

        Right, sorry about that.  I was scrolling through forums and was getting worked up by all the drama-queens thinking that xaml based technologies are on the way out.

        Taking note of my own bias here (ironically :P ) I can agree somewhat.
        Personally, I’ve never been a fan of silverlight as much as I’ve been of WPF.

        But this whole “technology X is dead/dying” is blown way out of proportion for my taste.
        Silverlight will remain important as it is THE platform of the phone. 

        The way I see it, another dev platform gets added to win8, none is getting replaced.  I never wanted SL to be a technology for desktop computing, so I’m actually quite glad that they aren’t pushing the out-of-browser bullocks :-)

        Another thing to consider here…  I wonder how “standard/open” the html5 apps on win8 are REALLY going to be.
        It seems to me that the entire idea of html is that it works on every platform.  HTML5 apps written “specifically” for win8…  I don’t see those working nicely on non-msft products.

        I assume (for the time being) that msft is going to take the HTML5 standard and add in some stuff that will be exclusive for windows.  In essence, I don’t think windows 8 will change anything for windows developers.  It will simply add things so that non-msft developers get attracted to the platform.

        They are giving html5 some love.  Enjoy it.
        I don’t expect anything else.  HTML5 support is a response to global trends.  Web 3.0 if you want.  It would be a mistake for msft not to.

        Just like it would be a mistake to sideline SL and WPF.

        I know you didn’t mention WPF… but consider this…
        How long ago was it that you heared wpf being mentioned at a conference?  Drama-queens also screamed that it was “dead/dying”.  Yet, msft themselves use the tech to develop some of their flagship products like expression and vs2010.  It releases new controls for it (silently).  It uses it to drive Surface computing. The message here is that silence doesn’t mean a write-off. 

        Use the best tool for the job.

        Besides, we all know how hard msft can suck when it comes to communication and marketing :-)

        • http://twitter.com/stevemgentile Steve Gentile

          “Silverlight will remain important as it is THE platform of the phone.”

          Sure, a phone that is holds something like 5% of the phone market ?  I don’t see how relevant that is – and since this Win8 UI is intended to run on tablets – sounds like that platform is also on the way out.

          Played around with a wp7 over the weekend, it was awful - the browser in it is horrid.  I don’t even consider this to be a phone anyone would really want.  And obviously the sales on it prove that point.  MS is so far behind the curve on this stuff it’s embarrassing - and yet another year until we see the new ‘lego’ tiles UX (which is awful, come on – all this talk on html5, that video showed MS still has no clue -it’s lipstick on a pig).

          Back to topic: (1) this is just some thin touch layer on top of the OS, some ‘widgets’ – so no need to come to any conclusions yet – all I saw was some UI that I wouldn’t even use on a desktop/laptop, it will be the first thing I turn off (2) and businesses aren’t going to promote a social UI – so hopefully MS will turn this off, and all your apps will still run all the apps they have, because again, it’s just Vista under the hood (or Win7).   

          Granted, they probably won’t turn it off because it will ‘part of the OS’  :)  This is no different than ‘gadgets’ and other failures of the past, the only good part here they are showing is the touch, and again, that is more of a tablet features – I’d be seeing my physical therapist if I spend all day holding my arms out to use a touch on a monitor  :)

          This is all hype and speculation.  If there is anything to be ‘upset’ about , I would say – the REAL issue with this announcement is the continued lack of communication from MS.  They keep screwing up because they are forgetting we are the customer, and communication is the key to all success.

          I actually feel bad for Pete Brown, because if he seriously can’t talk to his customers who are upset, then it must be a hard place to be.  I also think it’s a mistake to say companies don’t take this news and not make conclusions – if I was to build a UI product today, and asked if I should use Silverlight, to not be skeptical would be irresponsible of me!

  • Pingback: The Morning Brew - Chris Alcock » The Morning Brew #866

  • http://profiles.google.com/mike.strobel Mike Strobel

    I absolutely agree that developers should not allow their skills to become too specialized on a specific technology.  However, I would not settle for mediocrity or mere competence either.  There is no harm in becoming an expert with a given technology, so long as you take care not to become dependent on its success (i.e. don’t put all your eggs in one basket).  Still, this is a significant investment, and one that should not be taken lightly.  One must be confident in the long-term viability of a technology before investing the time necessary to master it.  My problem with Microsoft’s actions in the past few years is that they lack any coherent direction.  Their technology suite has become increasingly volatile, making it dubious to invest in in any of it beyond basic competence.  This makes their entire platform considerably less attractive.

    I’m absolutely not saying that technology should not evolve–it should.  But what we are seeing from Microsoft is not an evolution of their technologies; it is parallel development of sometimes similar but distinctly different and *competing* technologies.  Silverlight is not an evolution of .NET or WPF; it is an entirely different platform.  Sure, it has a relatively easy migration path, but it is not directly compatible with an existing .NET infrastructure, so what’s the point?  HTML and JS are certainly not an evolution of any existing desktop development solution.  Microsoft has a very bad habit of providing far too many ways to accomplish the same thing, and the result is that they are all underdeveloped, and none of them have sufficient longevity.

    If you want to see a better model, look no further than Apple: they’ve had one major technology ‘reboot’ on the Mac platform in the past three decades.  For the past 10+ years, their developers have had one language and a consistent set of evolving frameworks to work with.  When new bits are delivered, they integrate very well with the existing ecosystem.  And when they introduced a new mobile platform, it was a more natural extension of their desktop solution than WP7 is to Windows.  I’m really beginning to envy the Apple platform developers.  I won’t be joining them any time soon, but Microsoft could really learn a thing or two from their developer story.

  • http://zoldello.wordpress.com Phil

    That guy that got “kicked out” of Microsoft for saying Silverlight is dead  probably had a good point. He just was honest too early.

  • http://profiles.google.com/talktopete Pete Weissbrod

    I agree those forums are comedy, people are freaking out before all of the facts are in place. On the same token, you cant declare this early demo a definitive “nail in the coffin” either. 

    I’ve personally built 2 large Silverlight apps this year, one is pending release while the other has been well received  by 30 users depending on it for their full time job. You say that SL is automatically a foolish choice of platform, and I beg to differ on that account

    1. My target users are internal employees working in the field on windows laptops.

    2. An example UI has the required intelligence and behavior of MS outlook calendar. Purchasing a pre-fab componentone or telerik scheduler control gets me more than halfway there, while the best HTML/JS option I could find was the jquery “fullcalendar” plugin, which has no professional support if the code falls short, and I’ve found it to fall short very quickly. This choice of pre-fab controls has saved us lots of time on code surface and work effort more on business logic and less UI intricacies.

    3. SL was designed to be a stateful UI from day 1. HTML/JS has some cooler new technologies like dojo that are getting there, but they are hardly a standard yet, and most HTML/JS is still relatively devoid of state. When you have a stateful UI, it is easier to consolidate multiple user stories into a single screen, while HTML takes much more effort to do the same thing or multiple pages to get the same functionality. People like having one screen.

    4. Silverlight 4 is mature. I dont need 3D, desktop widgets, fast multimedia or any of the new stuff in SL5. I have avoided memory leak issues, my clients are as thin as I could attain, and they perform well with low bandwidth. There is always something you can improve, but SL4 is good enough to build solid UIs efficiently.

    Yes all of my reasons above are circumstantial, but my point remains the same since the FUD started last year: SL has its sweet spot, and it is very sweet. Yes I agree with you that writing public apps in SL is a fool’s errand, and that will likely never change.

    You say windows 8 runs on HTML 5? Thats really cool! I dont care that Silverlight isnt the centerpiece of windows 8. If MS leaves Silverlight as it is for the next few years thats fine by me.

  • Iftah Haimovitch

    When the employee says “I’d love to comment but I can’t”  I’m hearing “there is a super cool super secret solution we are working on”

    I’m guessing Microsoft is working on a compiler that will turn WPF apps into HTML5 apps.

    At least a tool that converts the XAML into HTML5+CSS, 
    but I’m guessing even convert the C# into Javascript
    and of course tightly integrated in the next Visual Studio.

  • Jeroen Trappers

    Hi davy, nice post. Ars now puts is more into persective http://arstechnica.com/microsoft/news/2011/06/windows-8-for-software-developers-the-longhorn-dream-reborn.ars