6 ms·
Show HN: PlantUML based collaborative UML editor is now open source
- AlexITC 4y agoHi hn, It's been almost 3 years since I created CollabUML [1] and got a lot of fun seeing what the hn community was doing with it, since then, I have been thinking many times on making the repository public. Better late than never, right? It is worth sharing how this started, I was taking interviews including a system-design phase, I used to launch my IDE's to render PlantUML diagrams while I thought that it would be more cool to just share a url instead of sharing my screen. I made a plan and took the weekend to build it, while I have invested minimal time/effort in this, this side-project is the one that has got the most attention so far. Anyway, play with it [2] and let's see what we get. Thanks hn! - [1]: https://news.ycombinator.com/item?id=22955971 https://news.ycombinator.com/item?id=22955971 - [2]: https://collabuml.com https://collabuml.com
- alixanderwang 4y agoReally cool, thanks for sharing! Would you have chosen Etherpad if you had to do it again? (I'm thinking of adding text collaboration to an open-source project I maintain). Did you get requests to support non-Etherpad servers?
- AlexITC 4y ago> Would you have chosen Etherpad if you had to do it again? Hard question, it really depends on my goal, for building a quick prototype, I'd certainly use Etherpad again because it is trivial to launch it, and, more or less, it has worked reliably for the last years. On the other hand, collaborative editors have lots of progress with CRDTs now, it is worth re-evaluating options. I'd bet that the key would be whether Etherpad can be easily customized to fit your goal. Of course, as a dev, I was fantasizing about potentially writing my own collaborative editor someday if there was a way to make the project financially viable , for sure, this is the least important thing to make it get there. > Did you get requests to support non-Etherpad servers? Not really, I think I have got less than 5 emails about this project so far. > I'm thinking of adding text collaboration to an open-source project I maintain If you don't mind sharing, what's that project about?
- alixanderwang 4y agoThanks for the reply. > If you don't mind sharing, what's that project about? I maintain another text-to-diagram language, and we host a playground (https://play.d2lang.com https://play.d2lang.com). I want to let people make collaborative rooms on there.
- AlexITC 4y agoLooks cool! Integrating collaboration in the simple way I did it should be a piece of cake, feel free to contact me privately if you need any help running etherpad, it is mostly tweaking a few settings and putting nginx on front of it.
- isitmadeofglass 4y ago> It's been almost 3 years since I created PlantUML [1] and got a lot of fun I assume you meant to write that you created collabUML 3 years ago, and not accidentally take credit for creating PlantUML itself, which is 14 years old and was created by Arnaud Roques in 2009.
- hutzlibu 4y agoI vouched for this comment, but it seems you are shadow banned, meaning all your posts don't show, except for people who have showdead=1. You might want to work on your personal insult debate style and then email dang and ask for it to be removed.
- mlvljr 4y ago[dead]
- BuckyBeaver 4y agoHow about we all ask HN to stop abusing users with this despicable practice? Ban people or don’t. Instead, HN deliberately wastes people’s time. There’s no excuse for it.
- johnwheeler 4y agoI don’t understand. What do you mean you created PlantUML?
- FPGAhacker 4y agoPretty sure he meant to say “collabUML”
- dang 4y agoIt was a typo. Fixed now.
- mdaniel 4y agoThe post title says open source but the repo is missing any license file and the readme doesn't specify your license either (although the license file would be better since GitHub's detector doesn't scan the readme for licensing text)
- AlexITC 4y agoGood catch! I just added an MIT license. Thanks for reporting.
- sorokod 4y agoIt's been almost 3 years since I created PlantUML An unfortunate typo, PlantUML is a 99.9% Java project residing here [1]. The source is worth reading as it has few external dependencies and a lot of functionality is implemented from scratch, e.g. a JSON parser [2]. [1] https://github.com/plantuml/plantuml https://github.com/plantuml/plantuml [2] https://github.com/plantuml/plantuml/tree/master/src/net/sourceforge/plantuml/json https://github.com/plantuml/plantuml/tree/master/src/net/sou...
- hutzlibu 4y agoIt is nice, that you open source it, instead of throwing it away, but you might want to add, that you seem to have no real plan of maintaining this any further: https://news.ycombinator.com/item?id=34556346 https://news.ycombinator.com/item?id=34556346 "with no plans to go back touching js/ts for anything serious" Or am I missinterpreting things?
- AlexITC 4y agoI updated the README to reflect the project state. > "with no plans to go back touching js/ts for anything serious" > Or am I missinterpreting things? If for any reason this project became something I'm focused on, I'd just migrate it to Scala.js which is what I feel more comfortable with.
- foooobaba 4y agoWe use plantuml all the time for sequence diagrams, we check the code into git and use the generated images in the documentation, then the readme.md provides detailed doc of our subsystems, plus people can comment on exact lines of code in the plantuml source during pull requests… So thanks for building this, it’s awesome!
- AlexITC 4y agoSome time ago, github introduced support for Mermaid diagrams (https://github.blog/2022-02-14-include-diagrams-markdown-files-mermaid/ https://github.blog/2022-02-14-include-diagrams-markdown-fil...), a nice perk is that you don't need to compile the diagrams because github renders these automatically.
- foooobaba 4y agoOh cool, thanks for sharing that.
- bb88 4y agoGrady Booch would love this.
- FpUser 4y agoGrady Booch / Rational went overboard with UML. UML is very nice when used in moderation but basing all development on their tools and creating exportable to code designs as they envisioned is total madness.
- kgilpin 4y agoThat was not Grady Booch’s doing. His vision was not for UML to become a full blown programming environment. It was meant to be a disposable thinking tool for developers, which is more how people are using it now. See for example, https://www.informit.com/articles/article.aspx?p=1405569 https://www.informit.com/articles/article.aspx?p=1405569
- tluyben2 4y agoYou can tell him https://twitter.com/Grady_Booch https://twitter.com/Grady_Booch
- EgoIsMyFriend 4y agoi know people are upvoting this because it got open sourced but i'm wondering if anyone actually uses UML outside of university classes i attended? if anyone would give his experience i would appreciate it
- jeffreygoesto 4y agoSure! Docs-As-Code with PlantUML and in our case Sphinx (AsciiDoctor is just as good, in our case Sphinx-Needs moved the needle) is a nice low effort "persist your architecture ideas in the repo" solution. You can check that every PR has a piece of documentation and design coming with the new feature. We're getting more from being in- to semi-formal and not trying to use UML as a programming language.
- agumonkey 4y agoI hated I'll with a passion before, but in my actual job it would provide a better pivot point to explain structure and protocols compared to a GitHub issue in plain text. Ironic.
- h0l0cube 4y agoI have absolutely used it for designing before building complex things and documenting complex things after they've been built. At the design phase, I find it's useful to iterate on high-level UML to anticipate the architectural challenges that lay ahead vs iterating on implementation when I've already found myself in the weeds. If you peruse AWS documentation you'll see UML diagrams of all kinds right through it. And you're probably very familiar with sequence diagrams if you do anything network or concurrency related.
- zppln 4y agoSoftware level design documentation in aerospace make extensive use of UML (my shop even use PlantUML). Sequence diagrams in particular are quite useful. People often find that level of documentation a bit redundant if you have access to the code, but if you're pressed for time and the diagrams actually describe the crucial parts it can be a huge timesaver when you have to fix something in a 10 year old component.
- mndgs 4y agoWhy not put this thing online, real Collab mode? Just have each session with a different uuid in the URL, so that one can share it with other team... Full private mode could be smth one would need to pay for, to fund hosting costs. (Real lazy to compile the client each time just to do colab work on UMLs)
- mndgs 4y agoIf the author agrees and provided the other dependants (the two sites this is built upon) don't mind, I can put a little backend for this. Not too difficult.
- AlexITC 4y agoActually, both dependencies are specified: 1. https://github.com/ether/etherpad-lite https://github.com/ether/etherpad-lite 2. https://plantuml.com/ https://plantuml.com/ -> go to the bottom, there is an editor that renders the diagram, collabuml uses such a public api. I'm happy to provide details about running etherpad if necessary. > I can put a little backend for this. Not too difficult. Etherpad is the collaborative backend, plantuml is the uml renderer (there is a way to run a server with this).
- AlexITC 4y ago> Why not put this thing online, real Collab mode? Just have each session with a different uuid in the URL, so that one can share it with other team I'm not sure how that would change much from its current behavior, you can put a random value at the url and work with it, actually, we have used the tool in my team several times. > Full private mode could be smth one would need to pay for, to fund hosting costs I used to have an text at the bottom of the page mentioning this, my idea was to get a couple of customers before investing considerable time in developing the tool, there is a lot that could be done! > (Real lazy to compile the client each time just to do colab work on UMLs) Do you mean compiling the text into the diagram?
- jph 4y agoGreat tool! Would you be open to CollabUML adding PlantUML Font Awesome icons? You can see the demo PlantUML for "Area diagram demo" that I'm using: https://github.com/joelparkerhenderson/demo-plantuml https://github.com/joelparkerhenderson/demo-plantuml
- AlexITC 4y agoActually, those icons look very nice, right now, the app uses the public plantuml server, which means that I can't control any settings it runs with.
- pachico 4y agoI still don't understand why not everyone uses diagrams as code. The implications of having an easy tool to document and express ideas in a visual way and have it all up to date are enormous.
- jostiniane 4y agolove the tool! Came across plantuml and presented it to my colleagues 1 year ago, it got all the attention and it's the defacto tool in my current workplace.