14

I can phrase this question in two ways:

What are some mind mapping tools that support nodes that connect to more than one parents, without cycles?

- Or -

What are some task manager tools that support specifying and also visualizing many-to-many dependency graphs?

Background

Recently I wished for more order in my life amongst the things I'd like to do. I started writing todo lists of things to get done, but I quickly realized that many of the items on the list have an interdependent nature, and that I'd like to record and visualize these connections.

An example: (A) I'd like to go on bike trips for leisure. For this I'd need to (B) buy a bicycle. (A) would also allow me to (C) become more fit by exercising more. (B) has some dependencies though: (D) Research bicycles on the web. And/or (E) ask some knowledgeable friends about what might be a good fit for me. And so on.

So I'd like to use some software to map dependencies between certain tasks, and also to have a visual overview of which task depends on which.

More mathematically speaking, a tool that supports a Directed Acyclic Graph, meaning any kind of one-directional connection between nodes are possible, as long as there is no cycle/loop involved.

Cyclic dependencies between tasks would mean that no task in the loop can ever be started, so loops should be actively disallowed, highlighted with a warning, or at the very least detectable somehow by the software, e.g. by pressing a button in the menu items.

I'm mainly looking for (free and) open source software, but I'd like to know if such commercial and/or closed source software exists as well -- especially if no (F)OSS versions are available.

I am mainly looking for web-based or linux-compatible apps, but I'd like to know if such software exists for other platforms as well -- especially if no web/linux versions are available.

(e.g. I am thinking OmniFocus may support some aspects of what I am looking for, but haven't been able to try it out yet as it is unavailable on any platform other than OS X.)

Mind Maps

Freemind seems to be the most popular Open Source mind mapping tool, but they only support trees, and more than one parents are not supported.

I know about TheBrain, which supports many children, parent, and sibling nodes. But it is unfortunate that TheBrain allows cycles, and doesn't even support detecting them in any way.

I also know about Flying Logic which is the closest to what I am looking for. It has a phenomenal layout algorithm that organizes each node into levels making cycles immediately obvious. This software though -- unlike TheBrain seemingly (which I think can support many thousand nodes), and -- unfortunately is designed to operate on smaller documents, and above a certain size (few hundred nodes) the document becomes almost unworkable due to a few restraints:

  • It seems all of the document is kept in memory at all times, so resource usage can become a problem.
  • The only way to connect to existing nodes is by manually mouse-click-dragging from one to the other. If they are close, this is simple and intuitive. However if they are far apart, you have to zoom out, find both, check and remember their exact position, then you can connect them. And immediately afterwards the whole graph reorganizes itself, so good luck trying to guess where anything might be. TheBrain does this better as well: once you specify that you want to connect a node as a child to another, a search box pops up in which you can find what you want to connect it to, hit enter, and it is done.
  • The distances increase greatly between nodes as the graph size increases, it would be nice to hide all nodes except for predecessors/successors. It is possible to select these with green outline, but not possible to hide everything but these. Or at the very least it would be nice to see the immediate predecessors and successors of a selected node in a little window to the left (like in yEd).

But these are not really the fault of Flying Logic; as far as I can tell it just wasn't designed to handle larger documents than a few hundred nodes.

I also remember trying out yEd and Microsoft Visio some years ago, but I would be sceptical if they could help me: it seems they would suffer from similar limitations as Flying Logic.

Task managers

taskwarrior is a very nice little command line open source task manager tool that supports DAG dependency graphs. It detects and disallows cycles:

$ task project:foo add A
Created task 88.
The project 'foo' has changed.  Project 'foo' is 0% complete (1 task remaining).
$ task project:foo add B
Created task 89.
The project 'foo' has changed.  Project 'foo' is 0% complete (2 of 2 tasks remaining).
$ task project:foo add C
Created task 90.
The project 'foo' has changed.  Project 'foo' is 0% complete (3 of 3 tasks remaining).
$ task 88 modify depends:89   
Modifying task 88 'A'.
Modified 1 task.
Project 'foo' is 0% complete (3 of 3 tasks remaining).
$ task 89 modify depends:90   
Modifying task 89 'B'.
Modified 1 task.
Project 'foo' is 0% complete (3 of 3 tasks remaining).
$ task 90 modify depends:88
Circular dependency detected and disallowed.
$

It is lacking in visualising this graph though. There are some scripts floating around that allegedly can visualize some parts of the graph, but I haven't been able to make them work. I am also thinking I would feel limited by having to render these manually and not being able to interact with them as a GUI.

Questions

Is there any software that you've used/tried/read about that might fit for what I am looking for?

Or if you haven't heard about a tool like that and you also would like something to track and visualize dependencies between task that you want to do, I would be glad if you told me -- maybe as a comment -- so at least I know I am not alone in wishing for something like this.

1
  • A small "out-of-the-box" suggestion, do you think you can work your tasks in Excel (or any other spreadsheet application)? You could associate each task with a formula and if you ever run into a cycle excel not only alerts you of the cycle it also tracks all the dependencies in the subsequent formulas. You can also use the "track dependencies" to view a single line of thought. It is a suggestion, maybe it can work.
    – TVDN
    Commented Jun 19, 2018 at 19:54

2 Answers 2

1

This might be a bit of a stretch, but emacs with org-mode, org-roam, and org-roam-ui might scratch your itch.

org-mode is a text based way to manage tasks, write and export documents, and many more things. It is widely used to implement gtd-workflows.

Emacs can be quite the rabbit hole and takes some time to get used to (the UX language stems from way before windows 3.1), but it is worth it. Especially if you like to customize your setup.

I would say: if you are not afraid of a rough learning curve in the first few days, give it a shot.

1

Check out Obsidian. It's not open source but it is available on Linux.

Joplin is open source and might work for you with the Link Graph UI plugin.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.