15 seconds ago, BitFlipper wrote
And MS is 100% to blame for this, as they should be.
I actually think that most of the features of Windows8 are a good thing: more asyncronicity, better app isolation, explicit per-app permissions, getting developers to move away from the Win32 API, better touch capabilities, a central app store, and UI that is DPI-scalable and based on a small number of fixed formats (which compels decoupling of the UI from the functional code) are all great things.
Look at any one of those things and you have to concede that it, introduced on its own into Windows7, would have been a good thing.
The problem wasn't what was introduced, but how it was introduced. One new feature is an improvement. A million new features, which are so new they require developers to develop in entirely new ways (async), in new languages (JS), abandon all of their existing libraries (incompatible) and specialist knowledge (APIs), was a horrific mistake.
Compound on that the dual killers of giving people the opportunity to continue developing as before (with the language, APIs, libraries and institutional knowledge they have learnt over decades) and the direct business reasons not to upgrade (Win8 apps only work on Win8, Win7 apps run on both, oh and by the way we'll take 30% of your profit), and you don't need a crystal ball to tell that Windows8, as released, was always going to fall flat on its face.
The tragedy is that Microsoft are a bunch of techy people who just don't get developers or users.
Traditionally Microsoft knew about developers. it killed OS2 and Linux in the 90s because all of the developers developed for Windows. And so users used Windows because thats what all of the apps needed to run.
Apple knows about users. All of the users want an iPhone. The dev experience is awful but developers suck it up because if you want to make money, you need to go to where the users are.
But Microsoft is in a dangerous new place where it seems to not really get either developers or users. Metro, but also Silverlight and XNA signaled really serious problems at Microsoft with understanding what developers want, and probably did more in those three things than the entire of the rest of the open-source community in getting developers to abandon Microsoft in favor of "open" standards that weren't going to die for no reason because of an organizational shuffle in Redmond.
And Microsoft also doesn't get users - excepting possibly Xbox. People queue up outside Apple stores overnight to buy $600 phones that are virtually identical to the ones in their pocket. It's easy to meet people who are proud to have a Mac, or who boast that they run Linux. But when was the last time someone boasted that they ran Windows?
It reminds me of back in the day I dogfooded an early pre-release build of Win8, and struggling to find the hibernate and logout buttons when I went home one night. The next day I went and spoke to one of the guys in the Windows UX team and said "I want to hibernate my machine, but I can't find out how to do it".
He showed me on his screen: "Oh, you swipe here and click here and click here".
I remember saying to him: "No. You don't get it. I want to turn my machine off, and I can't find out how. If you have to tell me how to find a feature that I want, your UI is broken".
Needless to say, that conversation clearly didn't lead to a fix, and eighteen months later, Microsoft got smashed in the press for having a UI that's hard to use because people couldn't find out how to do stuff like turn the machine off, or open the not-retarded non-metro Internet Explorer on the Desktop.
That's the problem with Microsoft. It always has been. Their senior engineers are technically smart, but people in Windows just OMG suck so hard at understanding how users behave, or what they actually want out of a UI, and they are alienating developers by not understanding what they want either.
If Microsoft is to survive and get past the mental-block that is Windows8 and Metro, it needs to go back to basics and get developers to want to develop for it, and to fix their UI so it works without having to be told how it works.
If it can do that, Microsoft will have a long future ahead of it. If it doesn't, the days of Windows are numbered.