
A Technique for Drawing Directed Graphs (1993) [pdf] - ColinWright
http://www.graphviz.org/Documentation/TSE93.pdf
======
netvarun
On a related note, you should check out this article which was trending
earlier:

"How we got 1,500 GitHub stars by mixing time-tested technology with a fresh
UI" [https://medium.freecodecamp.com/how-we-got-1-500-github-
star...](https://medium.freecodecamp.com/how-we-got-1-500-github-stars-by-
mixing-time-tested-technology-with-a-fresh-ui-b310551cba22) HN Discussion:
[https://news.ycombinator.com/item?id=14567492](https://news.ycombinator.com/item?id=14567492)

Money quotes are:

"But after looking at the source code we found a fatal flaw in this tool: it
used Graphviz — a decades old tool written..."

"...After a little research, we found the best library for the task—
Cytoscape.js. ..."

... Although the code was much cleaner, the end-result was much worse compared
to the original tool. Completely unusable. It appeared that there is no way
for cytoscape.js to have edges that don’t cross nodes. "

"...Don’t judge code by it’s age. Especially if it was written by tech giants
such as AT&T Labs"

Turns out drawing/visualizing graphs is a really hard problem!

~~~
le-mark
Graphviz is really good, but I tend to think it's held back graph drawing all
these years. Anytime graph drawing comes the advice is to 'use graphviz' when
nowadays there are some really good alternatives, most of them closed source
commercial unfortunately.

~~~
signa11
> ... but I tend to think it's held back graph drawing all these years.

can you please elaborate a bit more about why you think graphviz has a
negative impact?

------
1wd
Graphviz is a great tool.

The project seems to have some big problems though. The last stable release
was three years ago. 100% reproducible regression bugs for very simple input
are not even looked at for years. The build process is so complicated that
even the project itself has given up on creating Windows binaries.

The website with the documentation is often down or extremely slow.

The dot graph description language is frustratingly non-composable. Clusters
can just barely be used as a crude, limited workaround. A declarative styling
mechanism instead of the current imperative state machine approach would
remove so much pain.

It's also quite easy to run into crashes.

And still there's nothing better.

~~~
ygra
> And still there's nothing better.

I beg to differ, although I'm working for a developer of a (quite costly)
commercial alternative. But the state in the open-source or free space has
only few good options and many of them are sorely lacking in quality.

------
jlebar
This textbook chapter has a good overview of the state of the art:
[https://cs.brown.edu/~rt/gdhandbook/chapters/hierarchical.pd...](https://cs.brown.edu/~rt/gdhandbook/chapters/hierarchical.pdf)

------
2017throw
Yeah, if it's made by Microsoft - let's ignore it:
[https://github.com/Microsoft/automatic-graph-
layout](https://github.com/Microsoft/automatic-graph-layout)

------
pjs_
I flipping love graphviz.

