I've always wanted to write my Ultimate Interface at some point.

My Ultimate Interface has one very important feature. It has all programs divided into two categories - Work, and Cooldown. When I push a certain button, every program not in the Work category gets hidden for half an hour. (If I desperately need to get at a Cooldown program for some reason - a family emergency calling me to my IM program, for example - I'd have a way of disabling the lock. But it would probably involve solving a few logic puzzles, just so I can't do it casually.)

I need the Cooldown period. But I also need to be able to enforce "no games!" when it's time for me to work. Fifteen minutes or half an hour appears to be my limit.

Unless, of course, my damn development environment is taking ten minutes to compile and test, in which case I'm doomed. I need to go speed up our build tools.