Thank you for posting this. I just downloaded emacs yesterday after reading so many things here about how great it is.. then I sort of stared at it for a bit and closed it. Now I feel like I can actually spend a little time learning to use it without as much initial time investment.
There's a built-in tutorial mode (takes about 45-60min) that you should go through to get started, and then you should just start editing all of your files using what you pick up in the tutorial. You'll make mistakes, discover new features, and start to understand it. You won't need to reach outside of it for new things for awhile - there's at least a few months of learning to just be had from exploring emacs.
I was on revive.el/windows.el before that, and elscreen before that, but both hadn't been updated in quite a while, and I always had to piece together both serialization and management. workgroups.el just works for me.
Huh, I just wrote a similar tool for myself a few weeks ago. I use the sawfish windowmanager and have C-F7 set to cycle between emacs windows. I wrote some elisp to add a term ("my-workspace") to the titles of the windows in the current emacs invocations, and to tell sawfish's C-F7 to cycle between the emacs windows whose titles contain that term. Works quite well, and keeps my different projects entirely separate.
Basically, even when I have multiple open Emacs frames (window-manager windows) they are all actually instances of the same Emacs processor, sharing the same buffers. This offers many advantages, but means that I can't really use my window manager's multiple desktops for Emacs like that.
http://www.gnu.org/s/libtool/manual/emacs/Saving-Emacs-Sessi...