image.png

The rise and fall of Microsoft’s UX platform – Part 1

I am a little shocked at how fast my tweets spread across the interweb this week regarding my thoughts on HTML5, Silverlight and WPF. I’m not shocked by how fast people picked it up, or the fact that a well-respected journalist like Tim Anderson was able to take these tweets and built out quite a comprehensive story around it that actually fitted to the context of my tweets – I love Tim’s work, as he is one of the few journalist online that actually has integrity.

What shocked me is how arrogant Microsoft staff was to the reaction or the sense of false belief that this was all some secret that everyone outside of Microsoft wasn’t privy to? Again, take a few tweets piece them together and a journalist was able to weave these threads into a pretty informed article or two around it all. I know Mary Jo from ZDNet has similar notes and so on.

Taking a step back understand why the information is just sitting there waiting for a spark or two to ignite it and it has to do with a number of reasons but all center around one theme – internal culture.

Inside Microsoft headquarters most will agree that the company is a very top-down driven organizations in that executives make micro level decisions on behalf of people who were hired to make these level of decisions simply because it’s a combination of politics, trust or what I commonly call “Geek Fame” (being seen to being the one in the know / seat of power). It’s a flawed system and as a result generates a lot of frustration on a variety levels to the point where gossip occurs I think in a more widespread fashion as having knowledge is power.

I draw your attention to this culture and others have as well countless amounts of times, simply to highlight at how well known the HTML5 is the future is within the company – so for Microsoft to establish a “Let’s interview and interrogate all who knew Scott that we know about” is definitely a fool’s errand and classic mistake made.

Why did I do it?

Having said all of this, here is the reason why I said the things I said. It wasn’t about grinding an axe with an executive or ex-manager here and there; it wasn’t about getting a sense of self-inflated power / geek fame it was purely because I felt this conversation needed to be had more broadly and more openly beyond internal politics within the company.

The future of .NET is an important issue that we should all have say in, and I make of point of stating why – Up until now, .NET has been a mixed bag of weird decisions driven either by Scott Guthrie’s org down or via some random fiscally focused team that wants to solve some random metric that in the end has no real sense of purpose other than to look like it’s solving a problem and less solving one.

I say this as my professional career within Microsoft has been both product management and street level evangelism and I see massive disconnects daily between what people inside corp believe to be true and what is actually occurring at the street / cubicle level – massive disconnects. I’m not filled with a sense of arrogant belief that I’m the chosen one to bring about this connection; I’ve tried and failed many times at this problem myself. I am however someone who is indifferent to pissing Microsoft off by exposing this upcoming flawed approach to technology futures to the wider community for further discussion. I’m in a position of knowledge and I could have used this to my own personal advantage. I didn’t, instead of just tipped what I knew onto twitter along with some silent blessings from folks within Microsoft – which came with a cautionary “If you do this, it will help but you will be alone and they’ll attack you from all sides once it happens”.

What did I say?

Everything I’ve said isn’t a massive shock to the core of most out there, in that its pretty well known and established that the Windows Team(s) aren’t a fan of managed code in the wild and as a result there has always been this kind of gang / faction warfare between Developer Division and the Windows Organization. As the reality is, Windows is a titan inside Microsoft given it’s the flagship money earner and as a result they kind of a have this sense of ruling power over many other teams – rainbows and all things “let’s work in harmony” PR aside, deep down that’s basically it in a nutshell.

Silverlight and WPF are something in which a lot of teams internally just aren’t fans of and has a variety of reasons attached but the main one that used to piss the Window’s teams off was that the notion that the CLR should be cross-platform is in many ways an attack point on Windows adoption – furthermore it’s pretty well known that Bill Gates himself allegedly said in a meeting regarding Silverlight as being “the fuckyou windows product” (I wasn’t in that meeting myself, but it’s a story I’ve heard told many times).

The skirmishes between these two org tree’s is pretty common and I’ve seen some of the effects first hand myself, overall though what I am seeing today is that WPF has lost the support it could have had from the start in favor of Silverlight. This in turn has put Silverlight out in front as the preferred UX option in the .NET stack but the problem with Silverlight is that it has a limited amount of features that most dev’s want and furthermore it’s still being plagued with issues around ubiquity (random stats announcements aside, it’s having trouble getting to the magic 70%).

WPF is dead

WPF however has more ubiquity than Silverlight today, it’s got approx. 70%+ ubiquity in Windows based machines and furthermore it’s gotten deeper traction when it comes to Independent Software Vendors (ISV’s) so it presents quite a complex problem in around investment and it’s overall future.

On one hand, it’s pretty widely known within the company that WPF has been ear marked for death for quite some time and had it not had such prolific ubiquity or ISV’s that build software used by many on it (Autodesk 3DSMAX, Visual Studio, Expression etc) it would have been taken out back and shot long ago. It simply is too hard to kill, so the only way Microsoft to date knows how is to either spend majority of its focus on convincing developers that Silverlight is the better option and/or reduce the noise around WPF altogether hoping that others will pick up on the subtle tones that it’s better you don’t adopt but under the Smokey hazed veil of the a-typical response “It depends”.

WPF has no investment, it’s kept together by a skeleton crew and its evangelism / community efforts have little to no funding attached to it. It’s dead, the question now is how is the corpse going to be buried and no amount of cheer leading will change that outcome in the near future.

HTML5 is the future.

Given Silverlight is the preferred platform going forward next comes the discussion around how the web applications of today can be transformed into desktop applications of tomorrow. Rich Internet Applications is a fad, but it does present an interesting question around the role an operating system plays in both start-ups and enterprises of tomorrow – especially given the cloud is being positioned in the market as being the software of tomorrow’s future.

Plug-ins though haven’t had a great run in the past few years, given Apple’s recent boycott it simply presented an ideal opportunity for the Windows team to come out from within their respective development caves to announce that maybe, just maybe they can regain some lost footing in the application development space by meeting HTML5 half-way.

What if, you could take JavaScript and make it faster and easier to develop against whilst at the same time leveraging a basic UX language like HTML5/CSS and in turn create desktop applications? It can be done and if you were to bake in specific API’s within Internet Explorer itself, it can also provide you capabilities to ensure that Windows is a chosen platform of the future especially given it has proven time and time again that it can resell itself in rapid succession (ie: see Windows 7 sales).

You get ubiquity, you get millions more developers beyond your 6million+ saturation levels and lastly you can potentially generate much easier sales beyond what you have today around tooling.

It sounds really good on paper but it’s filled with flaws, irresponsibility and had this been strategic play vs. tactical it could be great. The reality is, Microsoft has a limited vision when it comes to big bets and rarely does it go beyond 1 or 2 fiscal years.

I’m not being bitter or venom filled in my response here, I’m just highlighting what others have said and have seen (including myself) in around where this is all heading.

If you have ever been inside Microsoft planning meetings for products, you will notice a common thread and that is no real strategy is in place its very tactical most of the time – agility is good, but where are you heading tomorrow is the question that often gets ignored or left unanswered.

Knowing this, knowing the culture and behavior models within the company I simply look at this overall discussion and simply feel the need to speak up and say “hey, this sux, because it will impact a generation of developers down the road and you are very dangerous now Microsoft, you really need to slow down a bit and think for a change”.

HTML5 and Silverlight can’t co-exist within the company and no matter how many blog posts on “It depends” you produce, customers want answers that are direct and to the point – even if they don’t agree with you, but knowing where you stand is important.

I’m simply about highlighting the disconnect here and if the Windows 8 / IE teams of today think that Silverlight / WPF is something they can deprecate because they dislike people in DevDiv or its current model then think again, as this is one of those rare moments in time where you have a hung jury in terms of which of the two is really the best bet.

Summary

Microsoft executives can call for heads on who leaked what all they like, they won’t get an accurate answer to these questions here as in the end everybody knows about the on goings of Windows 8 teams future plans, the reason being is the staff below the executives are frustrated and in turn staff are looking for ways to express this frustration beyond internal discussion lists.

After posting my tweets, I’ve gotten more inside information that I’ve ever gotten from staff anonymously of course.

If Microsoft truly wants to beat their competitors and raise an army of happy developers across the globe, they need to stop celebrating mediocrity within, reduce the churn of having top-down politics and lastly stick behind a product through the good and bad times whilst also keeping their eye on the ball beyond 1x fiscal year.

Evangelism isn’t working as it once used to, the community/customers are confused daily in around what’s new inside Microsoft and all they really want from the company is some straight answers that don’t involve the words “It Depends”.

This in turn comes back to the various incentive programs within Microsoft as once you have a large number of over-achievers / smart people being given skewed metrics they in turn game the system for either career power or money? This is how the machine works internally but externally its exactly why you have programs that only work a fiscal year and lastly why there is such a vast amount of rapid succession in product releases that really don’t appear to solve problems? If anything in turn create more.

The question I put to the VP/CVP’s within the company is this – Why do you think my tweets got such large amount of attention? Is because customers are still confused or is it a case of them searching for answers that aren’t as obvious. Rather than look for folks to punish internally for my tweets you should really take stock of why it occurred, how it occurred and what’s going to happen next.

Times up Microsoft, you really need to think long and hard about what it is you’re doing for the future of .NET that is beyond a fiscal year or tactical playbook. Really do a long hard review of the business and if Microsoft thinks its marketing consists of a blog post on Scott Guthrie’s blog? Then there is a problem beyond what some ex-employee once said on twitter.

I’m not a disgruntled employee, I’m just a confused and frustrated customer who has high hopes for the company’s future.