"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!
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.
It's a _famously_ hard problem, which is why most of the graph drawing tools you see outside Graphviz are simple force-directed or tree drawing routines.
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.
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.
"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... HN Discussion: 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!