Sound of the Other Head banging...

In my Linux rant about freedesktop's menus, I said glibly that I'd document some design in UML.

Then it hit me that there were no good free UML tools for Linux. I'd known this for a while, but somehow it just seems improbable, Linux being the coders environment of choice.

There are, of course, many UML tools for Linux. But the acute observer will note that I qualified my complaint above - I said that there are no good free ones. So here's YALR ( Yet Another Linux Rant ) 🙂.

Free UML

1. Eclipse Papyrus

A bloated and practically unintelligible tool that has every feature under the sun except usability. And speed. And ease of installation. But then, you could say that about many Eclipse based tools.

2. Violet

A lovely little program that might be suitable for a great many people, but not for me. Why ? Because the menu panel is on the right, not the left. Really, that makes a difference.

It's amazing how viscerally disorienting that choice is. My ossified brain reads from left to right - my 'flow' is from left to right, and things that don't respect that just don't flow and hence don't work. Several tools ( eg. GIMP, Inkscape ) put panels on the right hand side, which generally serve to refine or configure a choice that has been made on the left. I can deal with this. yEd uses both sides, but you can move panels around to suit you. But if the only possible interaction is on the right, and I can't drag or reconfigure that panel to be somewhere else, it feels like working with constant shriek of nails on a blackboard, and it's a massive fail.

3. ArgoUML

Only supports the ancient UML 1.4, and is no longer maintained since several years ago. The original website is dead, and it no longer appears possible to download from it. There is a zombie project on gitHub, which is what the link above points to.

4. Modelio

Should be a great choice. Maybe it's a great cholce for Windows. It supports UML 2.0 and SysML ( yay ! ), and appears to be under active development. But they've shot off both feet with both barrels by ignoring a 4 year old deprecation warning from Debian, and now you can't install it on Ubuntu 20.04 or later because an ancient and unsupported version of libwebkitgtk is missing. Gaaargh, the irony. I could work around this and get this library from somewhere, but hey, there's a reason that ancient and unsupported code gets deprecated, and Modelio should just suck it up and fix their code. This is an example of technical debt biting back.

5. PlantUML

A text based system for creating diagrams. Yuck. What's the point ? I've used it, and it's useful in a very narrow set of circumstances, but absolutely not what I need for doing 'playful design' where I'm sketching and refactoring. Working with a diagram is a different thing to simply defining it.

6. UML Designer

Unfortunately ( there's a theme developing here... ) yet another Eclipse based tool. But apart from that, the Linux version won't even start on Ubuntu 20.04 ( looks like it uses an ancient 2017 version of Eclipse ), so it's a non starter.

7. Umbrello

Available in the Ubuntu 20.04 repo, but because it's a KDE tool it has a shedload of dependencies, and I don't really want to install most of KDE in my xfce environment just for one tool. If I really wanted overkill, I'd put Kubuntu in a VM. Or I can get it as a snap, but that's just as bad because I've nobbled snaps on my system ( i.e. I've ditched snapd because I just don't like the idea ).

8. BOUML

At one point, this was a non-free program, but it appears that the developer has given up on the idea of trying to make money from it. Which I think is sad really, because I believe it's quite fair for effort on a very complex piece of software to be rewarded, even if it's not sufficiently valuable to me personally to merit using my cash to purchase it ( not always the case - I do purchase software when it passes my value bar ).

Anyway, this is now available. Unfortunately, again there is the simple problem of time moving on. This seems to a pattern for software of this type - someone puts a lot of effort into it, discovers there is little reward or support to be had for their niche product, and it ends up frozen in time. The available version uses Qt4, an ancient GUI framework that is no longer maintained in the standard Ubuntu repositories as of 20.04.

However, to the author's credit, they have provided instructions about how to use alternative repositories to install it on 20.04. The instructions work 🙂. I won't write a comprehensive review of BOUML, but a brief play with it suggests that although the workflow is a little less slick than something like EA, the functionality is there. It's what I'll be trying to use for personal design work for the next few months, so I may be back with more to say.

Non Free UML

1. Visual Paradigm

$99 for personal licence. Probably worth it, but I don't have $99 right now.

2. Star UML

A once - free program that abandoned open source because it didn't pay the bills. Who would have guessed ? Costs $99 now, and again it's probably worth it but I don't have $99. At least there's an 'endless evaluation' that will put a watermark on your diagrams, but that's not something I want.

3. Enterprise Architect

Yay, the granddaddy of modelling tools ( well, maybe beaten only by Rational ROSE ). But it's very expensive for the full fat version, and it's not a native Linux app - apparently you can run it under Wine. Not a practical proposition.

4. Rational Software Architect ( or whatever it's called today )

This is an IBM product, so it's almost impossible to know what it's called today or what it costs, other than 'a lot'. It's yet another Eclipse based tool. Completely useless for non corporate users.

© Mark de Roussier 2021, all rights reserved.