I remember people complaining about GUIs, how CLIs were so much better and more powerful, how the mouse and cursor are so inefficient. When you change things people are used to, people are going to complain.
CLI: You need to memorize at least a basic set of commands. There is contextual help once you know those commands, but there is no help to find out which commands do what in the first place. Clearly intended for what we now call power users.
Win9x/NT4+ GUI: All required operations are discoverable through reading what's on screen and going through the menus. No manual or googling required.
Mac since OS1/.Net GUIs: Even better, hotkey commands can be discovered in the Menus -> users can learn how to become faster while just using the programs.
OSX since 10.5: Any program on your HD, installed or not, and any operation within these programs can be discovered through system wide search, clearly indicated by the search symbol staying in the top right of your screen as well as the Help menu. Typing after clicking on Help will even point out the command's placement in the menu such that you can memorize for next time.
Win8/Ubuntu: Trololo who needs discoverability - let's hide most of the functionality behind non trivial gestures (we heard people like them on Macs[1] so let's go all in on them) => the UI now has similar discoverability properties as a CLI - you need to read the manual or google a tutorial to get started.
[1]Note: There is currently exactly one gesture that is really needed in the default settings on OSX (which I find a bad idea btw.): Two finger scrolling.
You are absolutely right about discoverability. This is the major difference compared to CLIs. But what happened is that on mobile you have very popular UIs that have no discoverability whatsoever.
You can't even hover a mouse cursor over something you suspect might be a control because there is no mouse cursor and what is and isn't a control isn't always clear either. Lots of secret gestures and lots of change in every version (at least on Android).
I'm a bit baffled as well as to why this can work. I suspect it might be because people don't use these devices for productivity and hence they only use a relatively small number of features. They don't need to discover new stuff all the time and when they do it's for entertainment more than anything.
Or maybe it's because there's a new generation of mainstream users that sees everything as a kind of adventure game where discovering hard to find treasures is the whole point.
Maybe Microsoft's problem is that their technology people ignore the very message their marketing people are trying to get across: PCs are for productivity, for creating things. If you're at work trying to get things done you're not in the mood for figuring out obscure features and the latest UX fashions.
Your point basically boils down the whole issue of why Win8 is a failure: MS blindly followed Touch UI trends in a context where Touch UI is simply weaker than Mouse/Keyboard, and they threw away many of the advantages of a Mouse/Keyboard oriented UI in the process. Metro might have an advantage through its consistency across applications for Touch devices, but as long as it's being forced onto Desktop users it will continue to alienate a big chunk of Microsoft's core userbase. Considering the current developments I expect a full 180 for Win9 - even the Vista start menu might come back at one point.
I don't think touch and discoverability are mutually exclusive. I do think that discoverability is very difficult to do on 5" screens but that doesn't mean discoverability must be equally bad on a 10" or 20" or 24" screen.
Microsoft can't just do a u-turn and go back to the traditional desktop. What they need to do is to scrap the old desktop altogether and use the screen real estate that's there.
Why not implement a fully featured tiling window manager? On a small screen, you see only one or two tiles and you have no discoverability. On a larger screen you get extra tiles that show available commands and help text. Once you learned your shortcuts you can remove those tiles.
I like your idea of a new window manager. There are a few more aspects that need to be taken care of if one wants to bridge Touch and Desktop UIs IMO:
* contextual menus should still be available to speed up certain tasks. For touch screens these should be available through a simple gesture, for mouse/keyboard it's the right click as always. I'm thinking that for touch UI the menu entries could be placed in a circle around the point where the gesture has been initiated, without hiding anything behind the finger (the OS should recognize from what direction the finger has been placed on the screen).
* the concept of a program menu should be reimplemented. Every function should be accessible through this menu, even if there are contextual elements that implement them as well. However, this menu needs to be easily usable on touch screens as well.
* there's one element I'd propose to be always visible, no matter what screen size starting at 7 inch: The search. This search should be able to find application commands and data, OS commands, other applications as well as and system wide data (in that order).
> Clearly intended for what we now call power users.
You would think that, but in the DOS vs Mac days a lot of non-power users advocated the DOS way, I still don't know why though. A Mac is a toy, was the argument back then.
People who call Mac toys have probably never used one for a good amount of time. There are legitimate ways to criticize Macs - this is not one of them.
Yes, I did read it. I'm implying that this hasn't changed - there's enough people who still think Macs are toys and a Windows PC is the computer for serious work.