Posted on

My personal quest for a UML diagramming tool

Guest post by A. Cranky, Old Man

tl;dr – I’m using Visual Paradigm.

When I needed a way to create a reasonably good-looking sequence diagram for a recent engagement, I was suprised to discover more than 80 diagramming tools on the market. Given such a large pool of candidates, I expected to find several good ones, and I embarked on my quest in hight spirits.

You’d think at my age I would know better.

I’m sure the issues with these tools can be resolved given a little patience and effort. After all, each of them has a satisfied user base out there somewhere.

However, my task at the moment was not to debug someone else’s installer or to chase down undocumented dependencies one by one hoping to get a product to start up, and I’m not interested in fighting with a user interface that makes producing a diagram so difficult it takes 50 times as long as it would have taken to spray paint it on the window of a subway car.

So if you feel inclined to respond to a comment about an issue with a statement like, “But I use this tool all the time, and it works great!” then let me take this opportunity to congratulate you before returning to reality.

The nature of the issues I encountered can be generalized as follows:

(1) The documentation, integrated help, and/or information on the website is incomplete, out of date, or poorly written, with the result that I could not see what to do with the product within a few seconds of reading. Ideally, no documentation would be necessary; products would install in an unsurprising way for each supported platform, and work intuitively for someone who is familiar with UML diagrams. In my humble, it shouldn’t be necessary to make a circle of candles on the floor and chant magic words in a dead language to summon a diagram.

(2) The product does not “just work.” You have to fart around with the installation, search for and install dependencies separately, and/or examine error logs to figure out why it will not run. Although I am qualified to do that kind of work, I am not looking for a diagramming tool because I’m keen to debug it. I’m looking for a diagramming tool because I need to draw a diagram. This seems to be a use case that didn’t occur to the developers of most of these tools. Software should be tested and packaged properly. There are fairly standard installers for Microsoft Windows and Apple OS X, and every flavor of Unix and Linux has a default package manager. Use them.

(3) The product is too “fancy.” It has multiple modes or styles or approaches to diagramming, and/or it assumes you intend to do a large-scale system design every time you open the tool, and makes it hard simply to draw a single diagram quickly. In some cases, I never even found the type of diagram I wanted to create amidst the numerous menus and appearing/disappearing palettes and what-not.

(4) The user interface is flakey and/or hard to use. You have to spend so much time fighting with the UI that it takes an hour to create a diagram that should have required three or four minutes to produce. I especially hated Creately, Lucidchart, UMLet, and Whitestar for this reason, but almost every product has this issue to an extent.

Here’s an alphabetical list of the products I tried. This is not a comprehensive list of UML diagramming tools. I didn’t try every available product. I stopped searching as soon as I found one that seemed usable.

Adobe Express

This is touted to be one of the best UML diagramming tools available. I was unable to locate an option to create any kind of UML diagram.

ArgoUML

Does not start.

Astah

Requires entry of personal information before the user has a chance to try the product. That’s a non-starter.

Cacoo

I was unable to figure out what to do based on information provided on the site.

Creately

The user interface does not work. Often, an element does not “stick” to the canvas. When deleting an element, one often must delete it several times before it goes away (strangely, it’s not always the same number of times). Lines do not stay where you put them. Pure frustration with no added sweetener.

EdrawMax

The installer appears to do nothing at all. No error messages, no spash screen, and no apparent result.

Gliffy

Appears to require a Confluence license and/or other Atlassian tools. I don’t want to install a whole raft of other tools or “sign up” for a bunch of services I don’t need just so I can draw a diagram. There’s no need for every tool to be fully integrated with “your team’s collaborative workflow.” Sometimes you just need a screwdriver for a minute. You don’t need the whole hardware store.

JetUML

Packaging is crude and installation is a hassle. I abandoned it after wasting several precious, irreplaceable minutes of my life trying to get it to run.

Lucidchart

Clumsy to use. Difficult to move endpoints and lines; the tool modifies the shape of the line instead of just moving it where you drag it. If you need to move an element, it’s much quicker to delete it and re-create it than to move it (and every time you do so, frustration mounts). End result looks crude; not visually appealing.

Papyrus

Does not start. Different problems on OS X and Windows, but the bottom line is it does not start. Can’t find this class, can’t find that class, not enough cache space, blah blah blah, not my problem, goodbye. And get off my lawn.

PlantUML

Can create an image file based on formatted text input. It works but the process is pretty tedious. It is unclear how to make practical use of the tool.

UMLet

User interface is unusable. Elements disappear under the cursor when you hover; if you can grab an element to drag it, it often disappears before you can drop it. Elements placed on the canvas appear to be uneditable; at least, I was unable to figure out how.

Visual Paradigm Community Edition

Conventional Mac installer, no surprises, no failures. After using the tool for a few minutes, my impression was that it “understands” the elements of each diagram type. Unlike any other tool I tried, it seems to “know” what is meant by a line one draws in a particular context. Other tools just draw plain lines, and don’t seem to “know” what a line means in the context of any given diagram type. The UI “feels” solid – things don’t just disappear or fail to stick or fail to delete or slide around on the canvas. Will continue to work with this tool for a while and see how it goes.

Whitestar UML

Windows only, but at least the installer works and the product starts. The UI looks clean. I was unable to create a sequence diagram with this tool. The help says to click “Toolbox” and then “Sequence,” but there is no “Sequence” option. I tried working with another diagram type to see how the tool feels, and was disappointed. I was unable to draw a connector between two objects. The tool complains, “Connect objects exactly,” and never connects objects. Perhaps it is a kind of psychological experiment, to see how long people will keep trying to connect objects “exactly.”

yEd

Online comments are positive and the site looks nice. It appears to be an SDK only. I was never able to find any downloads or helpful instructions. Maybe it’s useful for people who need to embed drawing capabilities into other products. Just a guess. It’s hard to tell, really.