Problems with modal approaches to "fixing Windows 8"
A bunch of people have suggested the current unified tablet/PC design we see in Windows 8 should be split into two strictly separated modes (of course, having two totally separate SKUs or OSs can be thought of as an even more extreme version of this). Recently some very nicely executed design mockups by Jay Machalani got a lot of attention and praise. Kudos to him for a great demonstration of the concept, but I have a couple of big problems with it:
1. It breaks useful cross-mode windowing scenarios
Having a strict modal separation between the two windowing models breaks a bunch of IMO not terribly uncommon scenarios where mixing them in some way is useful.
* Can't have a different mode on each monitor - if one is touch/a tablet and the other isn't, for example
* Can't snap an app beside the desktop and have the system automatically manage the use of the remaining space. There are actually some desktop apps that have hacked a custom implementation of this - OneNote for example - so I don't think it's a contrived scenario
* Sometimes I like to use the availability of desktop and immersive windows to express a "work versus play" (or, more precisely, "continuing part of ongoing persistent task versus transient digression") distinction. That way I can use the "transient/play" apps without worrying about them cluttering the taskbar, slowing down the PC, interfering with what I'm doing, etc. Modal separation breaks that.
* Some apps just work better with one or the other windowing model - e.g., part of what I really like about Tweetium is how clicking on a link will automatically shrink the Tweetium window down to a narrow strip and open a browser window in the remaining space. That of course depends on the immersive windowing APIs. Other apps such as calculators or 'sticky notes' work better in desktop windows. So it would be nice to have apps like this automatically open in the right kind of window, or at least allow the user to set this per-app, rather than requiring an obnoxious global mode switch that potentially messes with everything else.
2. Desktop apps inherently clash with the immersive app model and UX.
While running immersive apps in desktop windows seems like it could probably work well, I'm really leery of the reverse. There are a few potential problems with running desktop apps in immersive windows that I see:
* Desktop apps can open multiple windows and draw outside of their window. Some apps (ab)use this quite a bit for dialogs, palette windows, etc. This could get pretty awkward to map to immersive windowing - do we put each in its own "strip"? Do we make each "strip" a little virtual desktop where the app can put additional windows? Do we try some mix of the two approaches, and if so, how does the OS decide which is which?
* Desktop apps can even take arbitrary goofy dependencies on the desktop environment - custom notification bubbles off the taskbar, whatever. How to support?
* A goal of the immersive app model was that the user wouldn't have to worry about closing apps or which apps were/weren't running - indeed that the concept of "running apps" wouldn't exist for most users. The system UI was designed around that - no "X" to close, no taskbar to show what's open. But desktop apps can do anything in the background, so closing them and knowing what's running is important. And when you switch modes back into desktop, which apps should even be kept open? Since "metro" mode blurs the lines between running and suspended apps, it's not clear.
And if you can't run desktop apps in immersive windows, and in general have a 1:1 mapping of running system/app state between modes, you can't really have a pure modal separation - either the mode switch is made destructive and essentially becomes a reboot, or you're left with a bunch of hidden stuff "running in the other mode" which doesn't make any sense. Once you really start thinking through the ramifications of alternative models the current desktop-as-an-app model starts to seem pretty elegant in some ways IMO.