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.

Related Posts:

  • hmm… WPF and Silverlight might fade out in favor of HTML5 for consumers, but don’t content generator’s (ISV’s?) still need WPF to create their tools?, what other option do they have?.

    Isn’t it like saying ObjectiveC and Cocoa are dead because we have HTML5?, which can never be true.

    This seems to be related to people moving from desktop to cloud application and making rich UI framework’s (WPF?) irrelevant for consumers.

  • Not my blog, but interesting read… http://blog.iqinteractive.com/?p=338

  • HTML+CSS=Desktop App == HTAs (HTML Applications) from 1999 (IE5). Many of WinXP’s Control Panel applets were HTAs

  • Ironically, ‘Silverlight’ is more beneficial for the windows teams than HTML5+JS will be. The thing is: with Silverlight, a .NET developer stays on windows and the MS stack, will likely opt for SQL Server on the backend, a MS flavored data-layer system etc.

    With HTML5+JS, why would anyone who develops applications for that choose for MS products? Use Linux + Ruby on the server, who cares, it will work just as good. But I recon they didn’t think of that 😉

  • RichB

    IE was abandoned for 5 years. It will do WPF good to be abandoned similarly.

  • quooston

    “Rich Internet Applications is a fad”… maybe in Australia; I haven’t seen any rich internet apps worth mentioning here, or certainly have not felt that the local mindset is even aware that such things exist. No wonder they want to ban the internet… they don’t know what it’s for!

    Or have I mistaken what you consider to be a rich internet application? You certainly can’t be eluding to fattening up the wonderful elegance of HTML with SL?

    God help us all.

    But perhaps it will just happen in Australia and the rest of the world will be spared…

  • Marko

    Hmm, one question cross my mind. Why silverlight is a affraid of HTML 5 and AIR platform is not. Is there any difference between these two?

    Cheers

    Marko

  • Well said, I only disagree that HTML+CSS+JavaScript is the way for desktop applications – why not take advantage of every possible resources that the OS offers? Why not NATIVE applications using C++ or C# or whatever? MS should have a look at Cocoa and learn from it – it’s simple (compared with .NET), light weight and yet delivers fantastic user experience!
    Jut imagine every desktop app been build using HTML+CSS+JavaScript – are we trying to turn the browser in OS running inside OS????

    As for Silverlight vs HTML5 there is no question that HTML5 is going to win. Do you think Google, Yahoo, Amazon.. I can go on… are going to use Silverlight over HTML5? Or all these website that are using Flash are going to move to Silverlight?

    .NET is good (maybe great) for building websites, but when it comes to desktop or mobile it fails miserably. Do we have options? Yes, switch OS – nothing talks lauder than money!

  • Nice post, make me think about Microsoft’s decisions.

  • GT

    “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? ”

    You can do it right now and deploy apps to the desktop using Adobe AIR.

  • @ josefajardo:
    That’s what we said about IronRuby.

  • One day soon, Windows will be surplus to requirements for many domestic computer users.

    I think Microsoft is shifting its revenue from desktop apps to cloud-based RIAs.

    The functionality of MS Office cannot be provided with HTML5, jQuery and CSS3.

    What’s needed is a cross-platform, multi-threaded, compiled, optimized and hardware accelerated runtime.

    I’ve always viewed Silverlight as Microsoft’s conduit for a cloud-based Windows ecosystem.

    In fact, since Visual Studio and some other apps went WPF, it wouldn’t be a crazy leap to port them to SL and have them entirely cloud-based.

    Some companies do great things with open web technologies (Google, in particular), but they’re not a patch on SL-delivered apps.

    It’s so stark to me as to render this argument banal. Web development isn’t programming, and to say that HTML5 is the future is to say that programming is dead.

    –Luke

  • Joe

    There’s a lot that doesn’t make sense here.
    We will always need direct hooks into the OS, so if WPF dies as a product it will be replaced with a profile of Siverlight that is OS dependent. This will need to work alognside a Silverlight that is OS independent. So you will end up with the same thing.

    As for HTML5 – there really is no competition to a real client side platform technology. Anybody that has spent any time with HTML5/CSS can atest to that. Silverlight provides a proper ‘bootstrapped’ UX framework.

    What *should* happen is that Silverlight should have a third flavor where it can be used like a GWT product. This means that most of the SL functionality would be rendered in HTML5/CSS3/JavaScript. This allows for asset reuse and support for native applications on Windows and Windows Phone where extra functionality needs to be ‘lit up’.

    If that already isn’t the strategy, then that is very bad indeed for customers.

  • Jonathan Allen
  • Wayne B

    Right. Microsoft is going to throw away a decade of work on .Net, C# and WPF and move to HTML5/Javascript. This article is hilarious. I’m glad I wasn’t drinking any milk when I read it.

  • Don Burnett

    The problem I have with this article, as late as February this year I was at a large east coast corporation and they STILL use IE 6 and develop on and for WinForms..

    Even if Microsoft does go a different direction it’s very unlikely WPF, Silverlight, or even dare I say it IE 7/8..

    The reality of the Microsoft market is that people don’t do adoption when something is new.. It takes years and years for people to adopt something and the lifecycle is much much longer than even what Microsoft as a whole company plans for or wants…

    I think it’s drinking kool-aid to think that even if IE 9 (HTML 5) comes out and even if it is well received, what has been established already is just going to go away.. Mr. Hammovich has already said flash support and silverlight would be there (no doubt WPF and XBAPs) will be too..

    While I agree with Scott that HTML 5 goes a long way, it doesn’t represent complete video streaming solutions nor gives you all of the .NET framework capabilities leveraged by Silverlight’s portable .NET implementation. And honestly as far as my own Apple iPad goes, as cool as it is there are still some things missing (but it’s not my focus here).

    As time goes on products morph and grow, Silverlight applications went out of browser and now are the basis (along with XNA) for Windows Phone 7.. If Silverlight became only the basis for Windows Phone I believe it would be very successful.

    Out in the field I don’t believe WPF is dead either. I see companies just starting to adopt it thanks to Visual Studio 2010 making it a default option..

    There is room for everyone, let’s just let nature take it’s course..

    Scott I will congratulate you, you sure do know how to widen a debate and attract press.. As much as I think Microsoft sometimes lives in their own “bubble” so to speak, I think they have left all of their options open..

    I can also do the same types of stuff with blend and blend for windows phone that I could always do in terms of design, the default styles in Blend for Phone just enforce the default interface to make it easier. You can still remove those resources and do what you want or define your own resources..

    I remember those people long ago when HTML 4 came out that flash would go away, and it’s still with us by the way..

  • Let’s face it India has taken over. No sense trying to fool ourselves as you mentioned mediocrity has taken over and the programmers in India just say yes to everything. When are we going to stop fooling ourselves cause it’s all built in India and China now anyway. The exec’s at Microsoft well they can speak English and that’s about it.

  • @ Wayne B:
    They through away VB.

  • @ Wayne B:
    Threw I spelled it wrong and you might think I’m from India for spelling it wrong. They have degrees but can’t spell.

  • John Bailey

    Did someone forget that Silverlight is just a subset of WPF? WPF and Silverlight may very well merge, but it will be as more WPF functionality is exposed in Silverlight. The author appears to be pretty ignorant in this area.

    As for HTML5 vs Silverlight the argument is silly. There have already been numerous posts that define how HTML5 isn’t going to replace Flash anytime soon, and the same arguments apply to Silverlight. The idea of electing to write your desktop applications in javascript is just ludicrous.

  • Vincent Siron

    HTLM + CSS = Desktop App ? Funny, you maybe know sidebar of Microsoft ? widget, build in HTML + CSS…

  • Robert H

    I absolutely HATE the web. I write apps for use in medical fields that is deliberately disconnected from the web. Silverlight doesn’t even get a look-in from me. Windows Forms is outdated. WPF is sleek, sexy, fast, responsive and my framework of choice for User Interface.

    The PTBs at Microsoft really need to realize there is a whole segment of the industry that will not, or cannot use web based technologies for development. Like the medical, design and industrial control based systems.

    The way I see it, web technology needs to stay on the web. Too many executives have jumped on the buzzword train, in this case the web/cloud train. Everything has to be on the web or in the cloud, so focus all effort into that. Sorry but the real world does not work like that. Executives get out of your offices, go out on the street, talk to the everyperson, talk to your low-level staff, listen to them and see how the real world works.

  • Uwe

    The real problem is that You see web technologies from the perspective of what you see and not what is behind. HTML 5 and javascript are not in any way stable architectures to build software or RIA applications upon. They may look like applications, but those applications are not built on sustainable architectures that can be used by companies with more than a few developers. Most of those applications on the internet right now very complex business rules or multiple legacy systems. Ebay, facebook, amazon, google and the like are very simple systems at the core. What makes them great is the sheer size of its user base and the massive data behind their services. Business applications don’t work that way. There you have some thousands of users mostly in a single country and very complex business logic with an oldfashioned C++ user interface and a client-server architecture. Those big business applications transformed into silverlight and the web will be a real breakthrough and that is the real reason why we need silverlight.

  • Massoud

    Every single large Enterprise has its internal wars. The question is if this is actually affecting its Customers? I think not or not as much as some people want you to believe. Although some past decsisions may have been not too fortunate, Microsoft’s history of changes in direction affecting customers/partners has been acceptable and better than industry average. SL is not dead and won’t be for a long time. Rest assured.

  • Sirius Lee

    HTML5 with or without JavaScript isn’t it. Maybe it’s great for social networking sites. And it’s great to be able to do more with the canvas tag. But there are applications you can’t write in JavaScript because the range of functionality doesn’t exist and is way too slow.

    Of course the retort to that could well if you need to lots of processing, write proper app. Yes, but users of ‘proper apps’ also want to be able to access their apps over the internet/intranet without installation pitfalls. Admins want that too. How much better would it be to be able use Office products in the browser? I mean all the functionality not the limited subset provided on-line by Google or Microsoft.

    Yes, Silverlight is also too limited just not as much. It would be great that Silverlight would be WPF. I guess its not because there’s a persistent attempt to make it available to run on lightweight (eg ARM powered) devices and limit the initial installer to a few MB. Foolish in my view when mobile devices have significant storage and bandwidth, but there you go.

    I think the flaw in your reasoning is you perceive the internet being used for what its being used for today – just better. HTML5 is after all lipstick on the browser pig. Silverlight or offspring of Silverlight hints at a wider set of possibilities for using the internet.

  • Branko Dimitrijevic

    WPF is dead?? WPF is maintained by skeleton crew???

    And what are we supposed to return to on desktop – WinForms? Shouldn’t it be even more dead? Hell, you can still develop MFC if you want/need to – and it is still far from “dead”.

    This guy has been smoking something really strong.

  • hybridwebtech

    @ Sirius Lee:
    !!YES!!

    Why must we always see things as either/or.

    Either HTML5 or Silverlight. Why can’t we realize that each one addresses a different need. HTML (+/-5) addresses the need of widespread distribution on the lowest common denominator harware/OS.

    Silverlight is suited for narrower purposes, perhaps Windows-only, and where connection to the intra/internet is available.

    The disturbing thing about this whole episode is that it implies that the future of SL may be dependent on the outcome of an internal MS battle, and not on real-world issues.

  • Rob

    You do realize that Visual Studio 2010’s entire UI is written in WPF, right? It’s pretty laughable to make the claim that WPF is dead when you’re faced with that kind of fact.

  • And there was me thinking SL was awesome. VS 2010 in WPF and silverlight 4.0 showing real promise as a LOB solution. It’s not just SL, but the patterns that make SL powerful. SL + MVVM + MEF makes you really productive and as test driven development becomes more popular these patterns allow you to test anything!
    I reckon in 10 years people will say “remember when you used to have to install software!” SL + full trust makes for a powerful cloud solution.

  • HTML 5 is the future?
    By the time all the browsers get their ducks in a row and things like what codecs are supported are worked out, HTML 5 will look like HTML 4. In the meantime, consumers will be expecting even richer user experiences. People today are beginning to expect gestures, accelerometers, and other non-traditional ways to interact with there devices. With Kinect we are seeing the user interface move beyond the confines of the devices and into the real world. Displays in 3D that work with or without glasses will be expected.

    This is the real future and WPF and Silverlight will need to be consistently reinvented to keep pace with it.

    HTML 5 is just a new version of the past.

  • Just a thought: Has anyone considered that maybe the whole Windows as OS is… well not dead, but on it’s way down?

    @Massoud maybe Microsoft’s history of changes in direction has been acceptable in the past, but I don’t think it’ll be as acceptable in the future. Put it this way, keeping team of developers up-to-date with .NET would mean reeducating/retraining them every year or so – now consider how productive this team is, add to that the fact that we are in recession and cannot afford this constant “learning”, business owners want productivity and don’t want to hear that what you started developing 2 years ago (say using WPF) now needs to be redone…

  • Dave

    You imply that web applications are the only future and thick client is dead. I couldn’t disagree more.

    There will always be a need for thick client apps on windows. I agree, these aren’t growing as fast as web apps, but they are still needed. Just because you haven’t experienced them doesn’t mean they exist.