Microsoft unveiled a demo of their next version of Windows on Wednesday, and it appears that they're doubling down on Windows Phone 7's "Metro" user interface. Which is great, because it (the UI) is the most novel, useful, and genuinely interesting thing Microsoft has done in the consumer space in a long time. And it's a surprisingly and encouragingly risky move, considering Windows Phone 7's limited success so far.
There are some things I really like about the Metro UI. I love its departure from the WIMP paradigm, and in a direction other than the grid of icons. The idea of rich, interactive tiles is great,[^1] as is the idea of making shortcuts to discrete functions of apps as opposed to the apps themselves and the concept of "hubs" that collect data from across applicable apps.
Some of the ideas in the demo that extend Metro for Windows 8 are fantastic, too. The implementation of multi-tasking (actually having two apps on the screen at once, not running background apps) is basically what I've been wanting for a while.
Maybe the most interesting part, though, was the exposure of legacy Windows 7 programs running alongside the new Windows 8 interface. While it's superficially jarring to see two such different UI styles juxtaposed, the really interesting idea that it presents is a convertible device that exposes an intuitive, simplified, pared-down interface in one orientation, and another more robust, complex, and capable interface in the other.
The obvious application for this is a tablet that you can use as an iPad-like consumption device for casual use that you can dock to a mouse and keyboard for "real work" and maintain all the functionality of a PC. There are some instances of something like this already: tablet/laptop convertibles that dual boot into Android and Windows 7; as well as the Motorola Atrix, an Android phone that you can dock into a laptop-like terminal device and boots into a linux-based web browser environment. Windows 8, though, forks the abstraction at a different level, which makes it much more compelling by making it almost a matter of separating function and data from presentation. Ideally, the two modes would offer potentially the exact same data and (selective) functionality in two separate but consistent experiences, instead of the weird split-brain experiences of current offerings.[^2]
In much the same way that the Metro UI's introduction answered the question of mobile interface in a refreshingly novel way, this dualistic (Platonic?) paradigm skirts the conceit of the iPad, and addresses the inherent compromises in a qualitatively different manner. While the iPad manages expectations by offering a completely separate and different experience that's tailored to the device, Windows 8 offers full functionality but in a crucially context-sensitive fashion.[^3]
It's a really fascinating idea, but Microsoft has a very difficult execution ahead of them. Unless they're prepared to seriously rethink the dominant mode of robust input,[^4] they're going to have to figure out a way to seamlessly integrate and reconcile a fundamentally touch-based direct-interaction interface with a fundamentally more abstract, indirectly manipulated one. Additionally, they'll have to address whether developers are going to have to create two separate interfaces to all of their apps.
This exposes a more important and fundamental challenge, though. The problem that Microsoft appears to be trying to solve with Windows 8 is that of being able to take all of your computing with you wherever you go, and have the full experience available to you, and its solution is predicated on a particular confluence of technologies becoming mature and robust enough for this to be feasible. The implementation of iOS was similarly predicated on battery life and low power consumption processors finally becoming powerful enough to run a serious operating system on. But as Moore's Law's continuing influence makes hardware/power/bandwidth even cheaper, another solution to this problem that's being worked in parallel is becoming even more feasible, interesting, capable, and solves another set of problems at the same time: the cloud.
Which renders a lot of this dicussion moot. As web technologies become more powerful and users realize more and more that they don't need everything that traditional desktop applications have to offer, more of the things that sit between the user and the browser becomes overhead.[^5] After the web hits a certain level of robustness, these differences between operating system user interfaces are ones simply of chrome preference. They become commodities.
To reiterate: I like a lot of what Microsoft is trying to do with Windows 8, and I applaud their direction of energy and ambition. But it seems like a solidly middle-term goal that doesn't relate to a long-term goal in any real way. Maybe it's a great way to maximize productivity and extract value from a technological valley, but it in no way addresses the mountain on the other side, which is steep and high enough to poke through the clouds.
[^1]: They are, however, not exactly original. Android's widgets offer the same utility, and more. Metro's solution is considerably more elegant and unifying, which brings up something of a UI paradox: It looks so much cleaner and prettier when everything is consistent and uniform, but it does make it that much harder to differentiate/distinguish the different tiles/icons, especially quickly.
[^2]: I imagine even the desktop mode and desktop applications will get a UI revamp to make them more Metro-y, aesthetically at the very least.
[^3]: As John Gruber notes, the touch-based, direct-manipulation UI model is only one part of how iOS simplifies the user experience. Other ways include: hiding the file system, single-tasking full-screen apps, and platform-specific apps built from the ground up with the specific interface in mind. (Gruber also notes other differences like battery life that I don't think relate to the discussion at hand.)
[^4]: Even if they do, how will legacy apps integrate into the new system? It's an important question because legacy support is one of the reasons Microsoft can't just do a complete reboot or a completely separate operating system for tablets or simply extend Windows Phone 7 for tablets.