I've tried various virtual desktops and they seem to do what they advertise.
However, my problem is coming up with a good set of rules, like which set of windows should I keep on each desktop. I typically have programs like these running: VS.NET, Explorer, Browser/mail, Task manager, command windows etc.
So the question is: How do you split your windows between virtual desktops (as to minimize hunting for lost windows and maximizing benefits of virtual desktops)?