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.

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.

You can draw arrows in both. However….

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.

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.

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….

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.