In January, I wrote a quickie blog post in which I rhetorically asked, Why Doesn't Windows 8 Just Look Like THIS? And while tech enthusiasts rallied around my recommendation to mix Metro-style apps with the legacy Windows desktop, it turns out that Microsoft has some fairly compelling reasons for not doing so. I'd like to discuss this topic briefly.
First, here's the mockup image I provided:
I called it "pragmatic, and doable, and entirely in keeping with the Windows team's 'no compromises' slogan." Why, I asked, aren't we getting this?
First, I assume it's obvious to everyone that the folks responsible for Windows don't live in a vacuum. And while there are occasional exceptions to this rule, its fair to say that anytime someone (like me, in this example) comes up with an idea like this, Microsoft had already considered it and, in this case, tossed it aside for the reasons stated below. This is the case for much of the feedback that users supply as well; the lack of decent mouse and keyboard interfaces in the Metro-style environment, for example, was well understood before the Developer Preview shipped, and while Microsoft appears to have addressed users' concerns in the Consumer Preview, the truth is, the company had planned almost all of those changes well in advance of any actual outside feedback.
But with regards to this design, there are a number of issues to consider. The most basic is that Microsoft is trying to do something new and different, and to solve a new computing usage case that, frankly, didn't exist just a few years ago. And while Microsoft will obviously try to make the Metro environment as usable as possible on traditional desktop PCs with big screens, the primary focus here is on highly mobile devices, like tablets, and the ways in which users expect to use these machines.
I wrote previously in Windows 8 Secrets: Understanding WOA that Microsoft is moving ahead with two different UIs in Windows 8, a Metro-style UI that will be the primary interface on new tablets and other portable Windows devices, and the classic Windows desktop, which will be the primary interface on traditional desktop and laptop computers. Users will mix and match, and certainly there are improvements to performance and the user experience in the Consumer Preview that make doing so easier than was the case previously. But Metro is new, and different, and purposefully separate.
The Metro environment is also designed to work well on battery power. Everything has been optimized to ensure that the system isn't doing anything to overly strain the battery. This includes only displaying one app at a time or, worst case, two apps in a side-by-side multitasking scenario. Apps that are not seen are not on, for all intents and purposes, much as with a smart phone. This saves the battery.
The desktop model destroys this interaction. There can be any number of applications running, over and on top of each other, running background processes, and sucking up the battery at will. If Microsoft allowed Metro-style apps to run on top of the Windows desktop like legacy Windows applications, all of the battery optimization work that's inherent to Metro would be forfeited.
Similarly, Metro-style apps, like those on Windows Phone and other smart phone platforms, are isolated from each other and the OS, or sandboxed. This prevents malware or errant apps from infecting other apps or the OS, and while the ability to display just one app (or maybe two apps) at a time is only a small part of the security puzzle, it is a part. Allowing Metro-style apps to run on top of the desktop would destroy this new and safe environment and open up these apps to the vagaries of 25 years of legacy code and all the attendant problems that come with that. Microsoft wouldn't be able to protect Metro-style apps if multiple apps could be running at the same time, and interacting with the desktop. It's basically a security surface issue.
There's also a clean new developer model to consider. Microsoft designed Metro as a best of both world experience for developers, offering clean, .NET-style APIs and frameworks but without the performance and updating issues that dog .NET and related frameworks (WPF, Silverlight, etc.). Part of the neatness of this developer model is that Metro-style apps provide a consistent experience in which they are normally full screen, or possibly working in a side-by-side situation, and cannot be infinitely resized, floated above or below other windows, and so on. App to app communication occurs only through simple contracts, and so on.
For the user, these things, which may seem like limitations to power users, free most users to install Metro-style apps with confidence. Because they are curated by Microsoft and are only available from the Windows Store, and because of the safety of the environment, users can install these apps without fear. They know that viruses won't invade the apps, that legacy software can't do something horrible to the environment, that the overall experience can't be messed up. Over time, I'd expect users to demand Metro-style apps for these very reasons.
Ultimately, with Metro, Microsoft is making a bet on the future, not on the past. And while that will incur a short-term and painful process for some, certainly for today's power users, it will ultimately benefit Windows users in general enormously. Microsoft chose to innovate rather than evolve, and while I'll personally be impacted in a somewhat negative way by this change, I realize and accept that it was the right decision for the future. It's something Apple does regularly, and Microsoft doesn't do enough.
Now, there are real world concerns around how well the Start screen and Metro-style apps will work on 27-inch displays or multi-monitor setups. There are power users and others who are very set in their ways, and have developed a set of efficiencies that will be broken by this new model. I certainly have my doubts about how well I'll be able to work and multitask in such an environment. And I will of course be exploring this, and writing about it, in the weeks and months ahead.
I think it's fair to say that Metro is a step to the future, but is only the first step. Based on feedback and years of experience, Microsoft will modify things and improve them, probably for Windows 9. But before that can happen, we need to take the painful step of breaking the shackles of 25 years of assumptions about how our PCs work. And Windows 8 is where it happens. I'm as fearful of change as anyone, but I'm also excited to see whether it works. I suspect you are as well.