Hacker News new | past | comments | ask | show | jobs | submit login
YUML – Easy Embeddable Diagrams (yuml.me)
178 points by etaioinshrdlu 7 days ago | hide | past | web | favorite | 54 comments

Anyone familiar with PlantUML[1]? That's been my goto for declarative text-based diagramming. I've always thought "there really could be a better tool," but I've never found anything better than PlantUML.

I don't think YUML is going to be my answer, though -- it's paid and doesn't seem to be a local tool, but rather a SaaS model.

This product feels like it should be a local compile-into-image workflow. But that's probably my bias for text-based declarative formats coming through. :)

[1] http://plantuml.com/

Any other ideas on what "could be the better tool"? I haven't really used plantuml or one of the couple of others like memraid or flowchart other than playing around with them, but my dream tool in that arena is something that has the same accessibility (`->` and other minimal notation) but to drive more of the note taking process like I have on paper. I think it would be great to be able to right justify or write on both sides of the same line or otherwise position text or wrap it in a box like can be easily done in a tool like OneNote(or my notebook) but driven entirely by the keyboard. If there were something like markdown but for text positioning rather than styling.

It seems to me that a keyboard driven OneNote would be fantastic. I already do a lot of writing in my vim/markdown setup because folding is so useful. I just want more mindmap style control, or the ability to define my own notations. On paper I often comment or converse with ideas on the right third of the page, and I should be able to do that with a `<` denotation just like markdown does blockquote with `>`.

I haven't personally used it so far, but check out mermaid[1] which I bookmarked from a HN[2] discussion

[1] https://mermaidjs.github.io/

[2] https://news.ycombinator.com/item?id=16889181

I found mermaidjs to be interesting in cases where you want to put down some diagrams quickly. However the renders/SVG export are really wonky at the moment.

graphical software (even Powerpoint) still works best IMHO

PlantUML is great! Key benefits you get from a good text-based diagramming tool: - easy iteration (for example: search and replace with a text editor to rename things) - readable diffs in your version control system

In the rare case that someone insists on diagrams, I usually go for umlet. It's quirky but it gets the job done.

Frankly, I think UML is a waste of time. Anything that fits in a diagram, is too trivial to document. It's the stuff that doesn't fit that matters more. And attempting to document a very complex system with UML is both pointless and painful.

Most diagrams I've seen just state the bleeding obvious. There's a thingy; it uses another thingy and extends that other thingy over there. Best case it's not a complete over simplification; worst case it tells less than half the story or it is hopelessly out of date because diagrams rot even faster than code.

IMHO the best diagrams are those on whiteboard that you wipe out after the meeting. Don't bother taking photos, nobody ever looks at those.

Honestly you're right. I'm not inclined to give the time of day to yet another SaaS project that should have been a command-line tool

Me either, I mean I pay for Netflix and Intellij out of my own pocket (even though I use the latter at work) but when it comes to SaaS I just multiply the monthly price by 12 and think "hah, no thanks".

I've no issues with paying for a SaaS but it has to provide value and this for me doesn't.

I keep coming back to it too. I would love for some more control on layout but it works for simpler diagrams

Layouting in plantuml is tricky, but I learned some tricks the hard way, which make larger diagrams more tenable. One core trick is:

  upper/left arrow lower/right
So e.g. you write:

  upperBlock <-- lowerBlock
instead of:

  lowerBlock --> upperBlock
This alone drasticly cuts on the amount of hidden arrows with forced directions you need to use in larger diagrams.

That said, plantuml could use a more explicit way of providing layout hints. E.g. an extra declaration that some objects form a grid. Something like:

    Comp1 Comp2 Comp3
    Comp5       Comp6

yUML creator here.

Think I know what you're saying. That said, there are many people using a command line wrapper to generate yUML diagrams as part of an automated workflow.

The paid features are more for people who want better management of diagrams.

Ya but I have to leak you my diagrams. Websequencediagram already does this. Plantuml allows a local renderer.

Thank you for this awesome tool! I use YUML all the time to embed diagrams in to markdown documents on GitHub. I use PlantUML sometimes too, but I love that YUML has no compilation step and the "source"of the diagram is in the link and legible to humans.

I wish I could use YUML to make flow charts!

Thanks for the feedback! Yes, we sometimes create flowcharts ourselves so would be a nice addition.

Do you have any idea on how to use PlantUML with LaTeX files? I've only found some workaround scripts that make it pretty ugly to begin with. I'm using Overleaf so I doubt it'll add the functionality, but it'd be neat.

No idea about raw LaTeX, but with Org you can just include it as a source block, and Babel will automatically compile it for you when you do a LaTeX export.

I'm no expert, but are you referring to this? https://orgmode.org/manual/Quoting-LaTeX-code.html

This isn't something I spend a lot of time on. I settled on Dia long ago and it works fine for my purposes.

I also like Plantuml, but it does not do that good a job with statecharts.

Not exactly for the same purpose, but anyone knows about Graphviz [1]? Super expressive and you can visualize online in viz.js [2].

[1] https://www.graphviz.org/ [2] http://viz-js.com/

I've been using Vis.js and http://shaky.github.bushong.net/. You can do really cool stuff with them. Highly recommend them both. I will import those into gimp and create all types of animation with them [1, 2]. I've built a db backend for vis.js and it makes to super simple to connect things and saves the positions for Vis.js. You can see a demo of it here: https://sysadmincasts.com/map. Try zooming in/out, moving things, etc. I should probably open-source the code as others might like an example of it too.

[1] https://assets.sysadmincasts.com/e/g/45-ansible-ping-pong.pn...

[2] https://assets.sysadmincasts.com/e/g/47-ansible-load-balance...

This looks really cool. Will check it out

Graphviz is one of the things that I make sure is installed when I get a new computer, along with PlatUML (also mentioned).

Don't buy a Mac then. Apple managed to break the build on the latest version.

Broken as in, `./configure && make && make install` doesn't work?

ETA: I actually am on a Mac, but I've decided for other reasons that my next one won't be. As far as I'm concerned the 2015 Macbook Pro was the last of the good ones.

Broken as in there was no official working binary last time I checked. Maybe the binary does build but I quite liked the auto preview and other GUI features.

> Graphviz.app currently doesn’t build on OSX Mojave because of Apple API changes. It would be wonderful if someone can fix this.


It's a general theme that Apple doesn't take compatibility very seriously but each case is annoying.

It's broken frequently over the years.

It's a command line tool so someone interested enough can package it up as a docker container and provide a simple wrapper script that would mostly work in-place.

But then you’d need install Docker to generate graphs, which is kind of overkill compared to just fixing the build

I really like Graphviz; I really don't like that the latest MacOS release doesn't support it (yet). I mostly use Linux, but it's still a headache.

You have it backwards. Graphviz doesn’t support the latest MacOS release, not vice versa.

SaaS for diagrams? No thanks! It's probably very good software, but I can't tolerate the business model, sorry.

Class, activity and use case diagrams are not in vouge with the development teams. And if they do use them , they tend to be in Visio or with similar tools when they need to be created for requirements / design documentation etc., Somewhat related , https://bramp.github.io/js-sequence-diagrams/ could be used as well.

What diagrams do you see used in dev teams these days?

In our team (non enterprise), there's a lot of visual flow models for UX, and still some class/interaction/activity diagrams for explaining how stuff hangs together.

I've been using BPMN to unpick what businesses are doing and document it. It's been great to check assumptions like "We need software to do X in this way" -- which on inspection doesn't match with what needs to be done, but what has been done.

I've done the diagrams using the free Camunda Modeler [1], and they have an online version [2].

1. https://camunda.com/download/modeler/

2. https://bpmn.io/

Been using https://arcentry.com/ for architectural diagram. They offer a 3D viewer that can be embedded as well

I've used this to help sketch out a DB schema several times.

Have you seen this one? I have been using that and it's pretty awesome. Exports nicely too.


I had not, but then I was using a DSL for sql generation.

How about diagrams that you can embed in your markdown documentation? Proper ascii drawings: http://asciiflow.com

Monodraw is a great Mac app for creating them https://monodraw.helftone.com/

Yeah Monodraw was great. Too bad he sunsetted it last October[0].

[0] https://blog.helftone.com/monodraw-maintenance-mode/

Or even put into the comments section of your code... great tool!

Previous discussion, from 2009: https://news.ycombinator.com/item?id=594682

I'm a big fan of the C4 model [1] for diagramming and documenting software architectures. There is a SaaS tool, Structurizr [2], for diagramming, documenting, and exploring such models, plus also set of PlantUML styles [3] for generating C4 using that tool.

[1] https://c4model.com/

[2] https://structurizr.com/

[3] https://github.com/RicardoNiepel/C4-PlantUML

Register to self-host a thing named after a well-known open source standard? Nah...in fact, I'm feeling a sudden urge to make open source contributions to PlantUML and/or MermaidJS.

Off topic, but seeing the word "embeddable" in this context reminds me of old Microsoft OLE. It was kind of cool being able to drag an excel table inside an Access form, together with a media player and stuff like that...

Is UML cool again? I’ve been waiting 2 decades. Please say it is! Surely now that monoliths are the new black, UML must be respectable.

I am convinced uml was created to sell expensive tools for using uml. If I never have to see it again I will be happy.

Nice I like the scruffy mode, something about it captures the eye more than a clean cut shape you can put together on PowerPoint.

I wonder why are they not using JSON?

Applications are open for YC Summer 2019

Guidelines | FAQ | Support | API | Security | Lists | Bookmarklet | Legal | Apply to YC | Contact