WPF lip service at it again

image

I’ve been watching the WPF Disciples list regarding FIXWPF with some obvious keen interest. The thread has taken on an interesting level of discussion and guys like Pete Brown are doing the right thing, listening, responding and taking notes.

Jaime however has jumped on and given the – we’ve heard it all before – riot act around the UX Platform guidance. You know the one, Good, Great and Ultimate splits sprinkled with “it depends” and basically comes around to the pitch that Microsoft is probably best known for around commitment pledges.

This isn’t an attack on Jaime, I’ve worked with him before and I liked his work in the past, as all he’s doing is talking to party lines and it will be the same guidance you are given no matter who you talk to inside Microsoft.

That being said the bulk of it is lip service and i’ll explain why.

RE: HTML5 vs Silverlight vs WPF (Good, Great and Ultimate).

This guidance is probably the oldest response to keeping the three pillars apart. It hasn’t changed in over 3 years and is unlikely until you see some dramatic increase in footprint regarding Internet Explorer 9 + HTML5.

The idea is to provide developers a linked approach to how the three dovetail with one another and when you look at it from the right angle it almost looks plausible. The reality however is it is poor guidance for one and secondly it doesn’t address the question.

The question really being asked is “which should I bet on” not “which is the right technology for the right job” as quite frankly for 80% of solutions out there i’d confidently state that all three could achieve your needs for line of business applications. The three each have their own taxes  you will end up paying but welcome to software and that’s life.

Back to the question, which should you bet on and this is where the lip service falls short. As the question is also asking which is Microsoft likely to continue investing into – the fact that Jamie for example is no longer a full time WPF evangelist and is now in the Wp7 evangelism rhythms is an indication to that answer. No Microsoftie is going to come out and say “yeah, you better get off WPF unless your writing C++  bridges to .NET, as its going to get murky soon” as the last time a softie even hinted at that kind of raw honesty was Bob Muglia and he was a Senior Vice President – currently looking for a new job.

Choosing between the three really is coming down to your team mates, your needs and lastly your personal investment in learning / continuance in your career. They are really the three core principles involved in making the choice between the three and the usual good, great and ultimate speech has never really returned any hint on success – I dare Microsoft to provide evidence of success here.

If your team mates are all HTML developers with ASP.NET Web Forms skills, then the question they are all having is around which is the easiest and best route to success next. WPF can provide you a core foundation for Silverlight/WPF development but it will test your patience and confidence levels greatly. There is a lot of information decay online around which version of the framework/API still work today vs when they did in the past and lastly WPF seems to have more questions than Silverlight go unanswered – according to StackOverflow.com.

Silverlight is still up for grabs although its clearly shifted its strategy from when I was on the team to be more of a Windows Phone 7 platform and less about the web more so as time continues to flow.

HTML5 is basically a bunch of new tags that are ready for browsers, but in the end you’re still hacking around in the weeds with JavaScript and CSS. To be fair, if you’re an ASP.NET WebForms team, then HTML5 would probably be the quick win – but – its not as much fun as Silverlight / WPF?

My point is, its confusing and the usual lip service really doesn’t bode well for Microsofties as they come off looking like they are a PR machines for one and secondly any trust within WPF vs Silverlight discussion has been eroded due to constant shifts in vision – clearly it highlights that this has been and will continue to be highly tactical reactive product management and less strategic.

RE: Customers want us to invest more into Silverlight.

Jaime goes on to say:

First of all,  a lot of our customers are telling us to invest more into Silverlight.  Let’s say (again made up) that demand is  4-to 1. How do we justify a revamp of the graphics architecture in WPF.  This is not trivial work; the expertise in this space is limited, we can’t clone our folks to 5x to meet everyone’s needs.  

Unless Microsoft’s feedback channels have gone through a massive upgrade / radical change in the last 6 months, I call bullshit on that one. The customers are likely to be folks like NetFlix or Vertigo? (we have no real tangible customer feedback pipelines in Microsoft. It was a nightmare to sift through the chaos to get such answers)  and secondly the reality of that comment is what I call “Oh dear, he didn’t say that” moment. If i was a journalist i would use that firstly as fodder for “See Microsoft just stated they have no interest investing into WPF” – not  only would it be fair game, it’s obviously correct so it’s also not healthy right now.

It’s important to also add that if you starve a product of its marketing budget, then your overall awareness for the product is going to drop dramatically. It’s also fair to state that if the bulk of your attention across the board within the company is on Windows Phone 7 and Silverlight, then its even more likely the customer focus is skewed towards what you’ve been waiving and shaking your hands at the most. To use a metaphor “It’s like giving a child candy and then asking if they should give you more vegetables?”

My only real response to that question is who’s going to walk up to AutoDesk and tell them “Well, we could fix performance issues in 3DS MAX 2010 with you, but sorry, Silverlight is our preferred bet… best you figure out an alternative route filled with C++ and roll your own rendering pipeline".

Jaime goes on to address the likely cost of WPF

Let’s assume we did take on the work.  My guess (again, I am not engineering) is that it would take two years to implement and thorougly test a release.  At the stage that WPF is at, a rearchitecture or huge changes on the graphics stack would be 80% about testing and 20% about the dev work.    It is not a trivial amount of work.   Would we get the performance you want across myriad of devices? We don’t know. WPF bet on hardware, and there is new devices out  there that are trading hardware for battery, weight, or simply for cost.  it would suck to do that much work, make you wait a long time, and then not get there. Let’s get real on the asks; you say “improve perf” but you are asking us to do a “significant re-write”; these two asks are different. 

He has a point, it would be a significant impact to the resources allocated to WPF to get it back to the core promise that was made in 2007 – trust us right? things keep changing? we don’t have a plan just right now, but as things happen we hopefully will!.

It’s a good thing that there are 200+ engineers right now ready to pounce on this problem so it should be a large amount of work, but with that many engineering cycles nothings not attackable according to Scott Guthrie, CVP of Developer Division.

That was a cheap shot Barnes! and it was. My response to Jaime’s remarks there would be “This affects me how?” as in the end you, Microsoft asked me to invest in you years ago. I did, and now you’re telling me its too hard and costly for you to invest back into me? how is that fair and again why am I trusting you over and over when you keep changing the rules? Is this not an abusive relationship now?

RE: We speak to customers.

Comments like this for me a red flags –

3)      You are asking us to listen to our customers.   We agree there and that is exactly what we are doing. Please keep in mind, you are not the only customer – even if you are my favorite one :)-.

image The reason they are red flags as the response at the end of the day says “trust us, we have this covered” as nowhere does Microsoft really ever decompress what customers they have spoken to and any substantial numbers to support it. For all you know, NetFlix and Nokia are the two customers they spoke to and NetFlix executive being on the board of Microsoft whilst Nokia’s new CEO was one of the ex-executives at Microsoft – well you can see how easily you could tear the argument apart if you set about doing so.

The point is, there’s no response you can give as the actual comment is supposed to make you feel isolated and that what you’re saying really is most likely a vocal minority.

Here’s the real deal guys and pay attention to this one as it will bake your noodles. Inside Microsoft there is no one team that handles customer feedback. Multiple teams do it and they approach it from a variety of angles. In the entire time i was a Product Manager and Evangelist within the WPF/Silverlight teams I never once saw or even heard of a central database of customer feedback. The closest we had was an annual survey / report that we collected which gave a health check of the entire Microsoft brand & its products. It was quite shallow in gauging what customers wanted and it’s main purpose was to be used as a large measuring stick for all roles almost in Microsoft to gauge success/failure was per year.

The only way you would get data from customers was if you invited them to Redmond (which is effectively the same as a band inviting a fan over for dinner and asking them what they could do better) or you outsource your needs to a company like Adaptive Path, Forester, Gartner etc to come up with a survey / research around the topic at hand (Don’t be shocked folks, but Gartner Research can be bought for the right price).

Having a listening post inside Microsoft around what customers want or need is chaotic at best and it depends on who’s listening and what the initial agenda is – more so how it maps across. It has nothing to do with constructive feedback or channels of delivery as the higher the decision making goes the further the customer feedback gets from these decision makers.

RE: Let’s compromise?

Jaime does go on to discuss the compromise:

he WPF has looked at the trade-offs, and risk many times.  We are also looking at what customers need. Jer, to you it is all about graphics.  To many others, it is about data.  So, how do we serve all customers??

The strategy is exactly what you have seen/heard:

1) WPF 4.5 is going to have some significant data binding performance improvements.  

2) We are not redoing the graphics framework, but we are doing a lot of work to let you interoperate with lower level graphics so that if you need more graphics perf you can get it, and still keep the RAD of the rest of the framework. 

I often see this style of response from Microsofties (hell, I used to give it). It’s one of those responses you just go “What the f… If you’re going to piss on my head from above at least have the courtesy of telling me its fresh water harvested from a pure spring – make an attempt to keep the illusion alive at the very least.” yes its colorful but the point is, please stop treating me like I’m an idiot as I’ve not given you any indication i think that of you have I?

Cheap shot again, sorry Jaime but we both know that’s a classic “let’s take this offline – abort abort” throw away pacification tactic. As what it really translates to:

“Look, we don’t have engineering cycles to really fix the core problem so what we are going to do is shift the focus in other areas in the hope you will just leave us alone long enough until we can regroup for a better story next year”

Cheap shots again.. but.. in my defense, I’m just thinking on both sides of this conversation. How would I react to the responses in WPF Disciples as a Product Manager / Evangelist and lastly how would i respond to the answers I just gave as a customer / adopter of Microsoft UX Platform.

Is this about Jaime or WPF though?

Now, normally remarks like the ones Jaime has given on a public mailing list are usually ones you give a free pass to with regards to most Microsoft staffers. As at times you find staff arm themselves in the riot gear and just bolt straight into the fray of civil geek unrest and try their best to calm peoples opinions from spiraling into a negative back to a positive.

Jaime, isn’t a young pup fresh out of Microsoft boot camp. He’s a seasoned Technical Evangelist at Corp, who over the years has had deep roots with the WPF team in terms of influence and awareness of their future(s). I’ve personally worked with Jaime a few times and he is very talented and smart person, so my point here is that what he’s just outlined was a slip between what he knows privately as to what’s going on vs what he shouldn’t disclose publically. Furthermore, he speaks for the WPF team and no matter how many times he can throw the prefix “personally, my thoughts are” to his remarks, if that’s what he’s thinking then its highly likely that’s the outcome you’re likely expecting or going to expect.

This isn’t about Jaime though, and I cannot stress enough that I have enormous respect for him professionally and personally. It’s about Microsoft and WPF, and this is simply a highly visible case of internal thinking spilling over into a mailing list. I cannot stress this enough, if this reads as me kicking the crap out of Jaime’s remarks on a thread then please can i simply say it’s not personal its the role Jaime is acting out that is up for grabs. You represent Microsoft, you speak as if Bill Gates himself sat in a room full of journalists and outlined his thoughts, there is no “but he’s a nice guy” moments.

image

This is why i have created FIXWPF.org and will work night / day to expose this kind of lip service but instead of opinionated pieces or argumentative out of context text grabs, i instead will hope to back it in a more factual manner with real-world data, so situations like this aren’t a case of constant streams of :-

“trust us, we have it covered”.

No you don’t have it covered, as it costs to much remember?

Related Posts:

  • http://www.rudigrobler.net rudi grobler

    Wow, nice article Scott!

    Tnx

  • MBR

    Great work…
    WPF is the best UX framework on the planet – would be a shame for it to evaporate.
    Too much focus on SL and now WP7 — SL and WP7 should be WPF subsets in functionality and company resources, not visa-versa. And I certainly don’t want to do web-programming on the desktop…

  • Fallon

    I think you underestimate the role of Silverlight going forward.

    You’re correct that MS is de-emphisizing the internet, and moving Silverlight to more “Embedded Systems”, but that won’t be all.

    IMO, their new direction is W8/E, a play on WPF/E, meaning Windows 8 Everywhere. Windows 8 on the phone, Slates/Pads, Laptops, and any other low power device up to full desktops.

    It solves a LOT of problems, and turns mobile devices into systems that integrate well with everything else.

    It’s a smart move, because MS will get immediate buy in from Enterprises, and slower acceptance from consumers.

    It may be risky, but it has a high probability of success if executed properly.

  • Mark

    @Fallon

    I agree with you concerning W8/E but I also think the Windows team will introduce a new native UI stack to build applications (and .NET will sit on top of that).

  • http://danny-t.co.uk DannyT

    Really impressed with your dedication to the cause Scott. One question though, do you think MS should actually fix WPF or just straighten up and stop beating about the bush?

    By this I mean do you think (as in if you were Mr Microsoft, decider of everything) they should throw the time and resources at it that it needs to address the seemingly obvious issues or just stop trying to skirt the issue and fess up to the fact that they sold a large number of people on a platform that they’re now changing track on?

    Appreciate it’s hard to not to be biased when you’ve clearly invested a lot of your time, money and career in several aspects here but if it were up to you, what would you see happen?

  • Amit

    Nice one Scott ! Thanks for that.
    Do you think that Microsoft is completely going to dump the .Net stack? The last version (.Net 4.0) was released in late 2009 and since then there is not even a word about .Net 4.5 or 5.0, nor about Visual Studio 2012. If they don’t give any signal about .Net in the next few months, then I would definitely move away permanently from Microsoft. If you could provide some insight it would be a great help!

  • Fallon

    @Mark – I totally agree. Take a look at this interesting article – Windows Phone 8 is already Dead

    @Scott – Scott, maybe you can help me understand WPF people.

    I started out a C++ developer, then tried WinForms, but just couldn’t warm up to WPF. Then Silverlight 2.0 came along, and was so interesting that I jumped in and LOVED it!

    Silverlight taught me WPF(ok, a limited WPF), and when a WPF project came along, I was ready, but found WPF wasn’t. I had to use a good bit of Windows Forms to get the WPF solution to work in a lot of areas.

    That turned me off to using WPF in the real world, because so many things were missing, but we got the project working really well.

    So my question is this. If Microsoft makes Silverlight the new WPF, i.e. Silverlight with full access to the hardware, while maintaining its lighter weight heritage, would that be alright to WPF people, or is it still not right.

    I guess my problem is that I don’t know what I’m missing in WPF since I really haven’t utilized very many of its power features, so I don’t understand why WPF’ers care so much.

  • http://www.riagenic.com Scott Barnes

    @ DannyT:
    Thanks :) – i think .. :) … Do I think WPF should be fixed? of course. Do i think WPF will be fixed, absolutely not. Do i think the next version of whatever it is WPF as a concept will be should be better, definitely.

    It’s not so much about WPF/Silverlight living or dying as they are today. It’s more about outlining a future roadmap that for once we can all just position our bets against. If Microsoft can’t lead the market, who can? and right now the IT depends followed by 3 part answer is simply not cost effective and quite frankly it’s a load of reactive marketing fluff that my old team came up with when we were freaking out on how to position Out Of Browser to the world without knifing WPF in an obvious way.

    If the Windows Team manage to outrank the DevDiv crew and throw down a native UI framework thats gotta better perf / tooling etc, hey, let’s do it. If it means I have to rehash C++ code vs writing ghetto HTML5, ok, time to brush off the C++ books and hit them. Just give me a freakin bone ppl, so i can latch onto and start moving my career from this stalled “Is it alive or isn’t it” UX broken ecosystem and let’s just get on with it.

    FIXWPF is about that.

  • Hank Fay

    re: HTML5 being a bunch of tags and a spaghetti bowl of Javascript (my interpretation of your description :smile: ) — there are alternatives, but they just aren’t in the MS world. You can write in Python (the pyjamas project, gaining steam), you can write in Ruby (Rhomobile), you can write in Objective-J (Cappucino), and in each case the Javascript gets done for you. Nice, clean programming, run anywhere, on anything. You just can’t do it in .Net. More’s the pity.

  • Ben

    Sloppy writing. I think you have some interesting things to say, but you ramble too much and your rote sarcasm is tiresome. Clean it up, be more concise, learn the difference between your and you’re (and god knows what else), and you might come off as professional enough to be worth listening to. As it stands, you’re just too much work to read.

  • Pingback: Why Microsoft has made developers horrified about coding for Windows 8 | WorldWright's …()

  • http://eztwain.com Spike0xff

    It’s been an abusive relationship for developers for years. Microsoft has *never* been able to design for the long term (> 3 years ;-). Dave Cuttler’s NT kernel was almost an exception, but they bodged that – within 3 years. They always sacrifice the long term for the short term, and when it catches up with them, they sacrifice the developers, 3rd parties, and locked-in customers. It’s a matter of pushing the costs onto whichever parties will eat them, been this way at least since the middle 90’s.
    Abusers don’t heal themselves, it has to get so bad that their perceived survival depends on changing – many of them die without changing. I think the attitude is deeply, structurally ingrained at Microsoft, the money is still flowing in, and Ballmer is not the kind of guy who can change it. Don’t complain here if they change direction in 2 years and you get burned. It’s who they are.