The consequences of declaring WPF is dead.

When you write a blog post like the one I wrote around WPF being dead, you tend to get a few emails that are either filled with confusion such as “it’s dead?…wtf?” or worse you get the email that basically outlines how you just ruined a perfectly good deal for someone.

Having just received one of these emails, I thought I would address a crude FAQ on the pros and cons of WPF being dead.

Question. If we all say WPF, is dead, wont that hurt its present day adoption?

Answer. Yes. Definitely and I have personally been at the bruising end of that conversation. There is no doubt that if we the .NET community declare WPF end of life we in turn let Microsoft get away with their bad decision making (in truth my bad decision making as its former Product Manager) and lastly we shoot ourselves in the foot for future XAML friendly work.

Having said that, declaring it dead is important short-term loss but potentially long term gain and I will explain why.

Mobility platform adoption is at critical crossroads. Today companies worldwide are under a lot of pressure to discuss what their software offerings in and around web + mobility are likely to be. That is to say, the sales pipelines are handing feedback up stream that ask the question in around “when are we going to be mobile” (not in a literal sense but conceptually).

If we today continue to prop up WPF as a “good enough” technology bet knowing Microsoft has abandoned any further support then we are placing the entire .NET community at risk of alternative development. This is to say that most developers who are bored with .NET or do not’ care will not be fussed either way and probably would embrace this all the more.

Developers who do enjoy sitting inside Visual Studio and dare I say, Expression Blend might find this a troublesome thought to contemplate. The fact of the matter is .NET development is successful given its tooling story and .NET framework often gets you in and out of the development workload quite fast (I am a former Java/ActionScript developer, so I am not saying this a pure .NET whore).

If we ignore the Windows 8 and Windows Phone 8 proposition in favor of high fiving WPF, well we are placing our short-term bets on desktop development here and now whilst leaving the whole mobility continuance exposed to iOS or Android development.

This in turn can have a knock on effect, whereby developers in the .NET space are given a choice of either doubling down on HTML5, up/down-skilling in iOS or Android development practices or worse being outsourced to specialist teams who have prior experience in the alternative(s).

WPF has no mobility story other than a remote desktop application on an iPad touching a desktop built in WPF (messy and clumsy).

I see the whole Windows 8 proposition as a mess; do not get me wrong Microsoft have done us all no favors with their UI choice(s), developer relations nightmare and lastly internal bickering and constant wave after wave of aggressive behavior.

It is time the company either started to fire some executives or regroup and come up with a better strategy than the one(s) they have now. Until such time, it in the end it has been left up to Architects worldwide who have influence to provide clarity around what the Microsoft mobility offerings look like and help position new projects towards this in a calm manner.

I am not saying this will happen overnight it will probably take 1-2 years to push the business community into the Microsoft Windows-only mobility space. If we also can carefully, correct Microsoft messaging that WPF is dead whilst at the same time Windows 8 is the next version of WPF (current source code, tooling and skill reuse), you stand a greater chance of success than you do by choosing to downplay its state.

The trick is to go beyond Microsoft’s weak guidance today that “Silverlight & WPF aren’t dead, XAML/C# are alive!” as if that was the answer to the question. It clearly needs to be expanded on further and teased out in careful threads on what that actually means.

It’s not about XAML/C# it’s about “can I keep my existing work on Windows 8” first and foremost. If they can answer that question with clear and definitive guidance the whole WPF is dead becomes less of a bad taste.

If they cannot answer that, then look to the blogger left or right of you and pray they understand Microsoft better than they themselves as its coming down to the ye olde “influencer takes all” position.

Ubiquity seems to always be a sticking point with Microsoft. The fact that WPF right now has probably one of the best ubiquity stories that would make Silverlight at its peak salivate with envy still goes largely unnoticed. It has to do with Microsoft’s lack of marketing & evangelism around this but in reality you could knock out a WPF application and reach more audiences than most other languages.

Think about that, how many Windows machines are there worldwide, specifically when it comes to Business customers (less consumer). Now what has always been the sticking point about making applications in HTML vs. Windows? Answer – cross platform.

Having cross-platform has always been most sort after request and the main core reason why WPF adoption has often been parked in the “maybe next time” bay. The amount of times at Microsoft when I was in the Product Management team we faced this issue we would often just retreat to Silverlight as an answer hoping that would get deals across the line where possible (hence Silverlight got all the investment and WPF didn’t).

The reality is Microsoft is a Windows only company and for a while, Silverlight and its x-platform strategies distracted us all, but ultimately that is what killed it. Microsoft cannot as a company afford any more to be semi-agnostic; they are losing so much market share right now it is ridiculous. They now have to regroup (Windows 8 product lines) and go back to their tired playbook of “Windows Only or bus” (it’s the only trick Sinofsky knows).

If Microsoft cannot position WPF as a viable solution to real problems and instead are bowled over with weak answers to the cross-platform perception then what are we all doing? Do you keep fighting the lonely fight or do you regroup and rally behind the one thing that actually might get you out of this discussion a bit more cleanly via the Windows 8 pitch.

Tooling is tapering off. I do not see Visual Studio 2012+ and Blend+ continuing much more in investment around Windows 7 + WPF.  We all saw this happen with WinForms and it is not as if they will cut and run with these two, they just will not spend too much time on the problems that are faced with tooling for WPF.

WPF is likely to still have internal investment so long as Expression Blend and Visual Studio continue to pull from its code base how that spills over to the public though is an open question (that will not yield answers). It is in Microsoft best interest to turn a cold shoulder here on WPF (despite its internal adoption) publically in order to get everyone shifted over to Windows 8 in a more timely manner.

If they let WPF linger or keep feeding it backwards compatibility then it turn becomes what Windows XP has been to Windows 7 or Internet Explorer 6 to Internet Explorer 9 … a legacy you just can’t kill off no matter how much you promise “new” is better.

Question. Ok, so you are saying let’s all announce WPF is dead and long live Windows 8?

Answer. Yes. Before you grab your stones and start throwing my way, it comes back to the key driving principle behind why that is. Do you optimize for a short-term gain and in turn leave the mobility and future platform battle to the alternatives or do you instead promote its end of life but do one better than Microsoft themselves by outlining what the transition will look like over the next two years.

What I mean to say is, do not just say, “its dead, end of story”.  Instead, say, “It’s dead as long as Windows 7 isn’t alive. The future of WPF however is tied-up in Windows 8, so if we want to get more into mobility then we have a transition moment here. We can continue to keep existing code that we have written and transport it across primarily. Secondly, we can also retain our developers skill sets that we have invested today given the tooling and languages are still intact (with minor and major modifications throughout).

It sux and I am facing the same issue right now. As I sit here and type this on my Office 13 Preview via my Windows 8 Install, I am doing so under duress. Do I like Windows 8? I don’t like the UI, sorry I think Metro is a form of mass design retardation in full flight but on the flipside I can live with it provided I get a UX platform that I can do more with.

I will trade my dislike for Windows 8 upfront if it can let me create a vision of what I think the software industry should do with its out of date workflows & problem solving. I’ve waited 15 years+ for a descent UX platform to come along, I sat through VRML, DHTML, Flash, Flex, WPF, Silverlight and now this hell spawn known as Windows 8.  I worked as an outsider and insider on all of the above and I’ll be damned if I’ll give up now because some bald headed napoleon complex ass-hat decides “He’s got Steve Jobs beat”.

Question. You are still putting developer’s jobs on the line.

Answer. Yeah I probably am. I am not proud of that fact and when I was part of a team that funded Silverlight & WPF we actively choose to ignore WPF in favor of Silverlight. It was a calculated bet at the time but clearly, the result is we have two products facing a slow death march in favor of a reboot to a solution we almost had at the start.

Let me unpick that further.

When I first joined Microsoft, we were fighting to get WPF into the hands of .NET developers worldwide. We needed to move everyone from Windows XP over to Windows Vista and in a timely fashion. Microsoft spent millions pushing the agenda alongside getting Office Open XML blessed as a standard (given it would help influence adoption).

The whole thing was a mess and as a result Silverlight was born if anything as a way to buy some time around what to do in terms of solving cross-browser and cross-platform related issues (with a keen eye on mobility).

Silverlight did its job initially but in the end, the chaos that flowed from those days to today still is haunting us all.

My point is that by talking openly about the technology platforms the way I have, I am looking to cut through the political and chaos that is before us today. I am looking to instead help others diagnose the problem aloud as in order to solve a problem you first have to admit you have one.

WPF is dead. Ok. Now what. Do you go HTML5? Probably yes, but do you honestly think WPF being alive or dead have influence to this discussion – more to the point do you think this blog is going to send companies racing for HTML5 now? I would say if a decision is to go down the HTML5 path that thought was planted well before I arrived there.

Do you invest in iOS or Android? Again, go for it watch the dollars you were going to spend on HTML5 and WPF escalate given its not only foreign development practices to your existing .NET space but you probably will have to absorb the time to up skill or hiring of specialist teams to do the work (India outsourcing can only buy you so much).

If this blog is the catalyst to a WPF team getting the termination letters then you were cooked well before I arrived I’m just the 1000th cut.

 

 

 

 

 

Related Posts:

  • deanvmc

    Hi Scott,

    I am a .net developer for a software house which creates custom products for the food industry. I wanted to jot down my feelings about this whole situation and perhaps get your opinion on them, note for the sake of madness I will use the name Metro Apps to refer to whatever they are called now.

    -: I actually think Metro is the reset we needed. While I agree with you that currently metro is meh, fundamentally it’s core concepts and principles jive with me more than skeuomorphism. I think one of two things are going to happen here. Either metro will evolve and succeed as an alternative to skeuomorphism or it wont. Eventually we all have to take calculated risks, mine is to back Metro.

    -: I agree with you that Metro Apps are essentially WPF / SL V.Next. Like it or not Metro App’s are pretty much what we asked for in terms of a platform story that would handle multiple device scenario’s, developers can crib and cry over disliking the look but in the end we got what we asked for, albeit in a V1 format.

    -: WPF is dead, in the same way WinForms is dead, I mention this because I am in the process of building out a brand new module for our product suite, which is all WinForms based, in WPF. Why? Because until Metro Apps provide features I need as a LOB developer WPF is the closest thing I have to Metro Apps. It will be times easier to port from WPF to Metro than it will to port from WinForms to Metro.

    -: Death is what you make it, I have mentioned that WPF is dead, and it is true that WinForms are dead, that doesn’t mean I cannot use them, maybe we need another word other than dead for superseded tech. People will spend the next 12 months lamenting SL and WPF, I will spend those same twelve months building a WPF app, the same way I have spent the last 2 years building WinForms apps, in an equally dead tech. and when the time comes…

    -: Reuse is a lie, When the time comes and Metro is good enough, I will port my app from WPF to Metro, there are so many tears over reuse but I think it is a red herring. Eventually ports happen, they are natural, it’s just how it is.

    I want to be clear that I am not defending Microsoft, they have made some terrible choices and handled V.Next very poorly in my opinion but ultimately I think it HAS to happen. Currently there are still many very profitable companies who got lazy on WinForms holding back innovation for the sake of comfort. Metro may not be your cup of tea but at least we are moving in the correct direction, when these sort of shifts happen you can do only one two things, go down kicking and screaming or just ride the waves.

    Lastly, people who are worried about the death of WPF, especially those who have just made the leap from WinForms need to understand, that if at any time they are worried about the fact that WPF is dead, they can always go back to WinForms and fire ahead, business as usual, with that “other” dead UI Framework.

  • Andrew

    Scott, I enjoy reading your blog.
    However, it still does not successfully point out or give hints to the answer for a simple question: what’s so bad with Silverlight that MS had to ‘let it go’?
    I find it a pretty good cross-platform framework, with very good tooling support.

    I don’t agree with the idea that Silverlight was killing IE.

    I think IE failed due to different reasons like performance and poor support for the HTML standards(that’s another thing I didn’t understand, why did they leave an importunity for Chrome and Firefox, why didnt they catch-up faster?)
    But still, from dev. perspective, I think Silverlight is quite a good cross-platform dev framework.
    Why it has to be an AND instead of OR between IEHTML5 and Silverlight?

    On the other hand, I never understood why MS created a cross-platform dev framework like Silverlight. Why did they care about other platforms?
    I know it was because of Flash, but why did they care about Flash?
    Why didn’t they make Silverlight built-in in IE? They could have had some cool stuff exclusively on IE.
    MS has been pretty schizophrenic, their decisions make little sense.

    As a WPFSilverlight developer(still), I would love to hear some ideas from you.

    Thanks!
    Andrew

  • Andrew

    In my opinion, the risk with Metro UI is it can get easily incarnated in horrific UIs, at the other extreme, opposite of the skeuomorphism.

  • deanvmc

    This is no different that terrible skeou UI’s, both can be done badly.

  • Andrew

    definitely!

  • So where do we go from here? That’s the question I keep coming back to. For the kind of apps I build on a daily basis, HTML5 is lacking and I don’t see that changing.

  • Andrew

    What I meant was “Why it has to be an OR instead of AND between IEHTML5 and Silverlight?”

  • deanvmc

    WPF or WinForms, nothing has changed if Metro does not suit you.

  • Scott Barnes

    Your searching for a logical answer from a company that is paralyzed with compete scenarios that date back 20 years .. The thinking involved here isn’t normal .. They play a much bigger game with higher stakes than developer sat levels . Silverlight died that day we named out of browser as a feature

  • Daniel_Automitive

    RE: Job losses

    I lost my employment because of the Silverlight debacle, when management soaked up all the confusion issuing from Microsoft. Not because of anything you wrote.

    Guess what: I learnt HCJ (HTML/CSS/javaScript) and got a new job. I can do all the things I did with Silverlight (probably on a par with version 3) and it runs everywhere. I needed to learn how to program javaScript effectively and a framework (dojo) to support my efforts. This took a few months and a rookie project.

    I won’t look back. Also I won’t be recommending my new client invest $50,000 in Windows & SQL Servers, I have discovered node.js: I fully expect Microsoft to go the way of IBM. Pity, Silverlight was the only thing that could have kept their foothold in the cooperate world.

  • Andrew

    WOW, you just proved me what I’ve been thinking about for a while.

    I am currently still a Windows developer, have few SL projects in the works, but I am toying with and reading about web stuff, like HTML5, jqueryMobile, Knockout.js, etc

    Since the ‘we shifted our priorites’ crap, I wondered myself if MS is that stupid.
    I mean, the day I will make the transition to web dev, I won’t need Windows at all. In any form.
    I will just get a MacBook Pro, never look back and not even bother to read even the smallest news on SL/WPF/.NET/Windows thing.
    That includes backend stuff as well, because once you do the transition as you did, you will do it for backend as well.

    Is this what they really want?
    Microsoft is acting schizo, and it’s killing their own good stuff, and to me, a mere mortal, they look like they are a bunch of frantic guys acting without having much clue.

  • Andrew

    LOL, there’s no news on SL I can read about 😀

  • Andrew

    Umm…mkay.
    I wasn’t hoping for some distilled ideas from you.
    I know there are are higher stakes than developer sat level, i’m a mere mortal.
    Since you said you worked at its inception, I was just trying to at least understand the reason you guys started on SL as a cross-platform. Again, I know it was partially a response to Adobe’s Flash, but it still doesn’t make sense.
    I’ve read your blog but it still doesn’t make any sense.

  • Andrew

    I meant ”
    I WAS hoping for some distilled ideas from you.”

    Damn. Why the hell I can’t edit this thing.

  • guest

    Nicely said and imo an accurate assessment.
    “It is time the company either started to fire some executives or regroup and come up with a better strategy than the one(s) they have now”
    Couldn’t agree more. While I suspect you’re referring more specifically to the dev strategy, I’d argue that two things have been obvious since at least 2006: 1) Ballmer is incapable of taking MS to the next level 2) The current overall strategy, approved by him and the board, has failed to reenergize growth and is no longer viable. The implication of #1 is obvious: Ballmer has to go. The implication of #2 is more troublesome. It means a wholesale sweep of the existing board, Gates included, may be required in order for a new CEO to set a new strategy unfettered. Time is clearly running out if MS refuses to change.

  • Convert

    Rails baby, ROR into the 21st century

  • Silverlight’s reason for being built varied it had a lot to do with cross-platform compete threats. The scary scenario in Microsoft at the time was that people would use Adobe Flash to write LOB applications whilst at the same time use Adobe Flash for the future of Advertising on the web (video/ads etc). Silverlight was born out of a tactical reaction to this.

    From there it just mutated out of control. At the time WPF was just cumbersome and considered to “Windows only” and given more and more of the audience crave a x-platform write once work everywhere strategy, well Silverlight did indeed feed that addiction.. This is the reason why it failed for Microsoft (not community) as once you let people develop for more than your actual Windows platform well you expose Windows as being just an operating system. Microsoft doesn’t sell Operating Systems, they sell platforms.

  • Guest

    The big money is still in business and not consumer products. Mobile/web might get a lot of attention

  • opttrader

    The big money is still in B2B selling to other businesses, and not B2C consumer type deals. B2C enabling mediums like web and mobile get a lot of attention just because that’s what as consumers we’re exposed to and thus incorrectly assume it’s an easy way to make money.

    It’s big if your company only sells to consumers, but if one were to start a new company and want the easy route to making money it’s not selling to consumers via B2C web and mobile apps where it’s much harder to convert and make money by selling 1 to 2 dollar iPhone/iPad/Android/Metro apps. Or even SaaS subscription based websites where you can charge a bit more like say $20/month is still hard to get enough conversion to cover salaries of several people.

    It’s much easier to sell a B2B type internally back-office product for which most of the time employers don’t care much about mobility as they want their workers in the office doing the work and monitored. These types of B2B productivity revenue generating apps sell for hundreds of thousands much more than $1-2 mobile apps/ads or SaaS $20/month websites targeted towards B2C. You’d have to sell a bunch of mobile app/website subscription units to equal 1 B2B sale.

    These B2B sales are typically more complex and thus require more coding than a typical mobile/website can handle as HTML/JS isn’t going to make those types of apps easy. And since B2B apps are used internally it doesn’t really need all that glitz, glamour, and unnecessary embellishments like gradients, rounded corners, animations, etc.that B2C mobile/website “need” to attract consumers, as B2B apps just need to get the job done. Thus where I’m going with this rant is B2B apps, where the bigger and easier money to be made by companies is, has a sweet spot for desktop development ala WinForms/WPF.

    And with the current hype of consumer B2C apps we forget the money is really in the B2B enterprise apps of which Microsoft currently has a foothold in as long as they don’t get too distracted by the B2C hype and throw the baby out with the bathwater declaring enterpise dev technologies like WinForms/WPF dead in favor of mobile HTML/JS. Of which from a B2B back-office LOB app perspective, you’d expose simple “companion” status/dashboard/BI type mobile/web apps as extensions of your core LOB WinForms/WPF app. But not do something ridiculous like writing your entire LOB app in HTML/JS causing time to market and timeline/cost budgets to try and put “creation” type devices onto a tablet/phone form factor of which a user would have more ROI for the company via a desktop app.

    If Microsoft wants to not lose market share further they need to quickly appease the B2B enterprise developers and have better innovation and support for “lock-in” technologies like WinForms/WPF that will in turn keep Win OS/Office sales growing. From what I’ve seen already due to the mishandled communications of promoting HTML/JS by MS, new B2B apps are being built using HTML/JS and aren’t doing WinJS/Metro, and as a result are saying bye-bye to anything having to do with Microsoft altogether. Once you start with HTML/JS and no dependency for MS on the front-end, then out with the backends goes to with not using Windows Server or SQL Server and instead using MongoDB/Node/etc. on *nix servers. So there goes the Windows Server and SQL Server license revenues, which in turns leaks into not supporting Sharepoint & Office integration.

    If Microsoft doesn’t realize they need to better support desktop/enterprise technologies they’ll lose out to a competitor (Google more likely than Apple) as an alternative for B2B LOB type apps as mgrs/devs get frustrated by the conflicting story and just want to move away to something more sure. This doesn’t mean they have to ignore B2C market. They could’ve just said we’re still supporting the desktop as the preferred way for doing “creation” type work, but we’re also supporting “consumption” type apps for mobile/web which would’ve not alienated a lot of enterprise app mgrs/devs and thus kept Windows OS Server and SQL Server revenues which in turn drives Windows OS Client and Office revenues. (I’d like someone to do a survey of B2B companies of how many have completely switched off writing new apps based on MS technologies, and how much revenue MS has lost in business of the past year or so due to the communication mishandling).

  • opttrader

    The big money is still in B2B selling to other businesses, and not B2C consumer type deals. B2C enabling mediums like web and mobile get a lot of attention just because that’s what as consumers we’re exposed to and thus incorrectly assume it’s an easy way to make money.

    It’s big if your company only sells to consumers, but if one were to start a new company and want the easy route to making money it’s not selling to consumers via B2C web and mobile apps where it’s much harder to convert and make money by selling 1 to 2 dollar iPhone/iPad/Android/Metro apps. Or even SaaS subscription based websites where you can charge a bit more like say $20/month is still hard to get enough conversion to cover salaries of several people.

    It’s much easier to sell a B2B type internally back-office product for which most of the time employers don’t care much about mobility as they want their workers in the office doing the work and monitored. These types of B2B productivity revenue generating apps sell for hundreds of thousands much more than $1-2 mobile apps/ads or SaaS $20/month websites targeted towards B2C. You’d have to sell a bunch of mobile app/website subscription units to equal 1 B2B sale.

    These B2B sales are typically more complex and thus require more coding than a typical mobile/website can handle as HTML/JS isn’t going to make those types of apps easy. And since B2B apps are used internally it doesn’t really need all that glitz, glamour, and unnecessary embellishments like gradients, rounded corners, animations, etc.that B2C mobile/website “need” to attract consumers, as B2B apps just need to get the job done. Thus where I’m going with this rant is B2B apps, where the bigger and easier money to be made by companies is, has a sweet spot for desktop development ala WinForms/WPF.

    And with the current hype of consumer B2C apps we forget the money is really in the B2B enterprise apps of which Microsoft currently has a foothold in as long as they don’t get too distracted by the B2C hype and throw the baby out with the bathwater declaring enterpise dev technologies like WinForms/WPF dead in favor of mobile HTML/JS. Of which from a B2B back-office LOB app perspective, you’d expose simple “companion” status/dashboard/BI type mobile/web apps as extensions of your core LOB WinForms/WPF app. But not do something ridiculous like writing your entire LOB app in HTML/JS causing time to market and timeline/cost budgets to try and put “creation” type devices onto a tablet/phone form factor of which a user would have more ROI for the company via a desktop app.

    If Microsoft wants to not lose market share further they need to quickly appease the B2B enterprise developers and have better innovation and support for “lock-in” technologies like WinForms/WPF that will in turn keep Win OS/Office sales growing. From what I’ve seen already due to the mishandled communications of promoting HTML/JS by MS, new B2B apps are being built using HTML/JS and aren’t doing WinJS/Metro, and as a result are saying bye-bye to anything having to do with Microsoft altogether. Once you start with HTML/JS and no dependency for MS on the front-end, then out with the backends goes to with not using Windows Server or SQL Server and instead using MongoDB/Node/etc. on *nix servers. So there goes the Windows Server and SQL Server license revenues, which in turns leaks into not supporting Sharepoint & Office integration.

    If Microsoft doesn’t realize they need to better support desktop/enterprise technologies they’ll lose out to a competitor (Google more likely than Apple) as an alternative for B2B LOB type apps as mgrs/devs get frustrated by the conflicting story and just want to move away to something more sure. This doesn’t mean they have to ignore B2C market. They could’ve just said we’re still supporting the desktop as the preferred way for doing “creation” type work, but we’re also supporting “consumption” type apps for mobile/web which would’ve not alienated a lot of enterprise app mgrs/devs and thus kept Windows OS Server and SQL Server revenues which in turn drives Windows OS Client and Office revenues. (I’d like someone to do a survey of B2B companies of how many have completely switched off writing new apps based on MS technologies, and how much revenue MS has lost in business of the past year or so due to the communication mishandling).

  • Andrew

    So Weird. So you are saying MS created Silverlight cross-platform and THEN had a “wtf” moment realizing creating tools for other operating system doesn’t really fit in the menu well?
    I find it hard to believe.
    I do not understand why they didn’t at least secretly killed support for other platforms, while keeping it for IE and Windows, maybe even adding in the IE and Windows by default.

    I don’t understand why providing more support for HTML5 must necessarily mean killing SLWPF.
    Why can’t the two coexist?

  • Fizzal

    I’m a senior enterprise LOB developer, the two products are
    1) Enterprise LOB: Silverlight, ASP.Net, MSSQL server. Silverlight was picked to avoid SOE approval for all upgrades including Click-Once, also the SOE is XP/IE6 (plan is to not move forward).
    2) Mobile Sales App: iPad(Mobile Worker), Silverlight(Office/Admin), Azure Web Roles/WorkerRoles/SQL. Silverlight was picked because it would work on PCs and Macs. iPad was picked because Microsoft didn’t/doesn’t have a product.
    The enterprise customers will not move forward, Win7 & Win8 are seen as dead ducks.
    At least 50% of our small business customers have a Mac many exclusively so and it will be a hard sell to get them to by a PC to do the backend functions, or get those on XP to move forward.
    Microsoft is throwing away the enterprise and solution providers to the caputre 30c market owned by Apple.
    If I cant keep my client in .Net (Silverlight) then why should I keep the backend in .Net deployed on Windows Server/Azure?

  • Andrew

    @81fb440ecab69f87d3cad0f7212c28b6:disqus it’s true, many people moved to other Apple hardware beside the iPhone, and I think it was because of the iPhone and the Apple ecosystem created around the iPhone I think.

    However, never say never.
    My take is if Surface will be as good as it looks, things can change a lot.
    The problem is MS will face the difficulty of getting back people to user Windows.
    Today the ecosystemplatform is complex, it went far beyond desktop, software, phone, backend, monetization so it’s software+hardware.

  • David Elyk

    Let me see if I have this figured out correctly.

    Old style desktop applications (Windows Forms) are dead with Metro.

    New style desktop applications are XAML/C#/JS/WinRT apps and are pretty much the upgraded shiny new version of the old WPF/Silverlight XAML based apps.

    Mobile Apps haven’t changed at all. Web Forms/MVC/Silverlight are your choices.

    And there is no option for building a mobile Metro app using the XAML/C#/JS/WinRT stack.

    Why not?

    Couldn’t Microsoft have embedded the XAML processor and WinRT runtime in IIS and UNIFIED the DEVELOPMENT MODEL for both desktop and mobile?

    And aren’t Metro apps really just Silverlight/WPF client server apps that are being forced to run on the desktop only?

  • crispin wright

    Whats left for LOB in the browser then?!? HTML5?!? it just won’t fly…I’ve worked with a few medium to large size companies now who are working to move their complex Winforms products to the browser, all of them wondering if HTML5 will accommodate the richness and responsiveness they need without a gargantuan dev effort, it’s pretty much a no brainer that the answer is no. Then we all trot out the same line – “well if silverlight wasn’t dead then we could have used that”.
    On the flip side of that, before Bob comitted verbal Hari Kiri, I saw several blue chips buy into SL for their LOB application replacement roadmaps, we’re talking massive financial institutions, they’re probably just coming out with release versions of their trading apps right about now, but I guess Bob is like the best comedians…..all about the timing.
    Try writing a front office trading application using HTML5 and js – you’ll jump off a bridge before you’re through.
    Doesn’t bode well does it…..

  • Yes, but the difference is that some developers thinks that because it’s only colored squares they don’t need a designer, which results in horrendous apps.

  • PS

    It ain’t dead to me. I am loving all the binding, styling, composition stuff!

  • I disagree a lot with what you’ve wrote. And I hate these posts because they are misleading and dangerous. Even if you write true facts it doesn’t mean that people will remember them as you wrote.
    I liked reading your posts until I learned that you were responsible for the problematic Silverlight and WPF shunning. And now I see how happy you are because of the destruction that you’ve caused and will cause.

    So, lets see what we get on the web.
    * HTML. A non-cross-platform half-done quagmire of dying JavaScript and proprietary extensions (Apple’s canvas, Forefox’ embed, Webkit’s proprietary tags etc). It doesn’t have video support or even let you build a sane three-column layout.
    * Flash evolved the web and brought thousands of cross-platform apps and games. It compensated for HTML’s inadequacy.
    * Apple killed mobile Flash to promote its then non-existing paid AppStore. Apple hyped then unknown HTML5 to distract developers from the lack of app support on their so-called “smatrphone” (“apps are the past, HTML5 is future”) for the year before the native apps arrived. Then Apple reversed their course (“best experience is native”).
    * HTML5 doesn’t really fix much of HTML. Yes, it finally has some video and fancy styles, but mostly it’s the same crap.

    So, what happened in the .Net/XAML camp?

    Silverlight development was a joke at first. “Let’s take WPF and screw it.” I guess, you WPF and C# hate goes back then. How could you even consider releasing Silverlight 1 without C# support? In SL there were hidden little “screw you” things everywhere. On the other hand, WPF was and is rather enjoyable to this day. With all your WPF hate, your team couldn’t replicate WPF with Silverlight.
    Still Silverlight was wonderful thing for the open web. We finally had a glimpse of the extensible open web (as imagined by its creator) where you could forget about JavaScript and write HTML scripts (in .html) in a language like Python or Ruby. Wasn’t that cool? Did you ever tell the developers it was possible? The marketing of Silverlight was so strange.
    I liked WinRT too. For me it opened deep interoperability and support between the Windows core and .Net. It was like “WinAPI for .Net” + “XAML for Metro”

    I was happy, because now we had somehow cross-platform .Net story:
    “.Net/XAML for applications” (WPF), “.Net/XAML for Web” (Silverlight), “.Net/XAML for Metro” (WinRT) and the new WinAPI was .Net (WinRT). Good coverage. Mono improved that coverage to almost 100%!

    Now you and then Sinofsky decided that it’s too good and developers need punishment. You started killing the support here and there. No, not killing, poisoning. You shunned WPF to make Silverlight (even though SL was inadequate for the WPF role). Sinofsky poisoned Silverlight and XNA (even though WinRT is inadequate for their roles).
    So, now we are losing “.Net for Desktop Apps” (WPF), “.Net for Web” (Silverlight), “.Net for Games” (XNA), and finally “.Net for applications” (.Net Framework)

    Now, instead of writing cross-platform apps in C#, we have to learn and use C++, JavaScript and HTML.
    It’s the Babel Tower all over again.

    Why did you hate .Net so much that you wished its death?

    P.S. If .Net is killed, be assured that I’ll have a curse for your and your karma.

  • But can it do a normal 3-column layout (without feeling dirty)? After all those years….
    The messy JavaScript was dying.. Meanwhile, the extensible, modular web was evolving. Why did Apple’s greed have to dump adrenaline in that zombie?

  • You are wrong. What you are talking about is in-app UI.
    Now what about the app substance? C# for games (XNA) is killed, multi-windows apps are killed, third-party fast libraries are killed. WinRT is much more that UI. Too bad that it kills much more than it brings.

  • You don’t have anything other than “Metro” on Surface.

  • Andy Bolstridge

    of course one reason Silverlight was dumped is because it never reached sufficient critical mass to be universally used. Its not good being cross platform if half your target base didn’t use it. Why would anyone develop for it if it only reached half its audience. As a result, it might have reached some corporate intranet needs, but corporates tend to deploy desktop apps instead. Net result – Silverlight turned out to be useless from any business PoV (any technical capability doesn’t sell apps).

  • Andy Bolstridge

    You know, sometimes you can get too attached to a technology. Maybe it’s time for you to get out and meet some new ones – it’ll do you good to see what great stuff is out there, and will kill off the Microsoft-only myopia.

  • Valeriob

    You do not produce content on tablets, you consume it, so you do not need to develop all complex business cases of LOB applications, but just a few. When you need to work you plug the keyboard in and go desktop mode. There you can run whatever you want.

  • Well, I do Perl, Python, (+ hardcore Bash) with occasional C++ for living. Plus some HTML/JS sometimes. .Net is my hobby. I see some good aspects in these technologies, but my general opinion of .Net is better.
    It’s painful to do HTML after you’ve used XAML.
    It’s painful to use languages that don’t have native Unicode support.
    It can be uncomfortable to not have static or dynamic typing. Good thing that I have both.
    I am interested in functional languages from time to time and F# and IronScheme come to rescue.
    It’s not that .Net is so great. It’s just that a lot of other things are worse.
    >Microsoft-only myopia
    You should know that non-Microsoft myopia is more prominent on the Internet =)
    Yesterday I saw people calling Chrome the most innovative browser, because it fixed Flash rendering under Linux…
    >it’ll do you good to see what great stuff is out there
    Yes, of course, I do that a lot.
    It would be nice if you could point to some great stuff out there.

  • >When you need to work you plug the keyboard in and go desktop mode. There you can run whatever you want.
    “Desktop mode” is unavailable on Surface!
    (You can only use IE and Office)

  • Is it right? I used to wpf for .Net application. It isn’t dead for me. It is widely application which started to increse the many appliactions like B2C and B2B.

  • When WPF is declared dead, then it’s time for me to stop working as developer and join Greenpeace and save some dolphins or something.

  • Ok my friend i agree with many point of your vision but how can wpf is dead if xp is not?
    How can wpf is dead if the best IDE of the world use this!
    What do you say about VS Express 2012 for Windows Desktop?
    Dead is strong word!

  • I am really thankful to the author of this post for making this lovely
    and informative article live here for us. We really appreciate ur
    effort. Keep up the good work.

  • mrtortoise

    This is exactly my thoughts right now. I consider myself an ms developer. But right now im being pushed in 2 directions embedded c apps and web apps with significant server power behind them. But if i go down the js route then why the hell do I want to tie myself to ms? The wrost part is that i got into this mess because i didnt like js

  • When WPF is announced deceased, then it’s here we are at me to leave the workplace as designer and be a part of Greenpeace and preserve some whales or something.

  • Byron

    Mobile should not have any bearing on development frameworks. A mobile device is a mobile computer. The current frameworks are created as a mess intentionally to add layer after layer to drive revenue. The overhead and complexity provide no advantage to years past. We created frameworks to help make development easier. Now we have created convoluted languages, directly tied to the runtime frameworks that require 10 times the code to do the same tasks. I personally have found .NET and Windows 8 to become a bloated monstrosity. In the beginning .NET was awesome, simple and had a great design. We had a clear vision on the XM team. Now it has turned into something horrific, a large learning curve and breaks most natural design patterns because Junior inadequate developers have taken over positions with Microsoft Management. This is coming from a former Microsoft Employee and Developer.

  • Byron

    Mobile developers have forgotten the Desktop isn’t dead. We have scene mobile come and go. The fact that most companies haven’t figure out their data entry time is 19 times greater than traditional methods hasn’t been figured out yet. With that fact, having Mobile direct desktop, when the mobile will turn into the desktop is ridiculous. Your sense of vision extends 3 years out, and not in terms of computing in general.

    Mobile devices are still computers just like desktops. They’re just very limited today.

    Mobile allows social applications to thrive, but those applications don’t generate revenue like desktop applications do. Let’s see where this ends, but my prediction, mobile today, will be of less importance as computing in general progresses.

    Let’s not forget how in-secure mobile devices are, just from the stand point they leave your secured location, such as your office or home.

  • Bagarozzi Boi

    That’s a nice story – I love to explore new technologies – so I’m all up for it! I just have a small matter of a business to run that relies on a highly mature application core of about 50,000 lines of code that I’ll need to completely rewrite first.

    Perhaps youl’d like to help me? (For free or course, I’m not offering to pay you…)

  • Sal Minella

    Wow, learn the English language.

  • Sanjay

    Scott, simple question buddy, tell me which web technology you recommend for “Instrument support software”, “large medical or electrical equipment software”- Which is future of our human being.
    According to current scenarios i would prefer WPF.

  • I wouldn’t recommend HTML for them.. imho HTML is the false god and any who are caught worshiping in the end will feel the wrath of hindsight 🙂

    I should clarify and reiterate again .. as long as Windows 7 & 8 (not RT) exist in a machine … WPF has a life… just dont expect an update in tooling support or SDK support feature wise as there is nobody left running that discussion. I mean there is one guy who’s in caretaker mode but i suspect he’ll be moved elsewhere in the next reorg.

  • Rudy De Maeyer

    This is the best piece of text i’ve read in a long time. It describes exactly how i (as a B2B software designer in a small company) feel about the whole direction MS is moving to.

  • Me

    Yeah!
    I think I will start making windows phone viors instead of destkop WPF apps. (I will)
    Just out of pure spike.
    Web apps suck and are broken in every way.
    In fact, this web site itself is buggy and sucks. And I bet you will never manage to fix it either…