I've been using the Windows Developer Preview intensively while pondering and planning possible applications I might want to make for it. Trying out both the new apps and my old favourites and seeing how they fair on the system.
Once you spend a day or two with the system, you can start to deduce why those who aren't dev's have downloaded it and found it frustrating. It is clearly a work in progress and some bugs are obvious, but the work put in to the engineering of it, the performance, the graphics, the underlying stuff. Users can feel all that and so they want to enjoy the system, only to be stopped when the unfinished or completely missing features block them, and it's terribly frustrating.
The thing that troubles me, is that I could see what Metro could be, and Microsoft is so close. It reminds me much of how Vista promised the world but it took 7 to actually deliver it.
Here are a few things I personally think are missing, the additions of which might already be in progress at MS, but if they are not, I hope someone is listening:
1. The illusion of control
There's been a fair bit of back and forth on the fact that Metro apps don't close. The counter argument being that they don't need to! They just suspend and all that stuff. This is of course, a silly argument as both sides are right, its all about perception.
User's like to feel in control, and having a big GO AWAY button is a great feature of that. There is a great sense of satisfaction that comes from finishing some work and hitting Close on existing Windows applications, likewise there is a certain feeling of relief if a bad program misbehaves and the X button becomes a club that feels good to thwack at the application's frozen window.
At the same time, there are obvious benefits from a phone style freeze-dried application model, in a sense, it is just an extension of the SuperFetch tech in Windows 7, its about the computer being smarter than the user at knowing when to close and when to just set aside. After all, some apps like say, current versions of Firefox, would benefit a lot if they were able to stay resident for a while even once all their windows were closed.
What is needed is a compromise. A close button should exist, most likely on the settings panel (which needs a better name before it becomes 'The Junk Draw') or the charms list. Doing this suspends the app, removes it from the task lists in everywhere but the Task Manager and also mutes it (some sample games forget to pause their audio when they are flipped, only music applications should be allowed to break this rule and they should also shut up when 'closed' like this). If a user reopens it, its again, like it never closed. If they don't, it can fade away as expected. Bonus feature: Right-clicking close shows a 'force close' option which is the same as End Task in task manager.
2. Desktop Confused
There's a lot of people wanting to flee back to the older Windows desktop, and really, the fact it still exists will be a problem unless the desktop is properly defined as to its purpose in the new version of Windows.
Of course, it will have its role for a while in running legacy applications, but what about after that? I don't think there are plans to move the deep system reconfiguration tools to Metro. Visual Studio. Office. The new ribbon based explorer. In their own presentation, Photoshop was held up as an example of an app that really is better served staying in the desktop.
The desktop needs to be re-defined as a place to go to 'Work'. A creative space, things can be arranged more haphazardly, but deep complex tasks can be done. Metro needs to assist in this, providing a smart way of launching say, a set of desktop apps together and then getting out of the way.
Maybe even providing a smarter start experience when you're on the desktop, the start screen only takes the left side pane much like a snapped app so you can check a tile or open something you've forgotten and then get back to work. There would of course be a simple way to return to the full screen state when work is done.
3. The forgotten app class
Some apps are content focused: browsers, games, news readers, lots of content, few functions, these make great Metro apps. Then there are the creation and management apps: Word processors, art tools, developer tools, file managers, administrator tools, these make great desktop apps.
But there is a third class of app, the utility app. Calculator, notepad, instant messengers, backup tools, the command prompt, heck, the run command window. All of these fit in to neither of the above camps very well. Do you really want a full screen calculator? Do you want to have to switch between full screen apps to monitor your instant messages?
There needs to be a third way for apps to work, similar maybe to the docked thin pane mode Metro apps can go in to but that is their only existence. They would work well as assistants to working with larger desktop apps as well as Metro apps. Having a cool Metro command line side by side with Visual Studio would be quite awesome. Likewise using IM via a thin WP7 like Pivot control would be a good UI for holding IM conversations in. (Though having Metro stuff only able to snap to one monitor at a time is silly, fix that!)
4. At a glance information
One major thing that was great about Windows 7 was its new taskbar. The fact that you could see progress of operations, see what apps were running and which weren't, see app status through overlay icons. While Metro does provide status through the use of tiles. It fails to even show that when it comes to providing this information when you aren't on the Start screen.
I can understand the good thing that is full screen apps, but sometimes being able to glance away and check something else is a good thing. Right now for example I can see I have 8 legacy desktop apps running, in those I have several Internet tabs and two text-based games open, there are no new Tweets directed toward me waiting and I am not going to be bothered as I'm set Away on Messenger. I can do all this just by looking at something, having to press Start will never match this convenience.
Though likewise, I have no idea what my Metro apps are doing, I don't know if there is a new item in the feed reader or (if I had the sample app MS demoed) if I had any mail in that mail client. I'm aware some of this functionality will be placed in to Glyphs that can be placed in to the clock that appears when you point at Start or Lock the screen. But those don't show up on the desktop and still require interaction to be seen.
Users need to a way to say 'yes, I want to sacrifice some workspace so I can keep an eye on something in the background'. Its the way we work in the real world and users should be able to do the same with their computers too. Keep me informed is just an important mode as Do Not Disturb.
5. Touch first doesn't mean keyboard/mouse second
Much of this is possibly down to incomplete buggy code, but in the Developer Preview, there is a lot of stuff where being touch-less sucks. And given a benefit of Windows 8 will be that it runs on everything Windows 7 will, the keyboard and mouse interaction must be given the respect it deserves.
For Metro, this means shortcut keys in applications that could be hinted at using tool-tips or in help. It means making sure selecting/cut/copy/paste don't screw up in IE and it means making sure all scrollable lists respond to the scroll-wheel! In Windows, its always been the case everything can be done from the mouse and the keyboard. Touch much join these first two, not supersede them.
The Start Screen too should allow better use of the space for desktop users who can use smaller fonts and can display more information. For listing older legacy desktop apps, this is especially important as even the smaller square tiles waste a lot of space and could remain touchable at half the size.
6. Complete the Experience
Finally, and for me this is really important. There are far too many things that at the moment can only be done using the desktop UI.
Starting with the Control Panel, there should be almost no reason at all to interact with the old Control Panel UI. Screen savers, glass settings, mouse settings, keyboard settings, Microsoft Update, Legacy Program Uninstall, network management. That all needs to be folded in to one single metro control panel. Users shouldn't have to leave Metro to change a slightly more esoteric feature. Accessories also need to be converted to 'type 3' metro apps detailed above.