Multiple Contexts per Task [now in TestFlight]


Omni stated that the intention of version 2.0 was to revise the user interface and workflow. This becomes the foundation for future features. Tags and/or multiple contexts is one of the feature requests that has been discussed frequently in the forums and will possibly get integrated in a post-version 2.0 update. It’s not a simple matter of “hey, let’s just put tags/multiple contexts in and see how it plays out.” Introducing new features takes time to implement and could become a P.R. disaster if just tossed it without considering the consequences.

Take a look at Mac OS X. It’s taken us years for Apple to get from OS X v10.0 to OS X v10.9. I still ran OS9 until OS X Jaguar was released.


To expand on what @mr_rique mentioned, you can add an extra word with or without a hashtag, which could then be searchable from project view alongside those with the official context. For example, if you have an context for “Email” and then added #email to tasks with other contexts, you could do a search for “email” and both the tasks from the Email context and those with #email would show up. You would have either do a search or create a custom context in order for all of them to show up.

But if you absolutely must have multiple contexts, there’s always Simplenote.


Continuing the discussion from How can I add more than one @context:

I’d like to reiterate what I wrote in the other thread.


Maybe I’m not aware of exactly how it would work, so please forgive my ignorance, but it seems to me that if you don’t want to use multiple contexts, you wouldn’t have to. In which case, how would it affect the complexity or friction of your workflow? Why not allow it for others who feel strongly that they need it?


Continuing the discussion from Multiple Contexts per Task:

Sure I’ll explain.

Historical element:
OmniFocus is based off of the Kinkless mod for OmniOutliner and was originally intended to be used in accordance to the GTD (Getting Things Done workflow).

As the GTD workflow was initially for a physical, paper-based workflow, with contexts and projects being stacked trays in physical forms, it means that you can only have one context (can’t really duplicate your paper documents, or if you do (through photocopying, printing another copy, …) it would be hard to keep track of 1) The document 2) Updates to the document (highlighting one portion of the document would entail highlighting the other, wherever it is in the context/project).


To avoid being hypocritical, as I said in another post, OmniFocus (2) is not intended to be just for people who subscribe to the GTD theory, and it should not. It should be extensible. The proof primarily stems from (as I said in the post) about how there are just two mentions of GTD on the OmniFocus page on OmniGroup’s website.

Hence two other arguments following this one as to why multiple contexts per task should not be added to OmniFocus 2.

Practical element:

How would this work in terms of UX?

Workflow element:

Adding multiple contexts would add unnecessary complexity to the system. it would mean that it would appear in multiple places, which, returning back to the paper-based analogy of GTD, would be odd. How would you keep track of a task that straddles multiple contexts?

In terms of user preference – unlike issues like data density (which does warrant user-set options), multiple context radically changes how the application works, and changes the paradigm by which the application operates.


What other major productivity app supports multiple contexts?

Perhaps there is a reason as to why this feature is omitted, for the right reason.

Contexts is a very different concept to tag. To give an example – Evernote has both notebooks and tags. The purpose of tags is identification, whereas notebooks is for sorting. Adding multiple contexts per tags would transfer the function of the tag from being a repository (the notebook, in this comparison) to a tag. Notes in Evernote don’t straddle across multiple notebooks for a particular reason.


I’d have to think that the people who want multiple contexts really want tags. Do people really have a need to assign, say, a place context (work), a tool context (phone) and a person context (Joe) to perform a particular action? Requiring more than one fixed context that does not leave other contexts flexible seems more of a hindrance than a help. Tags, on the other hand, can help to temporarily sort and surface actions and should include keyword-types that go beyond contexts (e.g., #quickies, #reference).


Continuing the discussion from Multiple Contexts per Task:

I’m afraid I’m unconvinced as to the merits of tagging actions/tasks/projects in OmniFocus. In other productivity applications (particularly those serving as a note-taking or storage function, or a knowledge database) like DEVONthink and Evernote, tagging does make sense, as it’s for reference purposes.

The sorting and identification in OmniFocus is twofold – firstly through the Projects structure, and secondly through the Contexts structure, with each serving its own purpose.


Interesting conversation and points of view. Clearly this is something that has been debated a great deal already. Maybe tags is the answer. Not entirely sure. For the sake of example, here is a use case: I have contexts for type of work. An example of which is “Documentation”. To this context I have assigned different related items. I also have a “Waiting For” context under which I have different people. I find that I would like to have an item exist under documentation but also in the waiting for context when I am expecting a particular piece from someone. This way when I am looking at documentation that I have to submit I can see that this item exists but also if I am in a meeting with a person I can see that they owe me this specific piece. I might also want it to exist in a “Follow Up” context for mornings when I feel particularly proactive. Not sure if this warrants multiple contexts I feel like it does and I don’t really foresee any added complexity but then I am no expert nor am I a developer. There may be a much better way to handle such a thing. If so i would love to hear about it.


I use to work for several proposes, for example: I am make a document for some university and some person I need to refer it to the university, or tne person or my company. so this item need to have @university + @mike + @mycompany


OmniFocus has never supported multiple contexts on an action, and it’s not on the way for 2.0 as far as I’ve seen.

You could use nested contexts, but you should also consider if there are better ways to find what you’re looking to do. Contexts are not tags.


Continuing the discussion from How can I add more than one @context:

I personally think it’s a great feature of OmniFocus to not have multiple contexts.

Reduces complexity, reduces friction for working.


imagine doing this for all Your 100something tasks, creating gazillions of tags- like not taking care of due tasks, contexts would probably lose their effectiveness allover. For this reason (and in accordance with David Allens “GTD”) Omni decided to have only one context: a location, a tool, something this particular thing can’t be done without.

Enter contexts ;-)


All - this thread could quickly devolve into YAMCD (Yet Another Multiple Context Debate). ;)

I think it is more useful to explain how the use case can be managed with OF2 than debate the pluses and minuses of multiple contexts. I personally prefer multiple contexts, however I use them as tags. And OF2 already supports this through perspectives or even the Search filter control in the toolbar.

@valeco, I suggest you check out this topic - Multiple Contexts per Task [now in TestFlight]

In there, I point out - “(I realize this is not a database object “tag” or an application to the current DB object “context” which extends it’s usage beyond just one context) - you can always add your own tags in the title or the
descriptions and include a search for that text string in a custom perspective.”

And @foleymeister more helpfully builds on that - “To expand on what @mr_rique mentioned, you can add an extra word with or without a hashtag, which could then be searchable from project view alongside those with the official context. For example, if you have an context for “Email” and then added #email to tasks with other contexts, you could do a search for “email” and both the tasks from the Email context and those with #email would show up. You would have either do a search or create a custom context in order for all of them to show up.”

Hope that helps you!


If I were to do the add extra word thing and create perspectives based on keyword search…would the perspectives work in IOS? I am increasingly sure that I need some means by which to accomplish multiple context or tags or whatever you want to call it. I also don’t understand why folks seem to think that the world will just descend into anarchy as a result. I find that at the very least I want to assign a few of things (contexts) to a task:

  • the type of work (example. documentation, administration, etc.)
  • peoples names (if I have need something from them or have delegated something to them)
  • status (waiting for, follow up, etc)

Most often I find myself wanting to assign something from each of these. Personally, I think the ability to do so would be invaluable. I mean why wouldn’t I want to be able to ask “What documentation do I have to deal with?” or if I’m going into a meeting with my team be able to pull up and print a context with all of the items I am waiting for or have delegated to them etc. and not miss items in either. I don’t like the either/or thing. I mean am I not just talking about more powerful perspectives? I may have to do the keyword thing, not ideal but if its functional so be it. But if perspectives using these keywords won’t work across IOS devices then I dunno if thats going to work.


While still keeping the simplicity of the single context but recognising that some extra functionality is needed, it would be good to have a seperate location field.

This could be used with the location reminders in iOS and enable the context field to be used for something userful outside of locations.


@msalam, I don’t know how it would work in OF2 on the iPhone or OF1 on the iPad. Although I own both, I am doing all of my testing on the Mac. I will give it a try when I get a chance.

And I agree with what you said. I simply don’t understand why (as you put it) some are concerned that “anarchy” is a short step away from multiple contexts (I am being facetious of course!).

But (playing devil’s advocate to myself) - given I work with databases, I totally understand the complexity of relational databases and many-many relationships. So I don’t much mind supporting this particular use case with keywords instead of another column in the db. As long as it works - and through the support of the search feature in perspectives, AFAIC, it does work just fine.

Someday (I think) Omni will support added metadata in the records and the world will change. :)



By the way, the term “Next Action” has been removed from OF2, so it seems we are leaving the pure path anyway. :^}

… so lets have our meta-data tag field to use as we like.

select * from omniDB where tag like '‘We Want Freaking Tags%’

Next Action vs First Available

I’ve been very excited about OF2. Having started managing tasks in Things, graduating to the more robust capability of 2Do, OF2’s clean UI, greater tools for control and forecasting all had me ready to ante up my money. The lack of tags, however, is an absolute deal-breaker for me. I’m so bummed! However you should do it theoretically, I often want to have a task tagged with a type (write a newsletter article), tool (do it in Mail Chimp, a person (need to talk to Beth to make sure I’ve got my facts right), and a general timeframe that I want to remember (NW for sometime next week). With robust tagging capability plus contexts, this would be easy: @mailchimp write Beth NW.

Not having this capability really limits with unnecessary inflexibility what otherwise looks like a wonderful piece of software.


Would it be easier to think of writing a newsletter article as a mini-project?

Project name: Write newsletter article (Defer to: May 1, 2014, Due: May 15, 2014)
Task: Talk to Beth re: blog post for May 2014 (Context: Beth)
Task: Write article (Context: Mail Chimp)
Task: E-mail Beth for editorial approval re: blog post for May 2014 (Context: e-mail)

So this wouldn’t be just one task. This is actually a project with at least 3 tasks. I know I would love to see OmniFocus become flexible enough with tags that it can fit even more user types. But I guess we gotta do what we gotta do to get things done.

If this is a common activity (writing blog post) then you can probably save this as a project template with project status set to on-hold. Then when you need to write an article, highlight the project and duplicate it. Then change the defer date, due date, and the person that has editorial approval.


You are right - in the classic meaning of GTD. Everything that has more then 1 step, is a project.
You example of breaking down “writing a newsletter” has one major disadvantage:
If you are doing this breakdown, you are forced to do it w/ every other task. BUT: Not everyone does that - including me.
I think this multiple context discussion derives from a much deeper problem the user have (incl. me). How much Micromanaging are you allowing yourself?
Tbh I find it rather cumbersome to breakdown a funky (simple) task like a “newsletter” to 5 steps. This is micromanaging and can lead to not being productive. Where is the limit? Do you check off “move left leg”, then “move right leg”, then “stand up”, then “walk to the door”, “open the door”, “go into bathroom”, “take toothbrush in your hand”, “put toothbrush in your mouth” etc. - you get the irony - in your morning ritual?
E.g. writing a newsletter could be something which can be done automatically - you do not need every single step for that - assuming you know what to do (trained as a routine/habit).
Now we come back to multiple contexts. Assuming one (like) me knows exactly what to do w/ “writing newsletter re: xy”, you could add this in a a) repeating routine or an b)SAL (Single-Action-List). Well, what is then the context? Yeah, we do not know! Imo this is why alot (the majority?) of people do not know what to do w/ contexts. We find ourselves experimenting w/ energy levels, classic GTD-approaches, etc. made a really nice a approach w/ a fresh look on contexts (quick dash, think etc.) We all know that.
Imo this reflects the need to re-invent or overhaul contexts.
At the moment I use very few contexts (body, mind, passion <> locations <> agendas and waiting for), but I also would like to see an addon like tags (not multiple contexts). Tagging could be interesting in prioritising (ABC) or tagging w/ mood / energy aso.