Review: OmniFocus

June 25, 2008  (Jeffrey Kabbe)

I previously reviewed Things, the first in my four-part series on GTD applications for Mac OS X. I now turn my attention to OmniFocus from The Omni Group. While it isn’t perfect, OmniFocus clearly has a solid foundation of design and testing behind it.

A Little Background

In the beginning, there was OmniOutliner, which does pretty much what you would expect from the name. Despite being born without a single GTD bone in its body, OmniOutliner became a GTD application thanks to Ethan Schoonover. Kinkless GTD is a set of Applescripts that work with OmniOutliner Pro to implement task-management based on David Allen’s GTD methodology. Ethan and the folks at The Omni Group worked together to create OmniFocus, a purpose-built GTD application. Apparently the collaboration was a success because OmniFocus turned out great and Ethan is now at The Omni Group.

Organizing Tasks

OmniFocus is all about task management, so an important question to begin with is: how are tasks organized? Tasks, called actions in OmniFocus, can be related to a project (or single actions list), a context, or one of each. A project is a group of actions that are the steps necessary to achieve some end result or goal. The actions in a single-action list, on the other hand, might be related in some way, but they are not part of some greater undertaking. The OmniFocus manual defines a context as “the place or mode you need to be in to do a given task” (and I can’t think of a better way to describe it).


There are two kinds of projects: sequential and parallel. In a sequential project, one action must be completed before the next one is begun. In a parallel project, actions can be completed in any order. It sounds like a small difference, but it affects which tasks are available. Whether an action is available is just one of the many ways that OmniFocus allows you to slice and dice your action list (more on that later). Projects can also be given start, due, completed, and review dates.

A single actions list is like a project, but is less structured. A single actions list is just a bucket in which to throw actions that match some description (much like an “area” in Things). But whether your actions are in a project or a single actions list, the same options are available. It’s a little counterintuitive, but you can assign a due date and completed date to a single action list just like a project.

Most of the project features work well. Setting start, due, and completed dates is intuitive and useful. Like Things, which I reviewed previously, the repeat scheduling is a little wonky. A project set to repeat is created again as soon as it is completed, regardless of how often it is set to repeat. Until the repeat time comes around, the project are colored orange. The color will change to red once the actions are due. Try as I might, I couldn’t get the project to disappear from the sidebar or main window.


Contexts were a little tough for me to grasp at first. I might be different than others, though, because I like my data and tools to be very well structured. In one of the early promotional videos, OmniFocus was touted as an application that is flexible – it can be as simple or complex as you need. That’s true, but I think contexts are most useful when they are given plenty of thought ahead of time.

My nightmare scenario is wanting to change the contexts I use as I go along. I might start simply, by using “home” and “work” contexts. If I later want to get more complicated, I might add an “errand” context. But what happens if I need to run an errand for work? The problem isn’t insurmountable because contexts can be hierarchical. OmniFocus also includes a few default contexts to get you thinking in the right direction.

Things, which I reviewed earlier, uses tags in much the same as OmniFocus uses contexts. I like tags because they don’t require as much planning. If I begin marking tasks with “home” and “work” tags, it is very easy to start adding “errand” tags where appropriate later. Some OmniFocus features wouldn’t work nearly as well with multiple contexts for an action, though. For example, actions can be synchronized with iCal based on which context they belong to. That kind of synchronization requires a one-to-one relationship between actions and contexts.

Actions: Not As Simple As They First Appear

When you first start entering actions, they seem pretty simple. Each action has places to enter a name and context and two greyed-out icons (the flag and note icons). Actions in the Inbox also have a place to enter a project name. New projects and contexts can be created while entering an action by pressing Command-Enter in either the project or context field after typing the desired name.

Actions become a lot more powerful through the use of notes. Notes are well-hidden, being accessed through the small note button on each action or by pressing Command-apostrophe. But OmniFocus drops a pretty major hint about the existence of notes by including a pair of introductory tasks with long notes when you run OmniFocus for the first time. Notes can hold rich text, including images, hyperlinks (which are active) and links to files.

Straddling the fence between a project and an action is a group. A project cannot have sub-projects, but groups nicely fill the void. A group appears in the action list just as an action – with a checkbox next to it. A group otherwise shares most of the features of projects, including: sequential and parallel modes; start due, and completed dates; and repeat scheduling.

Data Entry

There are several ways to get your data into OmniFocus. Of course, you can enter actions manually through the main window, but it’s not always convenient (or possible!) to switch away from what you’re doing and open OmniFocus. You can clip text from another application into the OmniFocus Inbox via the OmniFocus Clippings service. A clipping is created by highlighting text and pressing the shortcut (it defaults to Command-Shift-Option-Period) or choosing OmniFocus: Send to Inbox from the Services menu.

Actions can also be created via email. The basic idea is to send yourself specially crafted messages with the action information in the subject and body of your message. It seems like a lot of hassle to set up. But in theory it should run seamlessly without much intervention once OmniFocus and Mail are configured properly. Of course, I’ll soon be able to create actions from anywhere without email with my iPhone. So maybe I just lack sufficient motivation.

Sorting Through It All

Once your action list starts to grow, you will start to appreciate the tools OmniFocus provides to view and filter your tasks. OmniFocus has two modes – Planning and Context – that correspond to the two primary dimensions you use to classify your actions – projects and contexts. Clicking the View button on the tool bar brings up a row of sorting, grouping, and filter options.

A set of view options can be saved as a Perspective and recalled later. For example, you can achieve functionality similar to the Logbook in Things by creating a perspective for completed actions. Perspectives might seem like a minor feature, but they help push the complication of using OmniFocus into the background a little. Just set it and forget it!

The one word that seems to best describe the interface is uncluttered. The OmniFocus main window is quite clean and doesn’t overwhelm you with information. The flip side of that is that the OmniFocus main window can’t overwhelm you with information.

The Verdict

I can recommend OmniFocus without hesitation, but its not for everyone. Through the long beta process, OmniFocus seems to have added more and more features. It’s quite a sophisticated piece of software now. The result is that OmniFocus is not quite as accessible to casual users as Things. But it has plenty of features Things lacks. I’ll be checking out some other Mac GTD applications soon. But OmniFocus is the best pure GTD application I have seen so far.

Final Notes

I wanted to write a few words about Daylite because I get many visitors to this site looking for comparisons of OmniFocus and Daylite. Simply put, they are both great programs, but their strengths don’t really overlap. The power of Daylite is in the connections. Daylite isn’t a great contact manager, calendar, or task manager. Daylite is wonderful, though, in its ability to establish connections between everything that you track in Daylite. When did I last meet with a particular advisor? I can just look at the advisor’s contact in Daylite. The activity tab will tell me the date of my last appointment. The task list on Daylite is fairly basic, comprising a single customizable list view. A task can have notes, but extra clicks are required to view the note from the list view. Notes are, after all, just another kind of connection that Daylite keeps track of.

Unlike Daylite, OmniFocus only does one thing. That thing – task management – it does very well, though. OmniFocus has an extra dimension – context – from which to work. OmniFocus also has much more extensive sorting, grouping, and filtering options. When you have hundreds of tasks – some short-term, others long-term, some that are part of a discrete project, others that loosely related to a particular topic – you will enjoy having the power of software like OmniFocus to help plan your time.

There may be a place in a law firm (or other business) for both OmniFocus and Daylite because of their very different strengths. My wife uses Daylite for all of her primary business information tracking. Much of what she does, especially in areas of marketing, IT, and long-term planning, don’t really benefit from connections. That’s where OmniFocus finds a home.


  1. What would you recommend for a contact manager? Do you think that three discrete, specific software programs are the way to go (Daylite, OmniFocus, and the yet-to-be-named-CMS)?

    I’m a fan of OmniFocus, but I only use it as a task/project manager.

    Thanks – VJM

  2. Thanks for the review! If you were having trouble getting actions from the future to disappear, you may want to see what option you have selected under
    View -> Status Filter: I’m guessing you have ‘any status’ or ‘remaining’ selected. If you choose ‘Available’, you’ll probably get the behavior you’re looking for.

  3. Think the idea of Comparing Daylite to OmniFocus is misguided. Daylite is sooo much deeper and wider in capabilities it’s not even a comparison. Daylite can be used as a Calendar or a Contact manager both of which it does very well, but it truly is a management app. It’s like comparing a software calculator and a spreadsheet, or a spreadsheet to a full blown statistical program. Yes they have overlapping capabilities but they really aren’t the same.

  4. Everyone:
    Thanks for visiting!

    I look at Daylite as a pretty general program. It’s customizable – up to a point – so it works ok as a single-application solution. I prefer using discrete programs that each specialize in one thing, but they have to work well together. So far not many programs do, but programs are only just beginning to take advantage of Leopard’s unified task system, so we’ll see how it pans out. I’ll be interested to see what CMS solutions turn up. Have you heard anything?

    I didn’t elaborate in the review, but I did notice that some of the settings made the scheduled actions disappear. But changing “Remaining” to “Available” makes lots of other stuff disappear too. That’s not quite what I wanted.

    Citizen Z:
    I agree wholeheartedly, but many people have both Daylite and OmniFocus associated in their minds with GTD. So they come here (sometimes in droves) looking for information on both. I thought this would be a good place to address at least the areas where they overlap.

    Thanks for reading.

  5. Two other pure GTD apps to put on the list to review are ThinkingRock – a Java-based GTD app that can be used off a thumb drive – and Ready-Set-Do! – a unique, file-system approach to GTD on the mac I designed.

  6. Nice write-up. I do think it’s difficult to review/compare Omnifocus and Things because though they do the same thing, they go about it in completely different fashion. It’s apple and oranges, and for most people the one that’s best is the one that clicks, that feels most natural, and that’s going to depend on the person and less on features.

    I’ve used both extensively and switched from OF to Things. I switched for many reasons. I find Things better looking, more intuitive, and more logical. I like the single view of Things rather than OF’s separate views, and I like how Things deals with single tasks, but it really came down to the feel of the program. For me Things nails the perfect balance between simplicity and features. The more complicated project/task list is the more I’d lean towards OF with it’s filtering, but that’s a generality I’m sure some would disagree, and could change as Things progresses to 1.0 status.

    A couple of notes on your review:

    “Like Things, which I reviewed previously, the repeat scheduling is a little wonky. A project set to repeat is created again as soon as it is completed, regardless of how often it is set to repeat.”

    I find Things repeating feature pretty solid. Regardless, that’s not how Things works. Things allows you to have repeating actions show up when you choose. Until that time it stays in the ‘scheduled’ section and out of view.

    “A single actions list is just a bucket in which to throw actions that match some description (much like an “area” in Things).”

    You can use Areas in many ways, but I find it misleading to compare it to OF single action lists. OF uses single action lists for single actions (unless this has changed recently). In Things single actions can simple be added and appear at the top of your ‘next’ list. Areas isn’t needed to deal with them.

    One major difference between OF and Things is that Things uses the system wide todo system. So when I create a task in Things it automatically appears in iCal. If I check off a task as complete in iCal it automatically is marked as complete in Things. You can create a task in iCal and it automatically appears in Things. There’s no sync button to push (again, if OF has changed recently I apologize).

    Lastly, you’re comparing a beta application that you can presently use for free to an application that’s out of beta and selling for 79 bucks a pop. That’s a little unfair. Some of the problems you listed for Things will be fixed before the first non-beta release, and the feature set will be more complete. You did mention in your Things review that it was beta software. However, I don’t see it mentioned here, and that’s a little misleading.

    It should also be noted that the 1.0 release of Things will sell for 49 bucks, or almost half of the price of Omnifocus. That probably doesn’t faze most people, but if cost is an issue that has to be considered also.

    Thanks for the read.

  7. gary:

    Thanks for your comments. I wanted to clarify one thing that may have been unclear. In my testing, both Things and OmniFocus didn’t have repeat scheduling that worked to my satisfaction. But the features I didn’t like (or thought were missing) were different. What I wrote about here was only intended to refer to OmniFocus. I like how OmniFocus schedules the repeating tasks; I like how Things displays them. Maybe they can both learn a bit from each other!

  8. Point taken Jeff. It might be interesting to do a mini review of Things once it comes out of beta. Take care.

  9. There is a lot of software in development right now. I had intended to review Inbox and iGTD, but they’re both in alpha testing of new versions right now. So it looks like my GTD review project is on hold for a little while.

  10. Thanks for the review.I am using “Things ” and find the Tags very useful.I wish I could view two tags together.
    Chandler by OSAF is in preview version as well and uses notes as the basis of organization.
    I was wondering if you could have a look at it as well.


Leave a Reply