"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.
"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!