🕷 zenspider.com

by ryan davis



sitemap
Looking for the Ruby Quickref?

Setting review intervals in OmniFocus

Published 2011-12-12 @ 15:35

Tagged thoughts

I’ve been refining my omnifocus strategy a lot of late. One thing I’ve done is set all of my review intervals to be a prime number of weeks and then evenly staggered them based on their priority. I’ve got 5 different priority levels on my projects and they’re currently spread out like so:

            date\ tot 1w 2w 3w 5w 7w 
  2011-12-16 Fri:  23  7  6  3  6  1 
  2011-12-23 Fri:  17  0  6  3  7  1 
  2011-12-30 Fri:  11  0  0  3  7  1 
  2012-01-06 Fri:   8  0  0  0  7  1 
  2012-01-13 Fri:   8  0  0  0  7  1 
  2012-01-20 Fri:   1  0  0  0  0  1 
  2012-01-27 Fri:   1  0  0  0  0  1 
           total:  69  7 12  9 34  7 

This way all of my priority 1 projects are looked at every week. Half of my priority 2 are seen every week. Etc. This normalizes the amount of projects I need to review on any given week. It has helped a lot because they used to clump up a fair amount. If you only have 10-20 projects, this probably isn’t as big of a deal to you, but when you get to 40+, it starts to matter.

One thing I had problems with was getting the values set easily. I finally figured out the applescript mumbo-jumbo. Setting the review interval was tough, as structs are treated differently in applescript for some reason. The trick is to set it to a local variable, modify it, and then set it back:

1
2
3
4
5
6
7
8
9
10
11
tell application "OmniFocus"
  tell default document
    repeat with proj in flattened projects
      set ri to review interval of proj
      if (steps of ri) > 3 then
        set steps of ri to 7
        set review interval of proj to ri
      end if
    end repeat
  end tell
end tell

This sets any project that has a review interval of 4+ weeks to be 7 weeks. Tweak the numbers however you see fit and run it once to normalize everything.