Multiple Contexts per Task [now in TestFlight]


I think the concept of tagging / allowing multiple contexts is already acknowledged by the Omnifocus team - however they are only supported hierarchically.

In David Allen’s four-criteria model for choosing actions in the moment, he outlines the following (from his book Getting Things Done : The Art of Stress Free Productivity, Chapter 2):

  1. Context
  2. Time Available
  3. Energy Available
  4. Priority

Context is only a single item in the list. Time available could be covered by Estimated Duration and/or Due, Energy Available is simply not available as a choice. In a podcast I heard mention of a ‘Context’ called ‘Low Energy’ or ‘Brain Dead’ that serve to cover these kids of tasks but that is mixing the metaphor of Energy with ‘Context’. And the Priority right now is very poorly represented in OF. It is either flagged or not, due or not. I don’t particularly like to have complex priority systems. But even MS Outlook has the possibility of Low, Normal and High priority. Again you can blend your Due Date into the Priority metaphor but you are mixing a martini here … mmm martini … the closest I have is to flag something.

Does the four-criteria model work in a hierarchical context model with some additional fields. No it does not - I have to work around the limitations of the tool to make it work.

This is why other tools that provide so-called ‘Tagging’ which is really a filing/metadata/search concept actually are functionally richer because they allow you to apply all of these criteria - either singly or in multiples to slice and dice your data.

The workaround, it seems, is a complex use of pretending that you have ‘tags’ in action notes by somehow typing them separately from other notes and then using a Pro feature of having multiple perspectives to try and make sense of what that all means.

The reason I bring this up is I have done a lot of training on OF - webinars, ebooks, elearning, and so on, and yet when it comes to the cut (currently I am working through TRO again as I am forced to use outlook in my work environment) I have a simpler and easier system to use in outlook of all places simply because I can assign multiple categories (contexts) per task. OF cannot be my main task manager because it is severely hampered by the lack of this feature.

Maybe for running my home and personal life it works fine (it does!). Maybe if I was running a small or medium size business it would work too … (it also does to a limited extent). But at the executive level of a very large organization where time is extremely limited, and given a constant and very intense email, IM, text and phone barrage every day and OF’s lack of multiple context and the ability to cut between them shows immediate problems.

I’ve been an avid follower of OF since the Omni Outliner and Kinkless GTD days. I am eager for it to work but each attempt has simply bumped into workaround after workaround.

Right now TRO at least shows a way past this. Unfortunately OF is not a tool that even works with this approach.

I would urge the consideration of at least the four-criteria model for inclusion in the product. Perspectives can then take care of the rest.


I tend to think in a different view.

  1. Context - Taken care of by OmniFocus context

  2. Time Available - using the Estimated duration and perspectives to show you what you can do within a certain time block.

  3. Energy Available - this one is hard to gauge. I haven’t quite figured how to use this in OmniFocus without resorting to the Contexts label.

  4. Priority - I use flags and due dates.

Due dates - I have my OmniFocus preference settings to indicate “Due Soon” as 1 week. When I see a task that has a yellow status circle, the priority shoots up from regular mode (low priority) to a higher mode (medium priority). I know I should be working on this yellow task within the next 7 days. If the status circle changes to red, it is overdue and I should really do this task first before anything else. The red status circle is “high” priority.

I also use flags to elevate a task from low priority (no flag, no due date) to medium priority. The orange status circle tells me that I have targeted this task as something to work on in the next few days (hopefully today). It doesn’t have a due date so i won’t be working on a flagged task until I finish all of my overdue and due soon tasks.

So we can have three perspectives:

Due perspective (high priority) - This custom perspective shows all available tasks sorted by due date. All red status tasks (overdue) will be at the top. All yellow status tasks (due soon) will be shown in the next group.

Flagged (medium priority) - I use the default flagged perspective but have it sorted by due dates. Work on these tasks only when I am comfortable with having completed as many items in due perspective first.

Available (low priority) - This custom perspective shows all available tasks sorted by due date. The red status tasks come first followed by yellow tasks, and then the low priority tasks are shown in light gray.

I like to use the different data fields and different perspectives to show me all of my high priority tasks, medium priority tasks, and low priority tasks.


Agreed but Energy is still missing and it is part of the Four Category model. It sounds pedantic and to some extent it is. Similar to Extreme programming the idea is not to cut every idea or practice. It is to use the minimal set of what works. So at least here is one item of that de minimis set (stated by GTD) that is missing from the product.

Having to mess around with Dates to indicate priority really is not GTD - it is a hack. Is it due today, tomorrow, next week or in a tickler file. Sure I can type all of these in but I then end up with a Due Date that says ‘Bad Things will happen if I don’t complete on this date’ whereas I may only be saying ‘I can’t get to this today’ or ‘I’ll review in my weekly review’.

Due dates should be stakes in the ground as they relate to your calendar. They should be done on that day or not done at all.

Priority has nothing to do with your calendar being subjective in the moment from one day to the next.

I have tried my best with this program but ultimately it will not work, oddly enough, with GTD.

I love some of the features - particularly perspectives - but OF is slowing me down tremendously. Onwards and upwards to something a bit more GTD like.


I’ve suggested both multiple contexts, but the more I think about it, a better way is tags and tag groups.

In this view, then context becomes just a specific tag group.

My simple minded analysis of the problem:

I think context originally was designed to separate areas of your work by location. You aren’t nagged to pick up milk while you are at work.

I’m a tree farmer. I have an office context and a field context that get used for most things, and a Trips context when I’m in town, with a bunch of little contexts for individual stores.

But I also run into issues where I can’t do something because a particular person isn’t here, or I can’t do something when the weather is behaving in a certain way. As I type this, I can’t transplant because it’s still dark. (6 a.m.)

Also: I know that I have way more to do than I can get done before snow flies.

Since Home versus field context is obvious, I’m no longer using it. Instead of dates now, I’m assigning priorities, where priority 1 is as soon as possible, and priority 5 is Maybe never.

I’m awful at estimating time. Sherwood’s Rule: Make the best estimate you can, then double it and use the next larger unit. If you think it will take 3 hours, it takes 6 days.

Anyway I see a tag group as being a facet for filtering. So you could define L- to be location. L-Hardware is the hardware store. L-Safeway is the grocery store. If you need lightbulbs, you can give the “Pick up Lightbulbs” both the hardware store and the safeway as L tags.

A tag group could be defined to be single or multiple, If single, then setting one, clears the previous one from that group. So, for example, if OF had the ability to have coloured flags, then setting a red flag would clear an amber flag. In my case I’d like a season tag group. Certain actions happen just after snow melt. Others just after snow sticks. Others when we’ve had a killing frost.

The hard part is the user interface for this.

I can see using multiple flag colours just to allow people another way to do things. And someway to search for all flags, or just ones of particular colours.

I’m not sure what the best way to handle generic tags however.

My errands


How long do we have to wait to finally get Multiple contexts or Tags?
We have seen so many user requests! And in 2014 Omni Group informed us that they plan to implement (though no ETA). Now more than 2 years later, I really hope to hear more.

Many many customers have now requested it, but it does not seem to lead to any motivation for the team to listen/implement. Much time is however invested in much more obscure projects like taskpaper compatibility. Nice to have, but only requested by a small niche group of customers.

Please Omni team communicate more clearly on your real intentions, otherwise more and more users will leave to the competition like 2DO.


It’s not scheduled for 2016, but I hope that doesn’t come as a surprise! Each year, I post the upcoming year’s roadmap on our blog as well as on these forums. We had a very full roadmap this year which included a new file format that lays the groundwork for letting us implement this feature without breaking synchronization.

But the file format isn’t the only thing that needs to change, there are lots of assumptions throughout our interface and underlying code about one context per task and we have a lot of problems to solve as we change those assumptions. (As a simple example, what happens when you assign a context that’s on hold to a task, along with assigning a context that’s available: is that task available or not? And if multiple contexts are assigned to a task, what order should they appear in in the context field? How do you indicate whether you’re adding a context or replacing the current context? And so on.)

This feature is important to us, which is why we’ve been making steady progress towards it. But so are many other features, like global search for Mac (currently in public test) and the many other features listed (and implemented) in this year’s roadmap (style settings, dark mode, improved sync conflict resolution, encrypted sync database, iOS automation with TaskPaper templates, and supporting new operating system features like iOS 10’s interactive widgets and macOS Sierra’s tabs).


Ken, we have been asking for this feature literally for years. Appreciate the information you are conveying, but can you do better than it’s just not happening in 2016? How about committing to (1H?) 2017 at least?


I think that most software companies would rather not commit despite public urging. Ken has already distinctly said what will happen in 2016 in the blog posts and in the above reply. Doing multiple contexts has huge ramifications in user interface and workflow matters. This is a huge undertaking. Reading his reply indicates that he is not going to commit to 1H 2017. When the multiple context/tags feature is sufficiently developed enough, we will see it in the OmniFocus public tests that you can sign up for. The last thing we want is a half baked feature and we don’t know which way it is going. Patience is the keyword here. It will come soon enough.


Ken, could you detail (ideally in a separate post) what features are currently considered for OF in 2017–both those dependent of new file format and those not depending on it?


If history is any indication, within a month or so, we’ll all see the 2016 in review and 2017 roadmap blog posts. :)



Wow. Wading through this thread it appears to be a whole lot of navel gazing and not many solutions for real users.

Simple question with specific application: We are a small law firm. We need to slice and dice tasks and events in multiple ways. For example: Bob has a trial coming up. That simple event triggers a few things. We would like it to appear in Bob’s todo list, as well as in a firm wide “Court Date” perspective, in case something happens to Bob and someone needs to cover for him. Missed court dates can be disastrous, so we always need multiple eyeballs on those kinds of things.

Any SIMPLE suggestions for how to do this? Preferably without the use of the word “extensible” or in the response? ;0


Perhaps one of these two approaches would work …

  • Set the Court Date Perspective to search for all tasks with the phrase “Court Date”. Pre- or Post-pend this phrase to the tasks that are to appear in the Court Date perspective.

  • Use a context called “Court Attorney”. All tasks that can be handled by anyone get assigned that context. Include this context in the Court Date perspective. Bob puts all of his projects in his own folder. He views his portfolio of tasks from his folder. As needed/desired, when all is clear that Bob has the task at hand, toggle the Court Attorney context over to Bob as a context.

Otherwise, I’m just curious. Court dates are calendar events. Are you saying that you want OF to replace a group calendar? If so, it seems a bit off-kilter to me.



A court date is also a due date for a bunch of tasks, so it’s not so surprising to see it in OF.

One could envisage other ways of working that could relegate a court data to a simple calendar event, but I suspect that would mean radical changes to ways of working in many legal practices.


Makes sense. Thanks.



OmniFocus just isn’t groupware.

For this problem you probably need a law practice management package or the like, such as Daylite or RocketMatter.


Thank you very much! I sincerely appreciate the suggestion and will try it out.

The challenge is that we have disparate ages and computer skill levels. 35 yo and computer literate, up to 70 (extremely intelligent, and working at an energy level of a 40 yo, yet who is very impatient with all things computer. His participation is mission critical and he grasps the value of using an app like OF to keep track of things. So I’m trying to make our group task list as use friendly as possible. Because the tolerance for new app learning is 0. I have him liking the app. I don’t want to lose that by switching and loading an all new learning curve.

I’m trying to find the least invasive way to get everyone what they need. And until OF has tagging or multi context I’m trying to find workarounds inside the app.


Thanks. We have RM for calendar management and billing. It has limitations. It’s lousy task tracker or to-do list. It’s good for putting events on calendar, but it doesn’t provide the sort of 30, 60, 90 day snapshots that OF can provide. We have used Daylite in the past. Too much brain damage for the luddites. They won’t use it. Don’t even try. I spent a year trying to herd those cats and it’s time wsted that I’ll never get back.

And, frankly, contrary to what people here seem to say, for us, OF works fine as groupware in our context. Everyone has the same data on every case, it syncs in real time, it sends events to Google calendar which syncs to individual calendars, and it alows each person, by using contexts (e.g. “David’s To Do”) to have their own todo lists. What it doesn’t provide is a way to tag or have a second context. Thus, this topic and thread.


This is not just an OG thing, but software organisations spend so much time chasing the next shiny.

Classic example is the touch bar support.

We have thousands of Mac users in my organisation, very few of them use the laptop keyboard. They use an external monitor and an external keyboard. Yet OG is right in there with touch bar support. This is actually important to a tiny group of users.


This feature is in our roadmap for 2017 (which I posted earlier today). Here’s the relevant quote:


Awesome, thanks! Any ETA for it?