19

I am looking for a tool that will let me work on a dependency graph. (I want this for my personal tasks, like a to do list.) Like, let's say I have task 1, 2 and 3. Then maybe task 1 is needed for task 2, and task 1 is partially needed for task 3, and task 2 is needed for task 3, etc. I should be able to edit easily, change relations between tasks easily, and have a nice graphical view of the graph.

Do you know of anything like that?

Kenster
  • 7,483
  • 2
  • 32
  • 44
Ram Rachum
  • 5,121
  • 14
  • 58
  • 80

2 Answers2

33

How about Graphviz? It actually allows you to create a graph in text, and it handles the visualization for you:

This is a graph of the UNIX family tree

alt text

Here is the code that generates it:

/* courtesy Ian Darwin and Geoff Collyer, Softquad Inc. */
digraph unix {
    size="6,6";
    node [color=lightblue2, style=filled];
    "5th Edition" -> "6th Edition";
    "5th Edition" -> "PWB 1.0";
    "6th Edition" -> "LSX";
    "6th Edition" -> "1 BSD";
    "6th Edition" -> "Mini Unix";
    "6th Edition" -> "Wollongong";
    "6th Edition" -> "Interdata";
    "Interdata" -> "Unix/TS 3.0";
    "Interdata" -> "PWB 2.0";
    "Interdata" -> "7th Edition";
    "7th Edition" -> "8th Edition";
    "7th Edition" -> "32V";
    "7th Edition" -> "V7M";
    "7th Edition" -> "Ultrix-11";
    "7th Edition" -> "Xenix";
    "7th Edition" -> "UniPlus+";
    "V7M" -> "Ultrix-11";
    "8th Edition" -> "9th Edition";
    "1 BSD" -> "2 BSD";
    "2 BSD" -> "2.8 BSD";
    "2.8 BSD" -> "Ultrix-11";
    "2.8 BSD" -> "2.9 BSD";
    "32V" -> "3 BSD";
    "3 BSD" -> "4 BSD";
    "4 BSD" -> "4.1 BSD";
    "4.1 BSD" -> "4.2 BSD";
    "4.1 BSD" -> "2.8 BSD";
    "4.1 BSD" -> "8th Edition";
    "4.2 BSD" -> "4.3 BSD";
    "4.2 BSD" -> "Ultrix-32";
    "PWB 1.0" -> "PWB 1.2";
    "PWB 1.0" -> "USG 1.0";
    "PWB 1.2" -> "PWB 2.0";
    "USG 1.0" -> "CB Unix 1";
    "USG 1.0" -> "USG 2.0";
    "CB Unix 1" -> "CB Unix 2";
    "CB Unix 2" -> "CB Unix 3";
    "CB Unix 3" -> "Unix/TS++";
    "CB Unix 3" -> "PDP-11 Sys V";
    "USG 2.0" -> "USG 3.0";
    "USG 3.0" -> "Unix/TS 3.0";
    "PWB 2.0" -> "Unix/TS 3.0";
    "Unix/TS 1.0" -> "Unix/TS 3.0";
    "Unix/TS 3.0" -> "TS 4.0";
    "Unix/TS++" -> "TS 4.0";
    "CB Unix 3" -> "TS 4.0";
    "TS 4.0" -> "System V.0";
    "System V.0" -> "System V.2";
    "System V.2" -> "System V.3";
}

As you can see, the syntax is easy to add on to, you could easily use it as a skeleton for your own:

digraph workingcomputer {
    size="6,6";
    node [color=lightblue2, style=filled];
    "Computer" -> "Hardware";
    "Hardware" -> "Hard Drive";
    "Hardware" -> "CPU";
    "Hardware" -> "Memory";
    "Hardware" -> "Motherboard";
    "Hardware" -> "Power Supply";
    "Hardware" -> "GPU";
/* And so on.... */
}
Gaff
  • 18,569
  • 15
  • 57
  • 68
John T
  • 163,373
  • 27
  • 341
  • 348
  • I can only second graphviz for such tasks. – René Nyffenegger Nov 08 '09 at 21:10
  • 4
    This looks pretty good. But I want something where you don't have to edit text files, like a program for non-programmers. – Ram Rachum Nov 08 '09 at 22:12
  • If you're ok with making the diagram yourself, check out DIA: http://projects.gnome.org/dia/ – John T Nov 08 '09 at 22:46
  • You can try this out online. Copy and paste into the box and press Enter: http://ashitani.jp/gv Keep in mind that whatever you enter will be visible to anyone else who visits the page. – endolith Dec 13 '10 at 05:00
  • 4
    For those who see Graphviz for the fist time, the example in this answer can be converted to an image with e.g. `dot -Tsvg filename.ext` where `filename.ext` is the name of the file you save the code in. – Ruslan Aug 01 '20 at 13:39
  • 1
    For a web based Graphviz Visual Editor use: http://magjac.com/graphviz-visual-editor/ – JCallico Jan 21 '21 at 16:41
1

draw.io is an open source graph editor webapp with very convenient gui features. It is also open source, and can be downloaded and run locally. You can give it a try here.

VYM (view your mind) is a handy little mindmapping program that is cross platform, and is accessible through the package manager on many Linux distros (e.g. yum install vym, apt-get install vym). It is relatively limited on the graph-editing features.

FreeMIND Another mindmapping graph tool, similar to VYM (I don't know which is better, haven't tried them for years.)

Dia was a decent tool, but development halted years ago.

argentum2f
  • 141
  • 4