Like many OmniFocus users, I used to plan my days using Due dates. Planning to pick up supplies a the hardware store today? Set Due Date==Today. Need to call a friend back to catch up? Set Due Date==Today.
This behavior makes sense, on one level level: just sort everything by Due date and you can see when things are planned. But every time a date isn’t met, it has to be pushed back, creating the need for most of my date-related scripts.
Worse, indiscriminate use of Due dates dilutes their value and undermines any task-planning system.
Need to pay a credit card bill today? It’s lost in the mess of other things that are artificially “due” today, and that red Due badge is no longer a respected indication that something needs to happen today.1
But there’s a better way.2 Just use Start Dates to plan what you think you should do, and reserve Due Dates for things that actually have to get done. (To keep this straight, I use a “Due” perspective to show what’s actually due, and a “Do” perspective to show what I’m planning to do.3)
The benefits of this approach are enormous. Things that actually need to happen don’t get lost in the shuffle, and (using time estimates) you can work with more realistic expectations of what can/should happen in a a day.
But switching to this workflow also required re-tooling my scripts, many of which focused on Due dates.
So, as of today, all my OmniFocus scripts default to a Start-based workflow. Here are some of the major changes:
Today, Tomorrow, and This Weekend all set the Start date of selected tasks by default.
In addition to pushing back due dates of tasks, Defer now has the option to act on un-timed tasks by pushing their start date back by the given number of days. (This option is on by default.)
All scripts now work when launched from the OmniFocus toolbar.
Scripts no longer fail when an OmniFocus grouping header is selected.
All scripts reorganized for performance and clarity.
You can continue these scripts with a Due-based workflow, of course: this is a matter of changing a single setting in each script.4 But if you’re successful with a Due-based workflow, you have much more discipline than me.
Download the lot of them here. (And as always, let me know if you have any problems with them.)
Lest anyone complain of the cost of OmniFocus: I’m sure I’ve paid more money to my credit card company in day-of-due-date payment penalties than I have to the OmniGroup. ↩
Thanks to David Sparks and Benjamin Brooks for the insights that led to this realization. I mentioned this in a little more detail here. ↩
Here are the settings for my Do perspective:
… and here are the settings for my “Due” perspective:
Both live in my toolbar for easy access.↩
For example, in the Defer script, there is a line: “property snoozeUnscheduledItems : true. Simply open the script in AppleScript Editor and change “true” to “false” to switch this setting. If you have any problems, feel free to email me. ↩