Skip to content

A Two-Context Approach to GTD with OmniFocus

With versions available for both iOS and OS X, OmniFocus is the most powerful task management system intended for individuals on the Apple platform. OmniFocus is highly configurable, allowing the user to tailor it to their own particular approach to GTD (Getting Things Done). Until recently, I’ve struggled with identifying an ideal approach to using OmniFocus for task management. The solution I settled on is described in this post.

The core GTD principles

The first principle of GTD is capture—i.e. getting things out of your head and into a place you can rely on to keep them safe while they wait for later processing. This principle applies equally to everyone. A second principle of GTD is the separation of tasks by context, and it is here where much of the discussion regarding various approaches to GTD is (rightfully) focused. Some people contextualize their tasks around physical energy levels (high, low), some around where tasks can be done (home, office, computer, on the phone) and some around task nature (work, personal, errands). I’ve experimented with all of these, and ultimately they all fell short.

My task management objectives

The problem starts with capture. Since the objective of capture is keeping your head clear, the process results in my inbox containing two types of tasks—those I will do, and those I might do. Of course there are other dimensions in which you could classify those tasks, but over time, I’ve discovered that the effective separation of these two has the most impact, for me, in making GTD actually work. The challenge then has been identifying a GTD approach that:

  1. Shows me what I will do, without cluttering that view with things I might do.
  2. Allows me at any time to see the things I might want to do, and within the context of a particular project.
  3. Ensures that I’m periodically reminded of the things I might want to do.

To achieve those objectives, here are the tools provided by OmniFocus which affect the visibility of tasks.

  1. Perspectives, OmniFocus’s configurable task views, determine task visibility primarily through the “Availability” settings—“Available” or “Remaining”. (Perspectives can also filter on due dates; but due dates aren’t really relevant to whether a task will or might get done, as usually a task with a due date is something that will get done.)
  2. A Project’s status can be set to “Active”, in which case its tasks will be visible in both “Available” and “Remaining” perspective filters, or “On Hold”, in which case its tasks will only be visible when filtered on “Remaining”.
  3. A Context’s status can also be set to “Active” or “On Hold”, with the same affect on visibility in perspective filters.
  4. A “Defer” date can be assigned to a task. If that date is in the future, then the task will only appear in the “Remaining” perspective filter, and not when filtered on “Available”.

Failed approaches

In the past, I tried to contextualize my tasks into “Work” and “Personal”, and then separate what I will and might do through the activity setting available to projects, e.g. using an on-hold project called, “Someday/Maybe”.

The problem with that approach was that that single project contained tasks relevant to a variety of other “real” projects, which made it difficult to achieve my second objective—allowing me to see what I might want to do—within the context of a particular project.

So I tried to address that problem by creating on-hold “Someday/Maybe” child projects within each of my real active projects. But as you can imagine, that became unwieldy and maintenance-heavy once the number of real projects grew to any sizable amount.

I also tried creating an on-hold context called “Someday/Maybe” as a child context within each of my “Personal” and “Work” contexts, but eventually came to realize even that resulted in too much confusion and complexity in both initial context assignment, and when needing to change a given task—or group of tasks—from things I might do to things I will do.

I tried several other approaches as well and the result was always the same—either through over-complexity or incompatibility with my three objectives, OmniFocus wasn’t effectively helping me to get things done.

My solution

Realizing that in practice I didn’t actually view my tasks by “Work” and “Personal” contexts very often, even though I had organized them that way, I decided to try a simpler approach, consisting of only two contexts, the purpose of which is to answer the question, “Is this something I will do, or something I might do?”:

  1. “Active” (with status, Active)
  2. “Maybe” (with status, On Hold)

Now, when processing, organizing and managing tasks, I ask myself only two questions:

  1. What project should this belong to? (Project assignment)
  2. Is this something I will do, or might do? (Context assignment)

Here’s how that simplification fits into the core of my GTD approach.

Weekly review process

  1. Each Sunday, I use OmniFocus’s “Review” feature to review each of my projects. When reviewing a project, OmniFocus shows you all of its tasks, regardless of availability. This satisfies my third objective, i.e. making sure I’m periodically reminded of the tasks I might do.
  2. I may change the context of some tasks from “Maybe” to “Active”, if I’ve decided they will get done.
  3. I “flag” any “Active” task I want to work on during the following week.
  4. I’ll assign a future “Defer” date to any task that is “Active”, but which I know I won’t get to in the near future. For example, the task “Follow up with Steve”, if I know Steve is on vacation for the next two weeks. (This supports my first objective, seeing only those tasks which are currently relevant.)

Custom perspectives

I have three core custom perspectives in OmniFocus which I access on a daily basis:

  1. “Active”—shows flagged and due tasks. This is what I look at to determine what to work on, today. This supports my first objective, i.e. quickly seeing just those things I’ve decided I will work on.
  2. “Worklist”—shows all “available” tasks, grouped by project. This is my global list of stuff I’ve decided I will do, without the noise of what I might do, and therefore also supports my first objective.
  3. “Maybe”—that shows all “remaining” tasks, grouped by project. This supports my second objective, i.e. at any time being able to see the tasks I might want to do, in the context of their relevant projects.

This approach to GTD and OmniFocus has resulted, for me, in a task management approach that is powerful enough to meet my objectives while remaining simple and efficient enough that I actually follow it consistently—and results in the feeling that OmniFocus helps me to be more productive.

Annex: Perspectives

Someone in the comments asked to see details of how the custom Perspectives are defined. Here they are for OmniFocus 3:

Perspective: Inbox
Perspective: Worklist
Perspective: Active
Perspective: Everything

Published inProductivity


  1. tvchris tvchris

    Just wanted to say great article and approach… Gonna give this a shot.

  2. CJ CJ

    I have a question about your contexts. If your “Active” context tasks always have a status of “Active,” and your “Maybe” tasks always have a status of “On Hold,” then why use contexts at all when the contexts are redundant of the status attribute? I like your approach, but it seems to me that you could use the Status attribute in lieu of the Context attribute, not in addition to it.

    • Matt Henderson Matt Henderson

      Hi CJ, when you say that the contexts are redundant of the “status attribute”—the status attribute of what? The status attributes available on the task level are “Active” and “Completed”. The notion of “on hold” is only relevant to projects and contexts. Make sense?

      • CJ CJ

        Ah, my mistake.

  3. CJ CJ

    I’ve implemented your solution, and I like it. The only thing I would add is a WaitingFor context for tasks that are out of my hands, since they fall outside of the “I will do” or “I might do” paradigm. I have a WaitingFor perspective for that context only, which I review during my weekly review. I set a defer date to reflect when I consider the item receivable, and if it’s time-critical, I also set a due date so it pops up on my Active list (and forecast).

    • Matt Henderson Matt Henderson

      Hi CJ, I also used to use a WaitingFor context, but then decided to drop it in favor of exclusive use of OmniFocus’s Defer feature. WaitingFor activities are (in my experience) nearly always associated with things I need to do, and setting the defer date to the future serves the purpose of getting them out of sight until they’re receivable. What I miss by not having a WaitingFor context is an easy way to look at everything I’m waiting for together, but that for me was an acceptable trade-off of eliminating an extra context to manage.

  4. Gadzhi Kharkharov Gadzhi Kharkharov

    Hi Matt, do you use context hierarchy in sidebar of both “Worklist” and “Maybe” perspectives?

  5. Rob van der Laak Rob van der Laak

    Hi Matt,

    Love this approach. After many of my own, I was happiest with the Eisenhower matrix (contexts: ‘manage’, ‘focus’, ‘delegate’ and ‘Later’). But that got me confused in the end because of the overlap with the other parameters available to pinpoint a task – due and defer-dates, flags, projects and such.

    So away with confusion!
    Just one drawback: no more searching for the perfect system.

    Thanks and regards,

    Rob van der Laak

    • Matt Henderson Matt Henderson

      You’re welcome Rob! Thanks for dropping by!

  6. Kourosh Kourosh

    Great simplicity. Nice!

  7. Vicentius Vicentius

    Matt, great article!

    One small request – could you share the details of your perspectives for those of us less familiar with this feature?


    • Matt Henderson Matt Henderson

      Hi Vic, I’ve updated the article above with screenshots of how my Perspectives are defined.

      • Vicentius Vicentius

        Fantastic! Thanks a lot!

  8. Richard Low Richard Low

    Do you have any folder hierarchy for your projects or just a big list with these two contexts?

    • Matt Henderson Matt Henderson

      Yes, I have a folder hierarchy. It begins with concern — e.g. Personal, RaceSplitter, Rego, etc. Then each of those includes two folders — Areas and Projects. Areas include things like “Marketing”, “Business Development”, etc. And then Projects contains the active projects, e.g. “RaceSplitter 2”.

      Hope this helps.

      • Jan Jan

        Great article and workflow, I really like your simplistic approach and I’ll try building my system on your foundation. You already mentioned a rough outline of your project/folder structure but it would be great to get even more input on that subject. With the split into Areas and Projects, do you also have projects in “Areas” or just single action lists? The term project confuses me here a bit. Jan H.

        • Matt Henderson Matt Henderson

          I have projects in Areas. For example, we might have a long-term engagement with a customer “ACME Apps”, and I’ll have a project in Areas for that, that include things like a recurring task to just call them and catch up on things. Then, I might have a specific Project related to them stored in Projects area—for example, “2017 Website Update for ACME”.

          Hope that helps.

  9. John Burrows John Burrows

    Do you still use TaskPaper to chunk your time?

    • Matt Henderson Matt Henderson

      Hi John, no I’ve consolidated almost all my writing from apps like TaskPaper, iA Writer and Ulysses to one single app — Notational Velocity.

  10. Samantha Jane West Samantha Jane West

    This is awesome. Thank you for sharing!

  11. Chad Garrett Chad Garrett

    Nice idea. I have used the personal and work contexts for a while. I like this idea a lot.

    The only challenge I have is that I LOVE using contexts to assign with people. I still might do that part. Thanks for this simple refresh!

  12. Chad Garrett Chad Garrett

    Nice idea. I have used the personal and work contexts for a while. I like this idea a lot.

    The only challenge I have is that I LOVE using contexts to assign with people. I still might do that part. Thanks for this simple refresh!

  13. Kalle Kalle

    Hmm.. I don’t like the idea of having “maybe’s” in my Omnifocus at all. Let’s say I may want to clean the coffee machine on Saturday, but not sure I’ll get to it.
    Then I would rather create a task called “decide whether or not to clean the coffee machine”, and defer that to Friday evening, as by then I will have a pretty good idea about how my Saturday looks.
    To me, THIS is GTD. Even if I do not end up cleaning the machine, I will definitely make the decision.

    So the two-context method is not for me 😉

  14. Billy McTwist Billy McTwist

    Regarding the Maybe perspective, is there a way to automatically have it view ONLY the items one might do? Unless I click on the Maybe context, it shows all the “might do” tasks along with the “active” ones. Not a big deal, but for the sake of neatness, it would be good to show only the things I might do.

    EDIT: Interestingly, the iPhone app has a “select contexts” option so I can choose the “Maybe” context only. The desktop app doesn’t seem to have this function.

    • Matt Henderson Matt Henderson

      Hi Billy, I don’t think there’s a way to create a Perspective that filters on a particular context, unfortunately.

  15. Sébastien LOUIS Sébastien LOUIS

    Hey Matt,
    I am starting with omnifocus 2 (which is my candidate to replace Things for several reasons). And, I really liked your article but I can’t resist to ask you what is your strategy two years after your article (2014). Sébastien L.

    • Matt Henderson Matt Henderson

      HI Sébastien, I’m happy to report that two years later, my OmniFocus strategy remains exactly the same! This approach has really proven to work for me, consistently.

  16. Tanya Lewitton Tanya Lewitton

    Hi Matt, great article and approach, thank you for the insight. I am a fairly new Omnifocus user, with limited experience before the upgrade in Mar18. I am interested to know if this upgrade affected your working at all?

    • Matt Henderson Matt Henderson

      Hi Tanya, as far as I can tell, the new version re-labels Contexts to Tags, and so at first glance (and first few days with OmniFocus 3) it hasn’t seemed to have any impact on my approach.

      • Tim Federwitz Tim Federwitz

        I have implemented your approach, to a large degree, and it really helped clean up OmniFocus for me. To the point of context being relabeled to tags, now that you can add as many tags as you want, are you utilizing more tags for tasks than just those two?

        For instance, you mentioned in the comments that you didn’t have a way to group and see all the tasks that you are waiting on someone else for, but with the ability to assign multiple tags I would think this would enable that quite easily without really muddying the system much. I am about to take on a management position and believe I will need a solution for this.

        BTW, I wanted to thank you for sharing this methodology, as it truly has been a game changer for me. Re-reading it from time-to-time is also helpful to me to keep it simplified.

        • Matt Henderson Matt Henderson

          Hi Tim, thanks for the feedback. I actually didn’t take advantage of tag introduction to modify my approach/workflow, just because I haven’t felt the need strongly enough. I’m really happy to hear that documenting the approach has proven helpful to you!

  17. Tony Stinson Tony Stinson

    Matt, OmniFocus 3 has changed the options for customizing perspectives, so the customn perspectives you shared in the Annex to the article can’t be created exactly the same way in OF 3. Can you share your custom perspectives based on OF 3?

    • Matt Henderson Matt Henderson

      Sure thing, Tony. I’ve updated the appendix with screenshots from OmniFocus 3. Let me know if you need anything else.

  18. Tony Stinson Tony Stinson

    Matt, thank you so much for updating the appendix with screenshots from OF 3! One question re: the Active perspective. In your article, you state that this perspective “shows flagged and due tasks.” Yet, your screeen shot for Active perspective in OF 3 doesn’t include due dates or flagged. It is probalby just my lack of understanding. Can you provide an short explanation?

    • Matt Henderson Matt Henderson

      Hi Tony, I think it’s the “Has a tag which is active or on hold” filter, combined with “Availability status = Available”. Does that make sense?

  19. Phil Phil

    Mark. Thanks so much for sharing this. Omnifocus simplified!!!

What do you think?

This site uses Akismet to reduce spam. Learn how your comment data is processed.