An idea I’ve had for UI’s is to start new users out with only the most very core functionality available. They are in a sort of semi-transparent tutorial in which they navigate a tree of knowledge to identify instances of what they want to do. In response, the program “turns on” that functionality and demonstrates to the user how to access it (menu, shortcut, et cetera). Beyond simply activating functionality in the UI, this process appends the activity, and it’s associated position in the knowledge tree, in the user’s navigable history. Lastly, the user would have a good amount of control over the UI layout (as is normal with IDE’s and other editing software).
Or, of course, you can simply sign in with an already configured user, or merge your user with a preconfigured layout.
I’m talking about a discoverability tool intended to render itself usable by its very usability and usefulness. Traditional “Help” in software, such as the F1 key in Windows has traditionally sucked beyond the point of uselessness in relation to the power of google. What “google” (ie, passive search in a disconnected system) lacks is any idea of what you are accomplishing in the program itself. Or what you have accomplished. Or how you have things laid out.
google.com’s problem, just as I reported yesterday about Chrome and Wikipedia, is that it doesn’t help YOU organize YOUR information. Google organizes “the world’s” information. I always get back to how I want to organize my own information.
A UI oriented around enabling the user to “humanly” organize their own information could be a billion dollar idea. In the end, we’re talking about an operating system. I always get back to that, too.