This article got me thinking about places in my life where there's friction. My computer stands out as a huge source of friction. I already try to close unnecessary windows/tabs, but after reading this, I realized that, because I use it for so many different habits, my desktop fails as a friction free starting point for work.
So I've identified a few ways I use my computer and I'm setting up a user account for each one:
* coding in Ruby
* coding in Java for work
* blogs and email (and hacker news)
* personal and household maintenance
This way I can tune each desktop to the appropriate kind of work. I can eliminate clutter in the dock. I can leave the appropriate windows open without it distracting me when it's time to do something else.
If it goes well, I'll try to write it up in a blog post.
This seems a bit overkill, like trying to prevent yourself from wasting time on a site by blocking it in your hosts file. I worry it would make "mental context switches" too expensive, which might help to discourage you from wasting time on HN, but also get in the way of your work. I imagine that if I tried to separate my activities into separate accounts, I would get tired of switching users and end up with a de facto main account very quickly.
Have you looked into a virtual desktop solution yet? I use virtual desktops for very similar reasons (tuck all the real time wasters away in one desktop, put music playing controls and such in another, and use every other one for a different task), and I find it does a very good job of keeping me focused on the task at hand without getting in my way when it's time to do something else. Each one of my desktops is just two keypresses away, but there's no indication that anything is even running in any other desktop but a tiny square in the bottom right corner of my screen.
A less radical approach is to use multiple screens/desktops, but all under one account. Under OSX, they're called "Spaces," and I can't remember what the Linux term is. I'm not sure if Windows has them.
Maybe you don't even need individual user accounts - today I noticed this app to start (and close) different groups of applications. While I don't need it, this may be an alternative to your multiple account approach: http://www.flyingmachinestudios.com/foreman/
Thanks for this! It's a little buggy wrt hiding/showing applications from the popup dialog, but overall it's working pretty well and was worth the purchase. Hopefully future updates iron out the minor issues.
There's a free version on their website (scroll down a bit) if you'd like to try it. It lacks the toggle hotkeys, but it'll let you know if it suits you before buying.
At the office, I do a physical variant of this: when I'm at my desk, I'm in work mode. If I want to spend time doing personal things at the office, I'll go to another area (eg a couch). If nothing else, it's easy for me to notice when I've been there for a while. And it keeps me efficient in either mode.