Why must diagram editors suck?

I swear, I’m this close to just writing my own.

My needs from a diagram editor can’t possibly be unusual. They’re so simple, it’s a wonder that none of the ones I’ve tried seem to satisfy them. All I want do is:

  1. I want the program to be easy to use.
  2. I want to make a diagram with a bunch of text labels, possibly each enclosed in a box.
  3. I want arrows pointing between them.
  4. I want to be able to drag the boxes around and have the arrows move accordingly.
  5. I want the diagram to be big.
  6. I want to export the diagram as an EPS file so I can include it into a LaTeX document.
  7. I want the program not to behave randomly.

I’ve tried Dia and OpenOffice.org’s Draw. Both of them are exercises in frustration, each in their own separate way.

  1. OpenOffice comes from the Gimp school of user interface design: bombard the user with thousands of commands, none of which have anything to do with the simple tasks the user most likely wants to do.
  2. In both programs, I need to draw a box and a text label separately, then group them. OpenOffice at least lets me add a text label to the inside of an existing box, which makes this a bit easier. In Dia, I have to draw two entirely separate shapes, position one inside the other just so (since it’s center-objects-vertically doesn’t work quite right in this case), and then group.
  3. You can draw arrows in both. However….
  4. OpenOffice doesn’t let you attack either end of an arrow to a box. This means that if you move the box, the arrow doesn’t move with it. Dia at least gets this right. This is essential if you have, for the sake of argument, a diagram with 24 different boxes and lots of arrows, and you want to arrange them so you don’t have arrows passing through boxes.
  5. OpenOffice insists that I want this to fit all on one printer page. Let me draw now, thanks, and worry about the overall size later. Dia to its credit does supply an infinite canvas.
  6. I think OpenOffice lets you do this; the above point made me give up on it pretty quickly (though I know its presentation tool lets you do this). Dia does, but….
  7. Most of Dia’s behavior seems to be determined by either annoying interface bugs or a random number generator. Stuff you’ve drawn gets “smudged” all the time, or moved objects aren’t entirely erased until you drag something across it again. Paste an object and it’ll be selected on the canvas, but none of the menu items that operate on the selected item seem to realize that; you need to deselect it and then reselect it. Sometimes Dia doesn’t scale text when you zoom in or out, and it doesn’t even screw up reliably. (For example, zoom out and some text will remain normal size while the rest of the diagram shrinks. Zoom back in and some other text will remain tiny.) This even happens when exporting to EPS; when I tried, one of my text labels was way too small, and the only “fix” was to delete it and recreate it. The end result is that you can never trust Dia to do anything; you always have to check and re-check to make sure it’s not breaking things behind your back.

The end result is that using these tools ends up being a chore at best, and infuriating at worst.

Is there a diagram editor for Linux that doesn’t suck?

3 Responses

  1. Have you tried OmniGraffle? It’s quite nice.

  2. Ah, but I don’t have a machine running OS X laying around.

  3. The implication was supposed to be obvious.

Comments are closed.