TALA Is Open-Source
226 points - yesterday at 11:37 PM
SourceCSS must be the hardest technology out there, because people write these algorithms yet their site breaks completely on iOS safari on an iPhone SE2. Reminded me of when Linearβs CEO shared a post on Twitter bragging about how they only hired the best devs, and then I sent a screenshot of their homepage with a broken horizontal scroll. They dismissed it as a fault on my end for having an unsupported device. Turns out that a single CSS2 directive from 1998 fixed the issue (my OS is from 2022).
css actually is hard, but layout is hard in general. it's a surprisingly difficult and computationally expensive problem to do things that look instinctively easy to humans.
ricardobeat
today at 1:05 AM
The first few graphs are impressive, it does a much tidier job. The Go queue one is objectively worse - the other versions keep services and users grouped together, as well as a left-to-right flow. The TALA version makes it look more complicated than it is.
The post does highlight that in the introduction:
> It doesn't do DAGs as well. I often find myself preferring Dagre or ELK when I want a long flowing graph.
I thought "how bad could it be" and I was quite surprised :)
That's spectacularly obfuscated in comparison to the rest.
imtringued
today at 9:21 AM
TALA is terrible at respecting the "direction: <up, down, left, right>" directive. It should choose an aspect ratio based on the direction, but instead it is trying to make the diagram as square as possible.
That's nice; my first impressions of D2 were much worse than they should have been since the default layout engine is pretty terrible for some types of graphs; ELK is a big improvement, and when I tried TALA it was sometimes a big improvement over ELK.
I never purchased TALA though because I don't use D2 at work, and the costs of buying TALA were above my "fun money" amount.
Taikonerd
today at 2:07 AM
Always happy to see D2 on here! In my last job, I had to do several architecture diagrams. Learning D2 took maybe 1 day, and saved me much more time than that.
boguscoder
today at 1:04 AM
Would integrating/implementing this into graphviz be a good move or mixing wrong things?
ashiban
yesterday at 11:56 PM
Thanks for that. What do you think are the key heuristics / concepts that made it standout or be more appropriate for architecture diagrams?
azriel91
today at 12:50 AM
before discovering d2, I wrote / vibe coded my own diagram generator: https://azriel.im/disposition
then after discovering it, I was too invested in my own project to switch -- the complexity in positioning nodes, routing edges to not draw over labels, taking into account nesting and rank dir gave me an appreciation for how hard these can be, and I kinda wanted my own version (plus other features)
I'm so happy about this, we desperately need better auto layout. I'll be adding it to Daedalus
This is great! There's a real shortage of good layout algorithms. Everyone pretty much gave up after Graphviz.
Although tbh I have come to the conclusion that automatic layout algorithms don't work very well for large diagrams and don't save you much effort for smaller diagrams.
What I really want is some kind of interactive editor that has a go, but lets me drag nodes into more sensible positions while maintaining all the arrows. Maybe this makes that easier given its support for specifying node positions?
I just started diagramming with d2- I'll have to try this one out!
boldaxolotl
today at 9:48 AM
[dead]
lucaszbuilds
today at 9:00 AM
[dead]
LaunchGate
today at 12:47 AM
[dead]