Using Concentrate for Pomodoro

by scott on 02/26/2011

Using the Pomodoro technique has always been one of those things that I try to do with good intentions but fail miserably at. I am easily distracted and need to police myself from getting side tracked.

Get Concentrating

Today I setup Concentrate for use as a pomodoro timer, distraction blocker and “nagging boss”.

Step 1: Create a Pomodoro Activity

  • I created an activity named “Coding in Windows” because this will be my pomodoro for when I am writing .Net code.
  • I set its “Default time to concentrate” to 25 minutes.
  • I added a “Switch to Space” action since this will need to put me on my windows desktop (in space 16).
    • Switch to “Space 16″ on Concentrate.
  • I added a “Quit Applications” action checked “Relaunch when done” and “Block applications while concentrating” and added the following apps:
    • TweetDeck
  • I added a “Block Websites” action and added the following domain groups:
    • General Distractions
    • Social Networks
    • Video Sites
  • I added a “Growl a Message” action to nag me at a specified interval:
    • Title: “Still Concentrating?”
    • Message: “Make sure you are focusing.”
    • Display: Every 5 minutes

Step 2: Create a Break Time Activity

  • I created an activity named “Break Time”.
  • I set its “Default time to concentrate” to 5 minutes.
  • I added a “Growl a Message” action to tell me when break time is over.
    • Title: “Breaks Over!”
    • Message: “Get back to work!”
    • Display: “When Done”

What’s wrong with this setup?

  1. I have to remember to start Concentrate
  2. I have to remember to start a pomodoro when I sit down to do work.
  3. I have to remember to start the break time activity when I finish my pomodoro.
  4. After breaking for 5 minutes I have to remember to start a pomodoro again.

Possible Solutions:

Solution for #1: Have Concentrate start on startup.

Solution for #2: Make it a habit so that I always do it.. yup easier said than done.

Solution for #3: AppleScript to the rescue

  • I created an “Run a Script” action to the “Coding for Windows” pomodoro activity and set to “Run when done”
  • Then added the following script:
1
2
3
tell application "Concentrate"
    tell activity "Break Time" to concentrate
end tell

Solution for #4: AppleScript to the rescue (again)

This time I didn’t want to just start a named activity because I may have multiple pomodoro’s that can be started from the break time pomodoro.

  • I created an “Run a Script” action to the “Break Time” pomodoro activity and set to “Run when done”
  • Then added the following script:
1
2
3
4
5
6
7
8
9
10
11
12
display dialog "Would you like to concentrate again?" buttons {"Yes", "No"} default button 2
if the button returned of the result is "Yes" then
    tell application "Concentrate"
        set activityList to name of activities
    end tell
    choose from list activityList with prompt "Choose an activity:"
    repeat with x in result
        tell application "Concentrate"
            tell activity x to concentrate
        end tell
    end repeat
end if

Comments are closed.