Now that I have a new baby, it is even more important to me that the time I spend in front of the computer is spent efficiently and productively. I’ve played around with productivity-monitoring software like RescueTime and TimeSnapper, and they provide a convenient way to record how I wasted my day. It’s a nice first step, but I’d like to see this class of application expand into 3 new areas: positive feedback, targeted recommendations, and an attention API.
Being told that I only spent 10% of my day doing work is good to know, but getting a low number might depress me rather than motivate me. I suggest a system that actually rewards me when I have a killer day or a great week. For example, I give the service $25 or $50 up front, and after I meet some sort of goal it buys me something off my Amazon wish list.
Wouldn’t that be neat? You’re having a good week, and suddenly a book you want shows up at your door. The key to this is making the rewards somewhat random:
Several studies have been conducted which targeted neural response to rewards. The results were unanimous in the fact that when one performed an action over and over again, and was given a reward randomly, dopamine levels rose. If the reward was given consistently, i.e. every four times the action was performed, the dopamine levels remained constant.
A slight variation that might work better would be for each contiguous block of productivity over a certain length, you have a chance of earning a credit towards a purchase. After N credits, the service automatically buys and sends you the item. Structuring it like this would make the feedback more rapid and allow for a little burst of dopamine each time you get an email saying you earned a credit. Isn’t this why MMORPGs are so much fun?.
A program to help you get addicted to work is either terrifying or a big win. Either way, it would be really neat to try.
Some software is just better than the default stuff that ships with Windows. For example, I like Textpad and Paint.net a lot more than Notepad and MS Paint. I’ve also been pleased with my switch from Bloglines to Google Reader, and from web based twitter to Twhirl. If a program spends all day monitoring my activity, it would be a cinch for it to recommend the tools and websites that are considered “best in class.”
There is obvious potential here in terms of sponsored recommendations, but it would be nice to see those separated out from community or editor controlled listings. Recommendations could be driven by some sort of wiki, which would make for all kinds of interesting fights over things like whether Google Reader is better than Bloglines. Any recommendation could also come with an estimate of the number of people that are currently using it, which would help the cream rise to the top.
Ultimately, it’s not just about how much time you spend slogging away – making good use of computer time is an important dimension of productivity as well.
A slight variation on this idea is to recommend something like LeechBlock if the user is spending too much time on the web.
I know I’ve seen this idea somewhere before, but because things like RescueTime are actually in a position to make it happen, I’m going to mention it here. Interruptions are usually bad, but there are some times that they are worse than others. If I’ve been focused on Visual Studio and Windbg for 30 minutes with no breaks, I’m almost certainly in that fascinating “flow” state, and I’m going to be angry if I get an IM or (even worse) if some random app asks me to download a new version.
To deal with this kind of thing, it would be great to have a standard for publishing my current tolerance for interruptions, just like IM apps publish my presence. Both desktop apps and remote users could use this to determine if what they want to tell me is important enough to interrupt me. Of course, this only works if apps pay attention to it, but first we would need some apps that can accurately measure it. I’m not terribly good with naming things, but unless someone has something better, I’m going to suggest calling this value your “inTolerance”.
So there you go. One idea to help you spend more time being productive, another to help you make better use of the time you are actually working, and a third to keep you from getting interrupted. Anyone want to go and implement this stuff? I’ll be happy to beta test it for you.