View Single Post
One question to answer with this conversation is "how does this make you more productive?"

We've talked about this issue a fair bit and so far we are (guardedly) on the side of not having task dependencies more than sequential vs. parallel within a group (and a few other odds and ends).

We certainly don't want to add a full DAG of tasks since then we have to actually start doing cycle detection, violation alerts and various sundry other things that OmniPlan already does; this is supposed to be somewhat simpler than OmniPlan :)

Really the question boils down to how having detailed explicit dependencies will make you more productive. Sure, we can all construct cases where it would be minorly useful, but should you as the user really be spending your time here charting out dependencies on each task or should you just get back to work?

One of the real driving concerns in OmniFocus is that we don't want to add a feature if its major use it to tempt people into fiddling with it. We've toyed with the idea of adding some UI for these features and then having the app yell at you to get back to work when you try to use them ... :) :)

Still, if you have ideas about how this would make you more productive day in and day out, keep 'em coming. We've certainly thought about this a fair bit, but we may have missed something.

As far as having multiple next actions, that also seems to boil down to fiddling. As long as your actions are in rough sequential order, you'll see a next action and either it will really be actionable or you'll think about it and decide that you need to do a 15 second review of your project to reorder the next couple actions.

In the first case, you should just get back to work and do/defer/delegate it. Having multiple next actions would just make you think about the issue longer, "do I really feel like doing A or maybe B... hrm... A would be fun, but ...". If you are going to do both, just do whatever comes to the top of the list next. If you aren't, defer or delegate it to get it off your list.

In the second case, I feel like there will be less overall futzing time by rearranging tasks as actually needed instead of trying to preemptively get the dependency graph absolutely correct (which you'll invariably screw up sometimes and then you'll be back in the same boat of having to dynamically reorder things as needed).