Good point, Bill. Hierarchical contexts can cover a lot those situations, but those aren't immediately obvious to someone used to tagging or multiple contexts.
Stealing from a subsequent email in the conversation...
OmniFocus supports hierarchical contexts; parent contexts are the more general ones, with the child contexts representing more specific subcategories.
For example, I have a general "Errands" context; descending from that context, I have a variety of more specific sub-contexts, like "Pharmacy", "Grocery Store", "Home Improvement" and so forth. When I'm out shopping, I check the sub-list for the specific type of store I'm at, and then give the Errands context a look, as well, to see if there are any additional items I can pick up.
To set something like this up in the iPad app, you'll want to do the following:
- Tap the small circular button next to "Contexts" in the sidebar of the Home screen.
- Tap the "+" button in the upper right of the screen, selecting "New Context at top level" from the menu that appears.
- Make your new parent context.
(If needed, you can use the "Edit" button to re-arrange the sidebar to move the context elsewhere in the list.)
- Once the parent context has been created and placed where you want it, select that row in the sidebar, then tap the plus button again.
- At this point, you'll see a "New Context under <name of parent context>" option in the menu. Tapping this will allow you to place a second context "inside" the first one you created.
However, hierarchical contexts don't cover the cases where the various contexts don't overlap at all, like in your "store or phone or online" example. Personally, I wouldn't handle a task that way - I'd prefer to figure out (probably during review) where I could get the best deal and then assign the "buy this" task to that context. Until I did that review, I'm fine with sticking the "buy this" action into my inbox and not worrying about it.
I would agree, though, that there are circumstances where more flexibility would help, and we do have some ideas for future versions. My goal isn't really to assert that OmniFocus is perfect the way it is.
I just think we do need to do a better job of explaining to folks that we think a single-context approach is better in the majority of cases, even if it's not what they're used to. Consider this an attempt at doing so. :-)