After Ryan Irelan posted about using Keyboard Maestro to block apps, I decided I could adapt the tip for a less cold-turkey approach to computer-enforced self control.
So I’ve been using Ryan’s tip with one minor change: it uses the world’s simplest AppleScript to introduce a time limit for how long distracting apps can remain open (or active). Just create a Keyboard Maestro macro like the following (or download this example):

As you can see, this macro waits one minute (60 seconds) before hiding my Twitter client. Works like a charm: hiding the app doesn’t force me to leave Twitter; but reactivating the app becomes a conscious act of will that forces me to answer That Question.
(I use a similar macro to quit my RSS reader after a more generous 10 minutes.)
Funny, just posted about going a similar route in a different way. Rather than close my windows, I actually use KM to open and bring OmniFocus front and center: http://bettermess.com/geeky-quick-tips-forcing-focus-with-omnifocus-and-keyboard-maestro/
It’s proven to be a very useful gut check.
Michael — love it! I’ve been using David Seah’s Emergent Task Timer to track my time, so a quick OmniFocus popup every 15 minutes would help me keep my ETT updated. I’m not sure I want to be in OmniFocus that much, though, as the day’s big rocks go straight to the ETT.
I keep hearing about the ETT. Think I need to finally take the plunge.
[...] also pointed to some excellent suggestions from Dan Byler on how to use Keyboard Maestro to minimize distractions as well. Related Posts:Bridging The OmniFocus and Evernote Gap With Keyboard MaestroCreate a .com [...]
Hi, Dan! I’m trying to contact you about your OF scripts, but I’m not able to find your email. Could you see my comment on http://bylr.net/3/2011/07/all-omnifocus-scripts-updated-for-a-start-based-workflow/comment-page-1/#comment-150190 ?
Of course, please feel free to email me if it’s convenient.
Thanks for all your work!!