Dia - Diagramming Software

I was in need of a piece of diagramming software: I figured there had to be such a thing available as open source, and indeed there is. Dia appears to be both well equipped and straight forward to use. Installation on Linux (where it originated(?)) is as simple as apt-get install dia. Installation on Mac involves one slight twist on the standard process of downloading and opening a DMG file: once I'd done that and tried to start the application, it complained that it needed XQuartz and sent me to their website to install that as well (it's an X11 interface). Once that was done, the application worked fine.

One mildly unpleasant gotcha on the Mac is that - presumably because of its Linux origins and/or the use of XQuartz - you'll need to use Ctrl-C, Ctrl-V and Ctrl-X instead of Command-C, Command-V and Command-X - in this application only.

Dia in use

I found most features to be intuitive (hallelujah!). In the left column are your objects which you click to select, then click to place in the diagram panel. The more tool-like objects are in the top portion of the left column (selector tool, text, movement tool, lines), the project-specific objects in the lower portion. You can select object types from a drop-down: the default is "Assorted," but this can be changed to "Flowchart," "UML," "Network," and many others (evidently you can download even more).

There were a couple non-obvious things that I had to look up. The first was adding text to objects: once you've placed an object (while it's still selected), hit "Enter" to start typing a label for it ("Esc" when you're done). Some objects don't seem to have this feature, so you can use the "Text" object to add a label anywhere on the diagram and then associate that label with the object. The next thing I needed to find out about was associating objects, and/or combining multiple objects into a single object. This is done by using the selector tool to draw a box fully around the objects, then going to the Objects menu. You could immediately select the "Group" command, but I generally do "Objects" -> "Align" -> "Left|Center|Right|Stacked|Adjacent" first, then "Group".

The only remaining thing that was a problem (but which I figured out on my own as it's reasonably intuitive) was some stuff associated with printing. The "Print Preview" on Mac isn't optimal: it's under "File" -> "Print", but if you press it it a) starts an external application to preview a PDF (at least on a Mac), and B) vanishes the option to print so you have to go to "File" -> "Print" again. This is a minor detail though: it works fine and only requires a couple more button presses. But the default view is for A4 paper (the maintainer is German?) and more or less "normal-sized" work will try to print on about 12 pages. For me, the fix was to go into File -> "Page Setup..." where I changed "Paper Size" to "Letter" and Orientation to "Landscape" (depends on what kind of diagram you're doing) and then changed "Scaling" -> "Scale" from "100" to "30". If you look closely at your diagram drawing area, you'll find some heavier blue lines that outline the pages you'll be printing: this is a good time to colour inside the lines. Please note that these changes aren't set as the defaults - do that under "File" -> "Preferences" (although I haven't sorted out Scaling).

It's great to find that when you need a new type of program (I haven't really used diagramming software before) that the Open Source community has been there before you and done a great job. I was very happy about this.