Windows 8 is like a Frankenstein monster composed of two bodies loosely sewn together - Win32/Desktop is one half and WinRT/Metro is the other. Do they work together to produce some sort of Win/Metro-Desk that will take over the world? Or are they pulling in such opposite directions that the entire thing is going to fall apart?
With the announcement of the Microsoft App store and the date for the first beta of Windows 8 there are some new things to say about where Microsoft, and more importantly the state of Microsoft development, is. The main reason is that things seem to be changing fast and Windows 8 has gone from being a "concept" release to something real that we are all going to have to come to terms with in one way or another.
Windows 8 is supposed to be a reinventing, or re-imagining, of Windows. But in truth it is Windows 7 with a tablet OS tacked on in front. We don't have two editions of Windows, but we do have two fairly different UIs and development platforms. So much so that it might have been better if Windows had been split into a desktop and a tablet edition. However, this would have made it much clearer that "edition" isn't quite the right word. The two operating system share a common ancestor but they represent a bigger split on the evolutionary tree than "edition" would suggest. Windows Metro is one thing and Windows Desktop is quite another, and they are a lot further apart than a chimpanzee and a human.
The new Windows App store is all about Metro apps and we are expected to start building new apps or porting existing Win32 apps to the new environment. To encourage us, Microsoft is going to take a 30% cut of the profits falling to 20% for any app that sells a lot. It also has pointed out that there roughly 500 million Windows 7 users out there - which is much, much bigger than the iOS or Android markets.
Now this raises some interesting questions.
Will existing Windows 7 users upgrade to Windows 8?
Windows 7 users are mostly desktop and notepad users. What has Windows 8 to offer them? The answer has to be virtually nothing. All of the important headline features in Windows 8 are about Metro. If you have been working with Windows 8 on a desktop machine then you will probably agree that the Metro component is a bit of a nuisance. Using a touch interface with a mouse isn't fun and it is a relief to return to the desktop.
Of course, you can argue that the existence of Windows 8 will make desktop touch monitors more common. Perhaps this is true, but the majority of desktop machines are going to be mouse driven for some time to come.
So what might push Windows 7 users to upgrade to 8?
One scenario is that Windows 8/Metro becomes well established on tablets and users are motivated by integration issues to put Windows 8 on the desktop.
But wait doesn't this mean that the potential market for Windows 8 apps is just the number of tablet users that opt for it?
So the half a billion market is far from certain and Windows 8 is going to have to fight its way to a market share on equal terms with Android and IOS.
The argument "because I have Windows 8 on my tablet I want it on my desktop" also applies the other way around: "because I have Window 8 on my tablet I want it on my phone". And now you might spot another discontinuity.
Windows Phone 7 is not WinRT/Metro, i.e. it is not Windows 8. It is the last outpost of Silverlight and managed code. So the argument doesn't apply unless Microsoft changes Windows Phone 7 to be based on Windows 8 - presumably then renamed to be Windows Phone 8. This might smooth over the discontinuity for the user - the same apps will then run on Windows based phones, tablets and desktop - but only at the expense of transferring the problem to the developer. That is, any WP7 applications will need to be rewritten just as desktop apps need to be re-written.
Or will they?
The role of the desktop in all of this is something Microsoft is very reluctant to talk about. Either it doesn't want to frighten us, or it really hasn't decided yet - neither alternative is a good place to be.
The problem is that it is far from clear if the desktop will be supported on tablets let alone on ARM-based tablets. It might well be that behind all of the x86 tablets there is a desktop - but if so it is going to be difficult to avoid the criticisms of bloat. It is also going to be difficult to make the desktop portion of the environment easy to work with. And, if it is easy to work with, why bother with Metro? It seems there is no win-win option. On Arm tablets the arguments for the desktop and desktop apps is even more difficult to make. After all, developers would have to at least recompile their creations and perhaps perform some customization if they were unlucky enough to have some machine dependent code.
The more you consider the situation, WinRT/Metro begins to look like another operating system, not a Windows sub-system.
Would it have been better for Microsoft to simply come clean and split WinRT/Metro off from the desktop?
Announcing a new operating system is never risk free, but who knows we might have been more enthusiastic about a clean break. It doesn't solve the problem of WP7, but it might make it easier to convince programmers that Microsoft isn't dumping so many technologies to make the move to WinRT.
And Microsoft is dumping a lot of technologies at the moment. A list would include the .NET runtime object model; manged code; Silverlight; WPF; an unknown number of .NET frameworks; ASP.NET Win Forms; and so on.
This is a time of upheaval and it is difficult to envisage the future and the prospects for programming in the Windows environment. The big problem is that there doesn't seem to be a coherent plan, and hence you can't really predict where it is going and what turnings will be taken. This could be because Microsoft sees a commercial advantage in keeping it plan well hidden or of course there might not be a plan after all.
Re-imagining Windows is a great idea, but to re-imagine it in a form suitable for a tablet and then promote it as a desktop OS seems misguided at best. The synergy that is needed between phone, tablet and desktop just doesn't seem to be there, and bringing it about means more upheaval than you might have expected. Whatever Microsoft does, it seems unreasonable to take the half billion Windows 7 users as the potential market for Windows 8 apps.
To be informed about new articles on I Programmer, subscribe to the RSS feed, follow us on Google+, Twitter or Facebook or sign up for our weekly newsletter.
Windows Phone 7 Sunk by Silverlight
Dumping .NET - Microsoft's Madness