View Single Post
One cloud of features I’d like to see might be lumped into a group called “task relationships” or something like that.

Here are some observations from my own planning and attempts at getting things done (both lower- and uppercase). Some tasks depend on the completion of other tasks before they can be started. This sort of dependency is a staple of project management software, but is rarely modeled in personal productivity software. Nevertheless, it’s important. Frankly, when scanning for tasks to do Right Now, I don’t even want to see the tasks that cannot be done yet due to a dependency. Show me what I can do now.

On the flip side, there are times in most projects when there are many next actions that can be done Right Now, because they don’t depend on each other. In this case, I want to see all of them. Again: Show me what I can do now. How I select a task in this case — at least within a project — will depend on things like priority, effort involved, context, due dates (and do dates), etc.

For your inner geek, let me propose the following model for tasks. Within a project, tasks can be organized as a Directed Acyclic Graph (DAG). Maybe all tasks can be organized this way, even across projects, with the default case that cross-project tasks are independent. I think a DAG is sufficient to describe the sorts of dependency relationships that tasks have.

In any case, the real question is how to add this sort of functionality without destroying the interface and without complicating it unnecessarily for people who don’t want to use it. I haven’t looked at OmniPlan, but clearly the Omni folks have some thoughts about task relationships and user interfaces.