Whenever I switch work spaces — which, thankfully, is not often — I spend a huge amount of time just setting up my working environment, typically 1-2 days. Its critical for your productivity, efficiency and general well being at your work place that you are familar and comfortable with your workspace. In my context, workspace typically means your computer/laptop, your desk, keyboard and pointing devices, and your chair. For people in different industries, workspaces may be different.
Anyways, so I was saying that it takes me quite some effort to setup the workspace just the way I like it. Often times its impossible to get it //exactly// the way I want it (if, for instance, my employer “recommends” that I use Windows only). I’m so used to running cutting edge stuff that even when I’m using Linux systems in a corporate environment, I usually don’t immediately feel at home. I mean, msot of these systems are running really old “stable” software (like RHEL 4WS, or Debian 3 etc).
Some of the things I go after right away are:
* browser (Flock)
* editor (Vim 7)
* email (kmail or gmail)
* scripting language (Python)
* version control (Mercurial)
That pretty much covers the basic necessities. I avoid instant messengers except from my laptop or my lab machine at UCSD, so thats not a big concern. Although I did give Meebo a shot, and its pretty cool. Infact, these days it can even store your chat logs (across all messengers, of course). The only problem was that running Meebo in Flock pretty much killed my system’s memory, so thats a no go for now.
But the point of this post is that it is //still// incredibly hard to //quickly// setup your workspace to your liking. A solution that immediately jumps out is to use VMs: each user could carry his/her customized profiles in a USB key, plug it in the base station, and voila, you’re ready to go. Microsoft already has a [[http://research.microsoft.com/research/sv/keychain/|prototype for the desktop on a keychain]], but several kinks need to be worked out for this to fly. The most important one is security. What is the threat model here? Do I trust the base station? Does the base station trust my VM image? What if the organization wants to impose some restrictions on the things VMs can do? Sounds like we need a policy based architecture for this :-D
So, how long do you take to set up your workspace?