okay, well, the menus would actually be more like virtual desktops. so the applications would not even really need to be "docked" to the menu as much as "visible" in that specific desktop. i will assume everyone is familiar with virtual desktop tools but, if not, let me know. using virtual desktops is not absolutely necessary but it is probably the easiest way to explain the concepts and it is perhaps the easiest way to implement program "docking". basically, you would be able to specify certain programs to always be visible on a certain desktop (these "desktops" would be visually equivalent to a fullscreen menu). so you would create a desktop for music and you would have all music related programs setup to display in that desktop. similarly, you could create a desktop for documents, videos, internet browsing, file browsing, etc. programs that are not specified to be docked in a specific desktop will open in the "main" desktop (as you would expect). now, i also mentioned that there would be other fancy widgets located in these menus/desktops. one widget type would display files found in a particular location - for example, the music desktop could have 3 of these widgets:
- "C:\Documents and Settings\cracksloth\Start Menu\Programs\music\"
- "C:\Music\Playlists\"
- "C:\mp3\"
this widget would also be useful for displaying items in internet favorites, recent documents, recycle bin, or even shutdown options like: shutdown, hibernate, standby, logout, lock screen, etc.
there could also be a widget for displaying open tasks (grouped by desktop). clicking on a task would switch to that desktop.
another widget could display a clock.
another widget would display all of the drives mapped on your system.
you get the idea (and i am sure others will have some great ideas as well). you could quickly access these desktops using "Fitt's Machine" just by slamming your mouse into the corner of the screen, by clicking in a corner or side, or by pressing a hotkey. you would have a unique environment tailored specifically to each kind of computer task that you do. it also cleans up the clutter of having a lot of programs open at one time. like i mentioned before, i think task oriented computing is the future of interface design and this would be a really great way of pooling common resources together without having to redesign Windows.
there are many ways to address task switching (maybe we can all state our preference and why we think it is best):
- when selecting a window in the taskbar, the parent desktop would automatically be selected
- each desktop would have its own taskbar and the tasks docked to a virtual desktop would be hidden from the taskbar of the main desktop
- each desktop would have its own taskbar but the tasks would still be accessible from the main desktop taskbar (docked tasks are available in both the virtual desktop and the main desktop)
- each desktop would have its own alt-tab menu
- etc.
like i mentioned above, it is not necessary to think of these as desktops - visually they would appear as fullscreen menus that you can turn on or off at will. i guess it just depends on how your mind works.
in retrospect, i think we should just call them fullscreen menus because it is easier to explain (but in the background they behave like virtual desktops). i hope i didn't confuse anyone with the talk of "main desktop" and "virtual desktop". to recap, the main desktop is what we see everyday. the virtual desktops are the other "menus" that we add that have widgets and docked programs.
@kfitting:
what happens to those of us who use 90% of our windows maximized (like myself!)
well, the maximized windows that you don't dock to a desktop/menu would remain as normal in the main desktop. if you docked a window to a desktop, you could still maximize/move/resize the window. no change. it is just the underlying desktop that is tailored to a specific task and you could also dock those windows that are related to that task so that they are quickly available.
i am not sure if this description is adequate but if anyone has any concerns, let me know.