Idea 3: Stacks
Once you have several sets of windows organized by their draggable tabs into tabbed windows, you might end up with five times as many windows on the screen as you'd have otherwise, simply because it is easier to manage more open windows.
While Exposé elegantly solves several problems, it does nothing to organize alternative working sets of windows. Users familiar with virtual desktops have tried to figure out how to extend Exposé to provide for a similar functionality. I call my idea Stacks.
Basically, a Stack is a collection of all the open windows at a given time. Click on a Stack menu bar icon, pull down a menu for "Stack open windows," and Exposé prompts you to name the Stack, then adds all the open currently windows to the new Stack.
The Stack menu bar icon also displays a drop down menu of all defined stacks, similar to the Fast User Switching menu of users. Once you define a few Stacks, they can be left open in the background (but out of the desktop view), and switched in and out using the Stack menu bar drop down, or by an Exposé key command.
Stacks allow a user to organize a set of windows that pertain to a particular job or project, and switch between the stacks of windows almost instantaneously. Imagine having one stack of open emails and a couple Mail viewers; another stack of web browsers windows; another stack of Finder windows; and another stack of Office documents. Jumping from stack to stack would be as easy as jumping in and out of Exposé's F9.
A further benefit of Stacks is that you could save a Stack to a file. Opening the saved Stack would open all the windows and their related applications. Opening a stack might also include connecting to a file server share, initiating an IM session, or opening multiple viewers in Mail. A saved stack would simply be a bundle that included aliases to files, the window positioning information, and other details required to jump back into a previous working state.
Like any bundle, a saved Stack file could be encrypted and password protected. A Stack would be somewhat dependent upon the applications and files available on the local computer, so if you sent someone a Stack you created, it might not be able to fully open on their computer, but it would fail gracefully, just as an alias might. You could also create an "embedded stack" that included any related files rather than just aliases.
The real value in Stacks would be the simple tie in to Exposé. Identify multiple desktops as individual Stacks, and then use Exposé to jump between open Sacks, or even cycle through them with a key combination, similar to the behavior of cycling through open applications using Option-Tab or open windows using Option-Tilde.
||For extra Quartz slickness, the window sets of one Stack could swoosh in from the left while the second set exited to the right, like a chef's view of a guest checks on a diner's revolving order wheel.
While some of this functionality can be achieved through Exposé alone simply by expecting a user to leave all their windows open at once, Stacks would add value and extend the Exposé metaphor by compartmentalizing work environments as discrete objects, and allowing them to be saved (and shared) like files, which would act like a freeze dried copy of everything you were working on.
"Welcome to Acme, here's a stack of tasks to start with"
file attached: "Acme contractor.stack"