In my ongoing attempts to use various tools to try and reduce my levels of distraction and akrasia, I've been using Beeminder. It's a pretty simple service. To use it, you need a goal for a repeating task (e.g. doing the washing-up) with the following characteristics: 1. You're capable of doing it 2. You want it to get done 3. You know that given past history, you're unlikely to do it
You tell Beeminder what the goal is, how often you want to get around to doing it, and tell them about it every time you do the task (which is easy given the good Android integration). How they make their cash is that if you screw up, then you give them money. It's free the first time on a particular goal, then it's $5, $10 and so on.
This has worked quite well for me, with one rather annoying exception. I'll look at a goal, and think "I've got 3 days before it'll fail, so don't need to worry about it". If however I'm going to be out and about doing things for the next 3 evenings, this assumption may well be horribly wrong, and I need to build up some more buffer before I go and do fun things.
Enter the Beeminder Calendar mini-application. It's based heavily off the Eventbrite Calendar I built a while back, but this one spits out the "fail days" for all your Beeminder goals as iCal, which can then be fed into whatever calendar app you use (e.g. Google Calendar). This now means that when I look at my calendar, I've got a much better handle on when I should do something early before I fail at a goal, and when I can procrastinate for a while longer.