The Man With No Name

iGTD versus OmniFocus

I’m in the pleasant position of being able to review both iGTD and OmniFocus for myself these days. I enjoy both. I will eventually have to pick one.

What I like about OmniFocus:

It’s clean! Ahhh it’s clean. Omnigroup’s UI elements are so nice. I love how you can highlight multiple rows and it just tells you how many rows you have highlighted. It makes me feel all relaxed in my brain.

Focus. When you create a task, you can assign it to a Project (a collection of tasks having to do with an objective), or a Context (a “where/when” of you being enabled to complete the task). What’s always bugged me about context view is that when you click on “laptop” or whatever context you have, you see every single task that can be done on the laptop, no matter what project it’s associated with. In OmniFocus, you can “Focus” on a particular project, and then when you go over to context view, clicking on a context will show you only which tasks have to do with that project you Focused on. I love that. It makes things cleaner.

Grouping. If you make subcontexts, clicking on their supercontext will show you the union of all the tasks in its subcontexts.

What I like about iGTD:

I love its quick entry from quicksilver. I use that a lot.

Tagging! One thing I’ve always disliked about contexts is that I do feel an urge to put tasks in multiple contexts. It’s really that I want to abuse contexts – I also want to view tasks by what mood I’m in, things like that. Tags to the rescue – a task can be in many tags, and a tag can apply to many tasks. Hooray!

Smart Folders! In the “To Complete” view, you can show tasks by when they’re due, what tags they have, etc. It’s lovely.

So far, I think OmniFocus has a couple of killer features… but I also think OmniFocus is less likely to implement more of the features that I want. So I am going to hope that iGTD gets some kind of “Focus” functionality, and then I’ll probably stick with that. However, given that I’m an OmniPlan user… Omni’s application integration might change my mind.

There are some other features that I’d like to see in either one. Namely, support for complicated task dependencies. I wrote a long article over on iGTD’s discussion board about how to do it. Basically, it’s my belief that any scenario of complicated task dependencies can be accomplished by selecting a task or group of tasks, assigning it to a child task, and then specifying whether the first task(s) is/are “sufficient” or “necessary” to enable the child task.