I bought my OmniFocus license since the product was first announced. Unfortunately after I tried using it, I turned to Things instead. I'm having another look at it now, since I think that sometimes Things is too simple for some things like reviewing.
I really like everything about OmniFocus, but I think the contexts are seriously limited compared to Things.
Things is actually a much simpler program, so I don't understand the argument that this would just add complexity. In fact, it would probably simplify a lot of situations that context hierarchies try to emulate, while making it easier to use, and more powerful too.
I think OmniFocus creates more cognitive load, forcing you to decide specifically which single context is the right one for a task. With Things, you can tag it with one or more contexts if you're not sure, or if you want to specify.
Multiple contexts solves a couple of important situations:
One context or another (indifference)- Ask @Joe or @Carl for the application form
I should be able to view just the list for @Joe when I plan to see him and find this task. Same goes for @Carl.
Exclusive contexts- Call Dentist for appointment @phone @9to5
- Replace bank card @errand @9to5
- Fix typo on menu bar @work @easy
- Refactor caching module @work @challenge
- Learn "Thunderstruck" riff @guitar @challenge
I should be able to view calls that I can only do during business hours; and I should be able to select easy tasks when I'm not in the mood for challenging ones.
This can be emulated by sub-contexts and duplication, but it's clumsy and limited.
As another example: I use a "$" context in Things for billable work. I can focus on this in conjunction with another physical context.
The OmniFocus context system needs to be more flexible. By allowing tasks to be assigned to multiple contexts, it can provide unlimited flexibility for so many things:
Priorities (@low/@high/@urgent, etc.)
Time boxes (@1hr/@pomodoro, etc.)
I'm sad that Omni seems against this idea, it seems like a common theme in these forums.