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:

The Unofficial Windows 8 Developer FAQ

Early this week I’ve been talking to a few current and former Microsoft staffers about all things Windows 8. In my discussions I’ve started to gather some gossip in around what happened to Silverlight and lastly the specifics around the DevDiv fall out between Steve Sinofsky and Soma.

Should I share the chat logs it is an entertaining read however what did struck me throughout the conversations was how much positivity Microsoft has been squandering due to petty internal squabbles or “dare not speak of that, for the overlord Sinofsky shall smite thee down for saying the nameless one out loud”.

Today, I’m going to attempt to do something Microsoft staff should have done long ago or didn’t do correctly or simply were held back from doing so. I’m going to release the Unofficial FAQ on “What Just happened” in Microsoft for developer(s) worldwide.

Note: This is all based off internal gossip, second hand information and blah blah, so if you want to call bullshit on the below do so but back it up with specifics on what actually happened – don’t just say “that’s b.s” as we’ll take that as a deflection attempt at setting the record straight.

Ready.. (Remember this is from the perspective of “if I was still a Product Manager at Microsoft positioning not official etc.).

The Unofficial FAQ

Q. Is WPF Dead?

A. Yes and No. Yes WPF as you see it before you is end of life that is to say no more code will be written for the “platform” given Windows 7 and Windows 8 have different DNA going forward. No as in when we decided to move everything over to leaner Windows 8 platform we had to put both Silverlight and WPF on a diet in order to get Mobility parity / compatibility in check. The Upside is we’ve fixed some of the UI rendering issues that have plagued you in the past; the down side is we’ve had to sacrifice features here and there in the process.

 

Q. If I make an Application today in WPF it won’t work in Windows 8 tomorrow.

A. Not correct. Expression Blend uses WPF still in Windows 8, so in a way you’re covered as long as VS2012 and Blend continue to take their cue from the previous XAML Rendering that has been in place since Windows 7. There are certain things you can’t do in Windows 8 going forward though, that is to say new features won’t work in both Windows 7 and Windows 8 for obvious reasons. If they aren’t obvious then …stop coding now.

 

Q. Do I have to learn HTML5 or C++ in Windows 8 now?

A. No. The neat trick here is that we took the body of work found in Silverlight and made it handle the rendering of XAML. Now we didn’t take it as-is we again had to scale it back and use it as a starting point for a reboot of WPF/Silverlight to ensure two things happen going forward. The first is that we have WPF/Silverlight parity issues resolved in terms of performance and developer centric API changes whilst at the same time we had to find a way to make Steve Sinofsky believe that Silverlight was killed off. The last point wasn’t a technical issue it was more of a political one and so in order to help give him the illusion of Silverlight’s death we renamed a few namespaces and adjusted a few features here and there to give the appearance of “new” on the “old”.

 

Q. Why did you change so much in Windows 8 to confuse us all on old vs. new?

A. We had to find a way to put Internet Explorer back into the hands of the masses in a more aggressive manner. In order to facilitate this internal metric we needed to also scale back Silverlight’s popularity given when you think about its future roadmap and Internet Explorer the two will end up competing with one another. Having Internet Explorer start taking over the HTML5 discussion would also help us win hearts and minds with the non-.NET crowd which would then help boost our internal metrics around Linux, Php, Apache and MySQL/Oracle compete (that has often plagued us for many a fiscal year).

Once we’ve placed Internet Explorer onto many devices worldwide we will then ask developers to fork their beloved HTML5 in a way that lets them access Windows 8 further. This in turn will help us regain the lost dominance we once had before all of our Internet Explorer staff left the company to work for Google Chrome. Additionally, it will help us with our many year attempts at attracting more developers to our Windows Server & Tooling business units.

Now to answer your actual question it’s important to know the previous strategy for Internet Explorer as now the problem we face both internally and externally is how we are going to balance Internet Explorer’s future with XAML given the old “Silverlight” concept was directly competing with this strategy. In short we had to make it feel there was a lot of change in the room and decided that letting you believe that what’s really happened is that WPF & Silverlight were merged as one and that Silverlight 5 wasn’t the last release as really Windows 8 is Silverlight 6 Desktop.

Letting you believe that would keep you preoccupied with that branch of thought where what we need you to do is come back to the Internet Explorer way of thinking – there is no plugin only a browser.

Q. So… you saying Windows 8 is really Silverlight 6?

A. Yeah in concept yes. Technically no, but if you take a step back from our bad messaging, public relation screw-ups and lastly our idiotic executive we pretty much did what you asked – we fixed WPF and Silverlight parity & performance and we made it also work on both desktop and mobile. I give you Windows 8.

 

Q. Well ..why didn’t you just say that? Why did you scare us with C++ or HTML5 rhetoric?

A. I have no answer suffice to say there was lots of infighting going on and I don’t see Soma and Sinofsky sharing a beer or two at a BBQ in the near future unless the bottle was broken and one has the other pinned down with a desire to kill..

 

Q. You said mobility and parity are you saying Windows 8 is compatible with Windows Phone?

A. Yes. Windows Phone 7 was kind of a hold our place in the line while we figure out what to do next release. It was badly marketed and in the end we were too late to enter the market – not to mention we weren’t ready to talk about the work we were doing with Windows 8.

Now that we’ve finally hit reset on Windows Phone via our 8.0 releases we’ve now found a way to put the XAML rendering we have in Windows 8 onto the phone. Well to be fair we really kept Silverlight’s DNA alive in both which has now let us enable you to write applications on both platforms via our new upgraded API’s and tooling (again to give the appearance of new).

This is in part why you can’t use Windows Phone 8 code on Windows Phone 7.x compatible devices,  Additionally you would see how we swapped the two out and start to guess what really happened during the Soma vs. Sinofsky fight.

Q. I don’t think that’s technically correct.. if you look at Windows Phone 7 and then look at…

A. I’ma let you finish by stating that the phone may not have changed radically but Windows did that is to say if you were going to drag Silverlight’s work into the new Windows 8 whilst releasing Windows Phone 7 previously then which of the two do you change? The phone or operating system? – Answer is you do both but incrementally.

Q. Hang on so all of Windows 8 is now Silverlight? That doesn’t make sense..

A. No. Windows 8 core is,  (as the messaging and PowerPoint decks say,) new. Now the XAML piece that bolts on top of that core is what I’d call “Silverlight 6” that is it’s all the work that has been done on WPF/Silverlight since their birth converging as one.

Q. Why did Sinofksy and Soma duke it out?

A. It comes back to Sinofsky’s dislike for Silverlight that was in place years before Windows 8. Internally what had happened was the Windows 8 Planning teams felt that Microsoft had lost its way on the importance of web both from a tooling and platform perspective. Silverlight was simply a distraction that got out of control and what they felt was that HTML5 was getting more and more market acceptance. As such it was time to put the genie back in the bottle and double down on Internet Explorer again with an eye this time on integrating the web with the operating system via some minor fork in both JavaScript and HTML5 (eg iecompatiability tag)

This of course didn’t go down well with Developer Division as this in turn meant that they had to scrap all the work done with Silverlight to date! The Silverlight team then went to work proving that both options are still viable and that for XAML, Silverlight would be a better candidate to ensure that path continues to occur.

Essentially it was an internal two horse race for a while with the deciding vote going to Sinofsky. Unfortunately it was an unfair race given his alleged dislike towards Silverlight, so this in turn become a tense standoff between the head of DevDiv and the head of Windows. It’s rumoured that Soma and Steve had a huge falling out over settling old scores and as a result Silverlight was put into a “do not talk about it” status mode.

Despite the executive fallout the Silverlight team (aka XAML team) were moved under the Windows org chart and put to work dragging the old into the new but with a clear direction to forever wipe the name Silverlight from their minds. It’s rumoured that in planning meetings the words compatibility and Silverlight were no-go words.

It’s all gossip in the end, but that’s what’s being said at the local water fountain anyway.

It could explain why Scott Guthrie went over to Azure. It could explain why you see some of the old Silverlight bloodlines talking in the Windows 8 presentations but finally, it could also explain why the “strategy has changed” remark got former Executive Bob Muglia in a whole world of trouble.

Summary

Look. The above could very well be fiction and time will tell exactly what has happened here but the more I think about Windows and it’s Phone counterpart the more I start to think what has really happened is a clean reboot to WPF/Silverlight has occurred for the greater good.

The downside is that we’ve all been preoccupied with the new UI of Windows 8 and lastly the community wanted to know what the future of the brand Silverlight/WPF was per say (this is awkward). Instead of getting actual answers they were given deafening silence and finally, to this day the overall developer relations overall from Microsoft has been both lazy and poorly executed.

What we are seeing is Microsoft power brokers asleep at the helm, specifically their evangelism is dead and lastly their messaging around the transition for Silverlight/WPF has been fumbled to the point where it’s easier now to believe Microsoft has hit “Shift+Delete” on these two products rather than to read the above (too much carnage on the roadmap now).

If Microsoft had of come out and said something to the effect – “Look you asked us to fix WPF and Silverlight. We did that, we came up with a way now that lets you develop for our platform in three ways. The first is C++ if you want deeper access to Windows then we’ve tided up our Com++ API’s to a way that C# developers have found palatable. If you don’t want to do native code then you can build applications like you have done with Silverlight in the past, but the difference is it will now  Windows only (sorry). If you then want to build apps that are cross-platform then again we’ve got HTML5 and Internet Explorer story brewing, whilst it’s important to understand that we will not be looking to expand our developer story beyond Windows anymore (there is a certain amount of control HTML5 will give but we still believe Internet Explorer is a better bet overall).

Then they show a few slides on how you can write-once deploy to both Desktop, Tablet and Mobile via the XAML/HTML5 and C++/C# story then it becomes a bit of a consolidation discussion vs. a “they’ve killed my favourite toy” discussion we see today.

They didn’t do that. That would require actually someone in the company with a backbone or marketing muscle that goes beyond ass kissing to Sinofsky. The problem we have right now ladies in and gents is we are all suffering from Microsoft’s internal bickering and as a result companies are looking to seek alternative to Microsoft for fear that this petty squabbling will continue to spread from not  only the mobility market share losses but to potentially the operating system as well.

Microsoft also has to figure out how to also re-engage their hardware vendors going forward given their failure rates in Windows Phones weren’t profitable for these guys and now with Microsoft Surface sending mixed signals it well has now turned into a bit of a question mark above the companies head around whether it can survive beyond its current dominance of desktop market share.

Inside Microsoft Server share has dropped significantly and it’s why you see a lot of effort in the web platform stack around enticing Php and MySQL folks back to the logo.

The only thing left for Microsoft to control is Office, Desktop and XBOX. Beyond that, they don’t have dominance anymore.

Again someone explain to me why Steve Balmer is good for the company?

 

Related Posts:

Which UX Platform would you bet on?

If I could get paid for each time I’ve been asked which UX technology/platform should one bet on in order to produce the next generation of software in day to day business – I’d be quite well paid!

I don’t have an answer, and what’s really sad about that is that I should have a few answers not just a single one.

Today, you’re spoiled for a choice of technologies to help you produce some user experience namely for mobility. Since the introduction of the iPhone and iPad it’s arguably put something we’ve all kind of known into the mainstream hands, which is “experience matters”. Businesses are now keen to ensure that the next piece of software they produce works like it would on an iPad or iPhone (the amount of times I’ve been given a brief that uses that as its baseline for success is almost 90%+).

Why the issue in selecting today then? Well let’s look at the brands in question.

Apple.

You cannot disagree that Apple’s influence on the UX discussion has been quite loud and obvious. Almost all phones and tablet devices have pretty much copied the entire existence of their products to the point where even though they hadn’t invented some of the ideas, they now look as if they did. Having said that, Apple still is a prescribed existence in that in order to play on their hardware you have to develop & design to their standards. You also have a limited amount of agility in order to take the device and slot it into various enterprise/industry verticals (mining, finance etc).

Distributing your solutions via a closed private cloud like existence can be done with iPad/iPhones but its still a bit messy in deployment. Furthermore inside almost all large organizations your cubicles of developers don’t have “Objective-C” in their resumes.

Whilst it has become the baseline for what a device driven UI should look like in the eyes of most business and technical decision makers, it’s still got a lot of latency and turbulence around its software development life cycle (i.e. it’s fast become a specialist skill not so much as a mainstream one).

Google / Android.

Google have managed to hold strong with their device platform story, that is to say their entire development and design pipeline isn’t that bad. Having said that I’ve seen, heard and been in enough meetings to see it being instantly rejected and it has to do with versioning and security as the core reasons for rejection (right or wrong).

Furthermore Java development at its core isn’t something you see go hand in hand with design focused teams, so again you have this issue with as stated by Apple around specialist skills vs. mainstream skills mixed with some market acceptance issues.

Microsoft.

Just read my blog for a few pages you’ll see a theme emerge. Microsoft had a few ideas around what the UX space should look like, they put some bets on the table around these ideas, they got some semi-successful acceptance worldwide on these ideas but now they’ve kind of hit reset on the said ideas, taking two steps back and pissed the developer base off in the process.

To summarize, Microsoft has a whole new round of trust issues around long-term decision making, their tooling is good enough to build large enterprise applications with and lastly they still have a healthy developer base that have mainstream skills in C# & XAML.

The downside is their entire strategy around what you should or shouldn’t do going forward is out of control and requires a focused mind to unravel.

What I would say though is that Windows 7 is likely to be around and in a healthy state over the next 3-5 years and I think the hardware market will still look into ways in how to socket Windows 7 as their native OS when possible (for business, not so much for consumers). Given Windows 8 Surface is making their own hardware it could also be a negative for Microsoft, so whilst the only real option for hardware makers is to adopt Windows 7 or other, this in turn puts a long-term question mark around whether or not Silverlight or WPF should be something you double down on?

Adobe

I often praise Adobe more than I have in the past as despite how close they came to overtaking HTML as rich media technology platform, they have managed to regroup nicely around being focused on tooling.

Given the turbulence above this company may solve the problem through tooling so it could even abstract the decision making process around which is the next bet by simply saying “it doesn’t matter, just use Adobe XTool”.

It’s still a long way off before that idea is realized, but none the less Adobe Flex / Flash aren’t something one should ignore outright. It still has some legs and although its clear Adobe Flash and iOS will never meet, they do meet however on Android and potentially Microsoft Windows device(s).

Despite Silverlight’s attempt to knock Adobe Flash out of the decision process if anything Silverlight’s demise has strengthens the runtime’s position further.

HTML5

I’m going to say that this has become a brand not so much a technology; in that when you say “HTML5 is the future” you’re not saying “these additional tags are the future” you’re actually saying “HTML, CSS and JavaScript are the future”.

It’s a brand now so with that I’d simply say that it plays well on all of the devices above and will most likely continue to do so. The developer base out there is pretty vast in its knowledge around HTML/JavaScript and the various frameworks they use to obfuscate the fact they are writing JavaScript.

However, if you have a subscription to most research companies around RIA in the past and present, you’ll see a theme emerge that is to say that in Enterprise (not consumer space) the whole JavaScript/HTML combination has left a very sour taste in their adoption loving minds. Furthermore the limitations and slow growth of HTML in general has also left concerns on the table that whilst it maybe a uniform technology set that helps shape UX, it’s still doing a lot of emulation and fakery to get to the point where most rich client technologies are today (HTML vs XAML vs MXML etc).

That’s all argumentative, so who’d you pick?

There the above working summaries overall and it really comes back to the question of making a decision. A decision like this is important and still necessary as when you start making architectural bets for the life of your next industrial grade solution, you need to line up how you’re going to present your connectivity to its vast user base.

Walking into a meeting and saying “all of the above” won’t fly, walking in and holding the posture of “right tool, right job” mantra also may make you feel like you’re a software mountain sage it does little for productizing ideas/solutions to a customer base who have a variety of IT environment(s) that are looking to your company as a lifeline to making the said decision.

Bottom line is someone somewhere has to be the one that says let’s go with “X, because…”

If I was asked today which one I’d pick out of the lot, given I’ve worked in all the above.

My bet for enterprise would be WPF for one simple reason – Windows 7.

Microsoft spent all of last year praising how successful Windows 7 was in terms of sales, record profits and so on. What I got from all that bravado was that whilst Windows 7 was stomping on Windows XP wind pipe, it also was replacing the old problem with a new. That is it won’t be something in which gets deleted from Enterprise machines that cubicle workers and field agents use today anytime soon.

That for me has a much further and greater ubiquity story than most either realize or choose to acknowledge.

iPads are definitely something that may get some traction going further in large business but ultimately it’s such a specialized decision that I think having those devices do anything outside of a HTML app in its first generation of solutions in the enterprise is something that I’d say isn’t a worthwhile bet (it’s still in pioneering mode).

WPF and WinForms will still have a much longer usage than most will also care to agree outloud but I think once Silverlights engines get shut down more and more the retreat position for most will be back to WPF whilst they wait for the whole WinRT story to stabilize.

Adopting WPF today gives you also some healthy amount of skills to target WinRT later on, but it also gets you into a position where there is a likely chance of some additional changes / upgrades should the WinRT vision fall flat (Which I’m thinking it may very well).

That’s what I’d say out loud, as I’d say this based simply on your HR recruitment potential, tooling story and lastly ubiquity related decisions that are made in organizations where little patience is given to solutions built in HTML of the past.

My opinion has now been noted, so what would you bet on and why?

Related Posts:

The Likes & Dislikes of Microsoft in 2011

The calendar increments by 1 year now and as it does I think about the last year and ponder what I liked and disliked in my sandbox that I call the Microsoft ethos

Windows Phone 7

  • I liked Nokias approach to branding the product; they really took what they saw and made it the focal point of what the experience for consumers should be. That is, they did what I asked at the start of the year; make the metro design your familiar face in the crowd.

  • I liked the WP7 Design contest; I rarely ever give an endorsement to contests as they are a desperate response to bad marketing, in this case though the designs that came back were actually tidy and immediately wanted you to explore the apps. Now to see if they make it into the appstore.
  • I disliked WP7 marketing from Microsoft, it was chaotic, it lacked depth and $500million in marketing spent later, I still can’t put my finger on one message that you could hang your hat on. Compare Apple iPhone / Android marketing to Wp7 and it baffles me as to what is going on in that team – I think they just carpet bomb SeaTac / LAX airports with it knowing that Microsoft Execs travel through there and hope that’s enough to convince them they are “everywhere” – reality is, Bus shelter ads aren’t putting the wp7 logo on the bottom of their “get our apps” signage – which is a fail.

    image

  • I disliked the WP7 app store pricing model, fact is they are charging the same rates as iPhone devs or there about and in the end you have a marketshare that Samsung is even beating. I agree with Laurence MoroneyReality check for two please and can we have that to go.
  • I disliked the compete b.s that came from Staffers at Microsoft around WP7, fight the internal metrics and rise above the whole “heh did you see that, Apple just copied us!” mentality. Its very weak and if you are to beat the competition then you need to stop watching their every move hoping and praying for a weakness to occur. If Apple copy you, great, internalize that victory but keep it internal and instead move the bar higher as the best way for people to absorb that reality is when someone who doesn’t have an MVP or Blue-badge says “Did Apple just copy Microsoft?”.

Windows 7 and 8

  • I liked the intent for Microsoft to bring balance to the UX force, which is a consistent looking brand / feel across all products from now on.
  • I disliked the execution of the consistent branding. I wished they would keep all design decisions in a central team, which is everything from website design to UI design(s) for products. Allowing individual teams within Microsoft to interpret Metro outside of the central team at this early critical stage is clearly not working. If you want to attract a design enriched audience that want to take inspiration from your work, stop farming it out to agencies who nickel/dime their way through design creation and instead double down on providing a central experience.

    Hate it when Microsoft gets a hold of a design concept..and then just sodomises it #badmetro #bldwin

  • I liked the energy that the Windows teams have around device development, we’ve asked for this way back in the days of Surface birth. I think that’s healthy for the industry and will put touch enabled devices into more and more people’s hands sooner rather than later.
  • I disliked the artificial inflation of the metrics (Windows and Wp7). Inside Microsoft you gauge success based on your ability to ignore qualitative data and instead focus on quantitative given it looks bigger. This often spills over into the marketing engine(s) at Microsoft resulting in just bad reality checks thus creating more distance between the ability to trust anything the brand states.

    image

  • I disliked the development experience required to get access to the touch enabled world. A friend of mine sent me this break down of tag trends over at Stackoverlow, basically if you are working with Silverlight and/or WPF the chances of you not using Stackoverflow in some form of way is next to zero. WPF and Silverlight dead? Can I have an extra order of reality check for team Sinofsky please?

    image

    image

  • I liked the notion that Windows 7 is on the rise over Windows XP, the growth you have is great, and the sooner we can stomp on the neck of Windows XP the happier my development sandbox will be.
  • I disliked the fact that Windows 7 has a huge market share right now, today, that I can’t access and instead am told to “chill” until Windows 8 AppStore comes online via Windows 8. It’s like the Microsoft team decided “How else can I really fuck my customer base over” then some clown in the back puts his hand up and tells them of an idea to hold back AppStore whilst everyone just sits there nodding like he’s telling them that touch will be the future for Microsoft back in 2007 – oh wait… has anyone seen JJ Allard lately as that guys going places.

Silverlight / WPF.

  • I liked the fact we got some releases for these products, shows there is still someone within the company stoking that release fire.
  • I liked Silverlights new 3D capabilities, it hints at what could have been possible had we had it sooner. We back in the early days would often discuss how 3D would be our next frontier of innovation for the product and my hat goes off to the engineering efforts for pulling it off – they worked hard.
  • I dislike that Silverlight release was late and I especially disliked the way it was done. Microsoft phoned in the release, let it happen in the dark of night instead of the grandeur we’ve been used to in the past. That for me sent a clear signal to the developer base – it’s time to move on, finish up your creations and wait for next shiny object to come to a install near you.
  • I dislike WPF feature list, it was less than we were promised (technically it was more tease / flirt) and lastly the release itself was more of an internal upgrade spilled over onto external HDD’s – that is to say, the features were more derived from internal needs than external. MIC check, is this thing on, WPF is dead in the eyes of Microsoft but its far from dead in the eyes of your average .NET code jockey.
  • I dislike the energy spent on HTML5 is the future, I’m yet to meet a developer who uses Silverlight/WPF get excited at the idea of abandoning this for HTML5. It must be the other developers I don’t’ see who want it – well that’s what we may be assuming amongst each and everyone one of us “must be the other guy needs it” (ie “Pretty girl syndrome”).

Azure.

  • I liked the SDK experiences that come with this ….product? … I think it is much easier at times than people give it credit for. I’ve used Amazon quite extensively this year and often will grow impatient that its not like Azure.
  • I dislike the pricing models for Azure. I’m a fairly intelligent guy but even today I’d not say I can for certain grasp the pricing model needed for me to respond to a work order request from some of my clients (mining companies who pay very large sums of money may I add).
  • I dislike the fact Scott Guthrie is running this only. In the short time he’s been the custodian of this product its gotten better, great, but Scott should be a higher power across all products. Steve Sinofsky you suck the life out of Microsoft development.
  • I liked the way Bizspark program is breaking down the pricing barrier of entry for Azure, I was skeptical of this program when it first started (My office was near the creator of this program back in the day, wand watched its birth). I think this program is what stands between adoption and non-adoption but at the same time it has really piss poor marketing behind it so unless you know someone who knows someone, it needs more help (See Catherine Eibner in Microsoft Australia, she’s got her head screwed on tight around how this should work going forward. Promote her to lead the charge here).

Internet Explorer.

I liked the fact IE6 is hated in a more formal fashion at Microsoft, but overall I just wish this product in its entirety would just die. Everyone else is embracing Webkit, stop fighting the obvious and bend over accept you lost proprietary way of life and jump into the stagnant waters of Webkit FTW.

Other.

  • WCF team can rot in hell. I think there is enough issues around this product to simply state, stop what your doing and think about its effects on your audience. Until then, rot in hell.
  • Entity Framework team, make a decision and stick with it or at least promote the reasons why you change APIs and their pro’s / con’s.
  • Zune. Great idea, pitty it never left Redmond zip code.
  • Surface 2 – Great idea, pitty it never left Redmond zip code.
  • Bing. I googled Bing, enough said but the fact you didn’t have a Santa Tracker at Christmas – you are dead to me.

Related Posts:

Please welcome the XAML platform team to Windows!

image

I got word of a leaked email early yesterday that confirmed what I had been told in passing gossip – the XAML team being disbanded.

This morning I awoke to not just one email but five of them from my various sources all attached with mixed opinions on what it means. Here is my famous (internally in Microsoft, I would send these style of emails about Adobe and their competitive threats) "What Just Happened" response.

We’re pleased to announce the transition of the XAML
platform team from the Developer Division to the Windows team.  While the
team has been working side-by-side with the Windows team for the entire project,
this step brings them into our team formally. 

It is time to start moving the battleships into the attack formation. In that time to start the consolidation into the new ux platform we are about to remake again.

On the upside it means you have a consolidated outcome likely to hit our hard-drives in the next 2-3 years on the downside you have what I would call a technology freeze in effect. If the new iteration of WPF or Silverlight does not comply with the vNext vision, do not hold your breath for a new announcement anytime soon that does not involve Windows 8 future(s).

The team will continue their work on Windows 8 as planned
and will join our Developer Experience (DEVX) team. This transition allows us
to bring together our platform development team in a single-management
structure.

That doesn’t sound to bad, I mean on the surface its just a single management restructure. A day in the life of a Microsoftee where every fiscal year or often more than once you are given new managers because the strategy – scratch that – tactics have changed. That in itself is probably your biggest hint of all around the word commitment, this is not just a case of waiting for a restructure to occur once every 5 years – it happens often.

To clarify, do you keep swapping your generals around in war to the point where the troops effectively stop caring who they are reporting to? Probably not a smart idea but nonetheless.

The dev, test, and pm leaders who will be leading the
team reporting to AlesH, YvesN, and LindaAv are:

• Sujal Parikh, Development Manager 
• Eduardo Leal-Tostado, Test Manager 
• Joe Stegman, Group Program Manager

The leads and individuals joining our team are receiving
this mail and have received communication on next steps.

If most of you who have been involved in the Silverlight ethos are reading then the name, Joe Stegman will probably stand out the most. Joe’s background in the .NET space goes back a ways but in the end Joe’s really been one of the guys under the hierarchy crust of commitment pledges keeping things in the development side of things in check. Officiating his role further in this equation for me is a bit puzzling as it’s kind of the same thing different org tree?

These changes in leadership and organization are
effective today.  For the purposes of finishing out the fiscal year and
the performance review process the team will operate under the existing
management structure.

That is a swift maneuver. Nothing surprising though.

Now onto Soma’s email to the troops which kicked the previous email off (Notice how VP’s etc all pile on from one another with "what he said was.." like somehow being apart of the thread is being seen as a role of importance. Classic Microsoft Victory Email formula, just once I’d like them to send out just one email outlining the change. This is what I’m talking about when I say Microsoft Culture is retarded.

I digress.

MICROSOFT CONFIDENTIAL

Over the last couple of years, our Client and Mobile team
has done a fantastic job of building a number of XAML related technologies that
have been a huge value add to the Microsoft client platforms and an
instrumental part of delighting our developer customers.  The agility and
customer focus that the team has demonstrated over the years has been a
pleasure to watch.

Ooops. Btw this was supposed to be confidential. So do not tell anybody.

Over the last couple of years? From memory, I recall WPF being around for more than a couple of years? Never mind, I keep forgetting everyone internally has forgotten about WPF.

Soma is kind of saying, "thanks for the hard work troops, you managed to outpace most products in Microsoft with your constant brilliance around the word agility, which being said here comes the but to that placating statement.

Today, we are making some organization changes to bring
our platform technologies under a single management structure.  These
changes are centered around three focus areas:

• The team working on XAML technologies for Windows will
move to Windows.

• The team working on XAML technologies for Windows
Phone, Xbox and browser plugin will move to Windows Phone. 

• The Client and Mobile tools teams, including Windows
Phone tools and XAML tools, will stay in DevDiv.

These changes are all effective immediately.  From a
performance review perspective, we will do this year’s performance review under
the DevDiv organization model.

"Today marks a new day troops, for we storm a new beach" is kind of the response to that next piece.

Firstly you have parts of the XAML team(s) parked inside the Windows organization. First impressions on twitter are that "Way to go! Means XAML and Windows are finally going to get along and create awesome XAML experiences"

Have I not shown you the Annie video? Moreover, have I discussed the Orphan Syndrome? "My dad’s going to come for me, he’s rich you…you..you just wait and see"

To me that read as being a case of cherry picking parts of the team to socket into the windows division and their new coding charter will come next. If it involves XAML it will be based around what XAML vNext is likely to be – HTML5 meets Jupiter.

Same with the Phone team, it is what I would call "please standby for further orders" moments.

As for the tooling teams, well you got Cider and Expression Blend team is what that really comes back to. Given most of the Client employees have left, I am not sure what that means suffice to say I am not holding out for a new release for Sketchflow for starters and I am guessing that the Blend teams are not exactly getting high fives for poor sales and download rates to date. If I were in that team, I would be updating my LinkedIn account quickly.

I want to thank Kevin Gallo and the team for all the
great work that they have done over the years.  Moving forward, I’m very
excited to bring the client platform efforts closer to the platform
teams.  There is a lot of very exciting and critical work underway as part
of our next wave of platform releases and I am very eagerly looking forward to
seeing the team’s work in the hands of our developers and customers.

Remember when Mary Jo posted a while back on how Kevin Gallo would be taking over the reins of Scott Guthrie. That’s probably the quickest promotion and I’m not ready to say demotion but I’m not ready to say continuance either – that I’ve seen?

The positive part there is the "next wave of platform releases" that sounds a lot like a continuation of what we have in front of us. Make no mistake there will be a Silverlight 5 and a WPF vNext released next fiscal, its already got most of the code done and it would be foolish to not release those when they can – especially after MIX2011.

Releasing those two would also buy you time for the next 2 fiscals at most. As by doing this you create this calming effect around "see, we’re still working on it..honest" to placate the developer hordes.

That is up to you, you can buy into that sure, and it is hard to debunk given there is not much visibility behind what we are likely to see next – especially given this is tradition within the Microsoft roadmap(s).

For me personally, I’d like to corner Microsoft If I could into giving more concrete assurances that whatever the next wave of bets are that they are either backwards compliance or have parity around what we have today in terms of conceptual features today.

Features for me are not will I be able to still hit F5 without changing code. Features for me are the concepts that are on the table today, around how one manages the out of browser and in-browser functionality – everything from casual gaming through to enterprise ready features (printing, isolated storage, data binding etc).

Going forward.

I think what has happened in this email is the equivalent of me saying "I really like this car, now can we take the wheels and put them over there. In addition, can you take the steering wheel and dashboard and put it over there. Lastly, can you take the engine and well. Just leave it in place for second; I’ll get back to you later on where we can put that next"

It’s clear there is a consolidation happening that I think we can all agree on early. How will the consolidation impact the average .NET developer is likely to be dramatic enough to warrant some applications having to have code refactored down the track – you will not escape that sorry.

Does this mean .NET is dead? Who actually knows what .NET vNext will be so it is hard to simply say "yes" and it could very well be a reset of .NET to fix a lot of pent up frustration in the way it sticks together today.

What I am certain of is WPF is definitely officially done. The chance of WPF going beyond what it is today is slim. Some journalists etc. will gloss over this as its not news but let me be clear in saying at Microsoft we really had no clue just how deeply seeded this product became.

In Australia it’s used quite heavily and it’s something I personally noticed whenever I used to travel around the country meeting Microsoft customers (both as an Evangelist and Product Manager). I used to send emails internally stating "I think we underestimated is usage, as it definitely appears to have more devs using than Silverlight" which was later brushed aside as being "Not realistic".

I think post September the announcements that are to follow will give these warnings probably some second thoughts around what parking WPF in the retired bay is likely to mean for Microsoft when it comes to the words "trust" and "commitment"

The product and developer satisfaction surveys for the last few years haven’t been something you’d brag about internally which for me indicates a strong sense of "fatigue" within the ranks of our beloved .NET developer communities.

It’s now one thing to announce what the next version of .NET will be its entirely different thing to convince and sell these fatigue customers that this is defiantly the bet this time. Silverlight, WPF and WinForm are available today and millions are shipping software solutions using them.

Microsoft now has to figure out a way to convince the millions that the "Windows 8" wave of vNext will fix all of these problems and more – and – will not require a reduction in feature parity along with extra boost in tooling.

If I know, my Microsoft and I like to think I do, good luck J

Full email below:

From: Julie Larson-Green
Sent: Monday, June 20, 2011 9:35 AM
To: Grant George; Jon DeVaan; Julie Larson-Green; John
Cable; Yves Neyrand; Craig Fleischman; Bambo C. Sofola; Scott Herrboldt; Greg
Chapman; Julie Bennett; Jeff Johnson; Ales Holecek; Mohammed El-Gammal; Chuck
Chan; Michael Fortin; Eric Traut; Jensen Harris; Linda Averett; Alex Simons
(WINDOWS); Gabriel Aul; Dennis Flanagan; Iain McDonald; Samuel Moreau; Dean Hachamovitch;
Michael Angiulo; Antoine Leblond; Tami Reller; Chris Jones (WINDOWS LIVE);
Jonathan Wiedemann; Ulrike Irmler; Adrianna Burrows
Cc: XAML Team; Kevin Gallo; S. Somasegar; Terry Myerson;
Sharman Mailloux Sosa; Brad Fringer; Steven Sinofsky
Subject: Please welcome the XAML platform team to
Windows!

We're pleased to announce the transition of the XAML
platform team from the Developer Division to the Windows team.  While the
team has been working side-by-side with the Windows team for the entire project,
this step brings them into our team formally.  

The team will continue their work on Windows 8 as planned
and will join our Developer Experience (DEVX) team. This transition allows us
to bring together our platform development team in a single-management
structure. 
The dev, test, and pm leaders who will be leading the
team reporting to AlesH, YvesN, and LindaAv are:

• Sujal Parikh, Development Manager 
• Eduardo Leal-Tostado, Test Manager 
• Joe Stegman, Group Program Manager 
The leads and individuals joining our team are receiving
this mail and have received communication on next steps.
 
These changes in leadership and organization are
effective today.  For the purposes of finishing out the fiscal year and
the performance review process the team will operate under the existing
management structure.

There will be an informal Q&A session today to
welcome everyone and answer any questions that folks might have.
• XAML team welcome – 2:00-3:00 in building 37/1701

Please join me in welcoming these folks to our
organization!
Julie
 

 

From: S. Somasegar 
Sent: Monday, June 20, 2011 9:16 AM
To: Client and Mobile Team
Cc: Developer Division FTE; Steven Sinofsky; Julie
Larson-Green; Terry Myerson; David Treadwell
Subject: Bringing together client platform efforts

MICROSOFT CONFIDENTIAL

Over the last couple of years, our Client and Mobile team
has done a fantastic job of building a number of XAML related technologies that
have been a huge value add to the Microsoft client platforms and an
instrumental part of delighting our developer customers.  The agility and
customer focus that the team has demonstrated over the years has been a
pleasure to watch.  

Today, we are making some organization changes to bring
our platform technologies under a single management structure.  These
changes are centered around three focus areas:
• The team working on XAML technologies for Windows will
move to Windows.
• The team working on XAML technologies for Windows
Phone, Xbox and browser plugin will move to Windows Phone.  
• The Client and Mobile tools teams, including Windows
Phone tools and XAML tools, will stay in DevDiv. 

These changes are all effective immediately.  From a
performance review perspective, we will do this year’s performance review under
the DevDiv organization model.

I want to thank Kevin Gallo and the team for all the
great work that they have done over the years.  Moving forward, I'm very
excited to bring the client platform efforts closer to the platform
teams.  There is a lot of very exciting and critical work underway as part
of our next wave of platform releases and I am very eagerly looking forward to
seeing the team’s work in the hands of our developers and customers.  

The follow-up emails will provide more details on the
changes to those impacted.  Please join me in wishing Kevin and the team
all the very best as we move forward.  If you have any questions about
this change, please let your manager or me know.

-somasegar

Related Posts:

The mission to land a .NET developer on Jupiter.

image

Ask not what Microsoft can do for you but what you can do for Microsoft. That’s really the inspiring quote that President of the new colonization group – aka Windows  – needs to say to the unwashed masses of tomorrow.

Microsoft is taking on a mission that looks to go beyond the moon, they want to land on Jupiter and it will be done with Apollo. Still confused?

If you’ve not paid attention to all the codenames flying about the place you’d be forgiven to be confused as there’s a space theme happening and with these code names its quite interesting to see how the objectives for the next generation of Microsoft is likely to shape up.

Jupiter is rumored to be the reset button to Windows Presentation Foundation (WPF) and Silverlight. A reset is the latest suspicion as just yesterday I found out that the XAML ethos within Microsoft has been disbanded and set to various corners of the company.  Some went to Internet Explorer team, some went to Windows teams and others went to Google, Amazon and Facebook.

Why disband the teams? It is time for pencils down folks, let us stop piling on code for the existing stuff but now let us set our sights for the future, let’s be bold. Let us be daring. Why land on the moon when you can land on Jupiter floating on a cloud of Azure? (Ok, I lost myself in that metaphor as well).

Ok fine, I have gone through the seven stages of Silverlight/WPF grief and I am at acceptance I think.

The Mission.

In order to better prepare for the mission ahead, let us think about the various things we need to account for prior to launch (September).

Replace Crew Members.

image

Inside Microsoft there is a lot of toxic turmoil going due to internal re-orgs (which is fairly common) that fueled with how the Global Financial Crisis has affected employees etc. it’s no secret that Microsoft are losing some quite influential and dare I say, hard to replace staff to places like Google, Facebook, Amazon and so on. I personally know of three employees who have hated working for Microsoft for quite some time but have been stuck due to housing prices in Redmond etc not being ready enough for a resale – that is – until Google, Adobe, Facebook and soon Amazon have campuses of their own in Seattle.

Now the super geeks have alternative employment options. Microsoft is now on notice, treat me better or I will leave. The later choice has been winning in my opinion and the more the new found employees have sent me messages of "Omg, its way better over here than Microsoft" which has to be salt in some current employee’s wounds whom are likely staring down the barrel of uncertainty in the company given its end of year commitment scoring mixed with the demise of what we used to call the Silverlight/WPF & Blend ethos. What to do!.

Reaching Parity. 

image

A gentleman and fellow .NET scholar Jose has done the best he could in reverse engineering Direct UI (rumored to be the leaked incarnation of Jupiter). He has some insights that are both great and disappointing at the same time. The great part is it could very well be the next iteration of what has to come in the landscape of C# and XAML for tomorrow’s UX Pioneers.

The downside is its 3-5 or maybe more steps backwards in the current feature parity you have all eagerly waited for over the past 4 years. There are some fundamentals in the room whilst there are concerns around some of the other features that may or may not make the cut for version one.

If I know Microsoft and I like to think I do, this is likely to be yet another one of those traditional "version 1" moments whereby the team(s) behind the product eventually stumble across the finish line, exhausted but barely breathing enough to shout "Give me feedback on what you want in version 2, it will be better I promise" followed by some metaphor about how it’s a marathon and not sprint to the finish line (We got great mileage out of that with Silverlight and I dare say you could get a few more products out of it yet).

The tooling is likely to be not in place during this version 1 lifecycle as my sources tell me that the Blend Team aren’t cranking out the vNext improved world of Microsoft. I know Steve Sinofsky has had a few ambitions about what the Tooling should look like in the perfect world of Windows vNext frontier and I am guessing he did not play well with others in the Devdiv team(s) to share such ambitions.

That being said, either there is a skunk works tooling team hidden in some random building in Microsoft that others do not know about or the tooling story behind this next frontier is unlikely to be in place before Sept or for whenever this next version of our beloved Silverlight/WPF ethos occurs.
What I mean to say is welcome all to Microsoft 2005. Hold onto your Winforms or ASP.NET MVC  for a little bit longer and for those of you in Silverlight/WPF investment land(s) – try to not focus on the future but the now (best to keep your code base as lean as possible and not to tightly wound in client-side logic).

Put vital organs into Escrow.

image

Microsoft are quick to throw technology at a problem first and then ponder as to why the problem existed. I’ve often personally seen strategies – wait, that’s not correct, strategy requires forward thinking – tactical decisions (better) made around trying to grow developer audiences.

The assumption are

"ok, we’re not making our tech palatable enough, lets steal stuff from Ruby On Rails, Apple or Oracle to make it better".

The absolute harsh reality is often a lot of non-Microsoft customer(s) etc. just don’t like Microsoft (Ever liked a girl/guy and they don’t like you back? You try changing your clothes, hair, car etc. and still nothing. Welcome to the Microsoft Developer outreach program, you will fit right in).

The other side of this coin I guess is those of you who adore Microsoft for what they are. You spend thousands of your own dollars to go to various events to listen to Microsoft confuse the absolute crap out of you. The problem is lately, they seem to be a company you just cannot bet on for the future.

Grandiose plans to land on Jupiter may be bold, daring and exciting but is it dependable? Can this company commit to a master plan and is this a plan or just a tactical political brain dump mixed with a lot of Microsoft experimentation.

Is it a case now of not waiting for the next Service Pack but now waiting to see if a product can get past version 3 and 5 before you really consider it as a viable option of the future?

In order to prepare for this next mission, someone has to donate some good will to the fans of Microsoft technology. That means you cannot stick to the ye olde "need to know information" mentality. You got to bring your roadmap(s) for the future and you got to show us that you’re telling the truth that you want to aim for Jupiter and not some closer planet or worse – the unknown void beyond Jupiter.

Commit and stop being assclowns.

image

Commit to us so that we may commit to you. No more lies, No more "I’ve got a secret, can you guess!" and lastly no more internal political child play spilling over and into the blogosphere. It’s time to be a big boy company and use big boy strategies with big boy plans mixed with a lot of big girl personality (somehow that did the ladies no favors).

If we are to take on this mission, it’s time for a smarter playbook around transparency and if Steve Sinofsky is willing to bring the "come to Jesus" moment for the company around consolidating the entire product lines into a consistent continuous experience across all devices with a developer/designer experience to boot. Great, I personally will print out a t-shirt that says "I’m back in team Steve" (heh my old team inside Microsoft was called Team Steve…Steve the manager though was a arrogant jerk, different story, different time).

Right now its just a case of me holding up a really sick puppy that others have kicked and telling you all about the neglect its owners have given it. (If I quote that metaphor I was given last night by a friend).

Related Posts:

Windows 8 : Making new friends, Ratcheting Momentum and influencing anger.

After just having a discussion with a journalist today, a question was put to me that I felt I should share some more information around – Why do you think the developers appear to be angry with Windows 8?

It is not that I think developers are angry about code name "Windows 8" being well HTML5/JavaScript friendly in fact it is probably one of those situations where you would easily go "great, not for me but hey who knows how things turn out down the road". It is also not the fact that Microsoft have come out and hinted strongly at the idea of dropping marketing support for .NET going forward in favor of HTML5/JavaScript cocktail of weirdness.

I think what’s happening is developers across the globe in what appears to be millions now (currently on Silverlight.net forums there’s a few threads ratcheting around 11million views – which is 11x the traffic per month that site gets) all basically releasing a lot of pent-up annoyance at the communication blackout – yet again.

image

 

I think this is a case of "the last straw" and it has been lurking for quite some time about Microsoft and a consistent amount of failings around corporate communication 101. To some this appears on the surface to be some idiot in PR being asleep at the helm again (keep in mind often Microsoft outsources its PR to companies like Waggener Edstrom) and so it could be a case of a room full of people pointing at one another for the "what do we say" moment(s). I highly doubt that, I’d wager this is an executive decision and its likely driven by the concept of ratcheting customer momentum for a final reveal in September.

Note: I recently had the VP of Corporate Communications for Microsoft follow me on Twitter post the Windows 8 Fallout(s)…. Why?

image

Creating a disruption in the market with the sole intended purpose of getting people around the world to talk more about you in mixed emotions isn’t a brilliant new tactic – it was done in the Windows 7 launch with the Jerry Seinfiled ads that Microsoft bet around $300million on.   Realistically this strategy can often work (we’ve used this formula a few times with Silverlight in the early days) but at the same time it’s what I’d class as a high risk strategy given you could scare people too much.

This is of course speculation as at the end of the day the more Microsoft staffs I talk to internally about this the more I get the growing sense that majority of the staff internally are also in a complete blackout as well. Insiders within Microsoft are telling me that they are both concerned and frustrated at the lack of information coming from Team Sinofsky to the point where they are not interested in whether or not .NET lives or dies but how the heck they are going to clean up after this reveal occurs.

I probed further and asked what kind of convincing points are needed in order to illustrate to the presidential overlords that having 11million+ views all seeing the words ".NET" and "Dead" is probably not a smart play here and short of announcing .NET 5.0 at //BUILD/ you’re digging a very large hole. The response that I later got forwarded to me was one from an executive that stated that unless they see major accounts being withdrawn all that really is happening is interest and group of developers getting emotional about it all.

Yeah, my first impression was "what a jackass" but having sat in similar meetings like this when Adobe AIR was first considered a major threat to Microsoft, all I can say is that’s exactly how the company thinks at a higher level. It’s a numbers game, and hearing stories like "my friend just told me they are moving away because of this" small stories don’t add up to situations like the US Govt calling Microsoft to say "Yeah, the whole .NET confusion thing is something we aren’t happy with and so we’ll be moving to Java/Oracle – thanks bye" moments aren’t flowing just yet or likely to.Measuring account losses due to an event is somewhat hard as deep at your core you can see that the potential is definitely there despite the deafening "the sky is falling!!" emotions running high.

The reality is its unlikely to create havoc for at least a few years should they come out and say tomorrow ".NET is dead, thx" as looking at Windows XP & Internet Explorer 6 its obvious that Microsoft technology is very hard to kill of even with official announcements.

What is the TAX then? What is the one thing you can beat Microsoft around the head with that will send some sense to Redmond?

316493397

Developers, Developers, Developers is that answer.

Microsoft are losing a battle in replenishing the .NET developer share, it’s alleged that for every 1x .NET developer that departs the Microsoft ecosystem there should be at least 2x more to fill their shoes. The reality it’s the opposite – allegedly.

Ok, so we highlight the depletion of the ranks and state "..if you continue scare the kids with the comms blackout that number will increase! And so you be able to control the depletion rates.."

That will not work either, as HTML5 and JavaScript is a nice big juicy cake to sink ones potential teeth into. As the big bet is that if you can convince the world’s developer base – the ones NOT using .NET today – to jump onboard with the new Windows8 concoction called Metro meets HTML5/JavaScript across all screens. Bing! (No pun intended) you just got a completely new market share you did not have yesterday.

That is the bet at the moment, win hearts and minds with a unified platform the world has agreed upon across all languages – HTML and JavaScript.  Sadly, the .NET developer base is being used right now as collateral damage and is considered acceptable loses.

This is dangerous game being played and all the years I’ve been involved in Microsoft this is by far the most interesting and distracting time for the company. In under 48hrs in my opinion Team-Steve managed to undermined and undo a total of three years work by the various people within the Silverlight teams so should the reveal in September be a case of "Look we were just kidding, here’s our roadmaps going forward.." it would still set Silverlight back quite a lot in terms of regaining what marketing momentum is left for the product.

The reality is Silverlight’s marketing & evangelism has been severely reduced from where it once was and the products are now in auto-pilot mode (aka "they are now matured" which is code word for being bored with it).

Evangelism efforts are going to have to dig deep post reveal on September and to be openly honest their record lately for influencing the influencers has been murky if not non-existent. It’s a contact sport Evangelism and I’ve noticed in the past 2-3 years more so that the steam it once had has diminished quite significantly (due to budget cut-backs and basically VP of DPE – Walid Abu-Hadba driving the entire practice into the ground).

It is not that people are angry, they are confused and disappointed.

Let’s hope this bet pays of Team-Steve as the guy before you made a big bet as well. The last we heard of him now is that he’s trying to make it into the music scene so one hopes you’ve learnt to play guitar Mr Sinofsky ;)

image

Related Posts:

UXCAST–Making Isometric Workflows inside Expression Blend–Part 1

Heroimage

I did it! and I feel exposed. I sat down tonight and put together my first of what may or may not be many (depending on how badly I get crit) screencasts around UI / UX + Microsoft Technology.

In this video, I show folks how one can take a workflow design concept and inject it into your canvas of choice but in an Isometric format. I like Isometrics simply because you can get more of a spatial view than most screen angles that and it derives from my old Pixel-art days so..yeah..Isometrics are the way!

Hope you enjoy, and feedback welcomed.

 

 

RIGANEIC – UXCAST – Isometrics in Expression Blend from Scott Barnes on Vimeo.

In this screencast I show how one can take a Isometric workflow map and transpose it into Expression Blend 4.

Related Posts:

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:

UX Lab: Changing the way you handle CRUD workflow

I often see a lot of consistent patterns in the way applications are being built when it comes to generic create, read, update and delete (CRUD) workflows .

The usual pattern is that a screen starts off with a add/remove action followed by a very large datagrid and probably some paging. A user would then refine the datagrid’s result set, make a selection either inline on the datagrid or opens a modal via an action like double click which then presents the end user with a more detailed view of that record. This is probably so generic in the way it’s being approached that I’d probably dare say nobody’s really sat down and thought about its actual practicality – as it seems to be the unofficial standard for screen design (well the bloody apps I see day in day out anyway).

This pattern for me isn’t something I’m a fan of, maybe because it’s so common now that I simply crave for an alternative approach? I crave this alternative because I feel at times the workflow in itself seems oddly backwards?

The part that catches me out, is the overall approach taken. For instance, the end user has come to the said screen to get a detailed view of a record – maybe a summary, but doubtful. They wade around in the various amounts of turn-keys (filter settings) until they settle on a pattern of data that they can then scan (hunt/browse) for and proceed to get the modal open for a detailed view. It appears that majority of the practical usage is saved towards the end of the process pipeline? in that getting a detailed snapshot of the record seems to be an extension to the UI instead of probably being the focal point of the UI?

Armed with this style of thinking, today, I set out to try an alternative approach to the way this workflow could work. I decided to simply inverse the workflow, in that take a typical Security (add/remove users etc) workflow and try a different approach (see below).

SecurityUserScreenBkg

The idea is that when you click on “Find Users” the screen opens up to your summary view, in that since I’m logged in it reflects back my entire account profile found within the system. There are then a number of actions one can take in and around deciding on what to do next but the main key piece here for me, is well I’ve shown you the end point up front – I’ve seeded a contract with the end user around what screens will look like once they’ve found a user of their choosing.

How do I change the user from me to someone else?

image

The change button in this screen kicks off what is traditionally the first screen, in that if the end user clicks on [Change..] a modal will open over the top, presenting the end user with search criteria. The user then fires up some search results and can specify filters for their search. Once the end user has found the right user of their choosing, the modal closes and the original security profile (you) switches to the person in question.

SecurityUserScreen

Ok, I’m kind of with you, but what benefits does this give then?

I personally think it shifts the user into a more focused approach to how they handle the workflow. It’s quite easy to snap in a datagrid + tree control and hit F5/Ship. This approach in my opinion approaches the workflow differently, in that it asks the user to be specific in what they are really after. If you’re in the User Administration area of this application, then what is it you want to do? Manage users is probably the typical response here. So, let’s let them manage a User in a more focused fashion by exposing other areas of interest in a screen that’s more content specific and less cramped / buried in a floating modal.

The typical “list all users” with paging approach is quite unnecessary real estate to reserve for prime time, as well it’s merely a stepping stone to the end point. It’s almost throw away in the task process should the user want to change “John Doe” password or check when that user last logged in etc.

You could even approach the way I’ve done it differently, by simply providing a search box at the top with a label “Find User..”. Once the user types in “Scott Bar..” (auto complete) like experience fires, but instead of a pulldown it could then go off and grab all twitter feeds, flickr photos, facebook profiles, linked profiles etc and just start showing them on screen. This kind of approach is more helpful when you’re trying to figure out who that “Scott” fellow was last night, as now you’re meet with multiple forms of media to help guide your search detective skills down to a more informed end point.

The point is, it’s taking the equation of CRUD and flipping it into a more interactive experience. Why invest all this time and energy into some of the new UX platform’s out there only to use generic patterns like the original one mentioned in this post? How can you evolve this pattern further and where can the users gain in terms of data + contextual view beyond what they’ve typically been given.

It’s a new world people, try and break a few things as when you break something you in turn are rewarded with knowledge on where risk/failure can occur. Much more informative approach than “well everyone else is doing so i assume it works” policies :0

To be tested..

Related Posts: