The dia application
There are essentially three kinds of graphics-creation applications: painting
packages, where the end result is a bitmap produced as a JPEG or PNG file;
vector-graphics packages, where the end result is in a scalable-graphics format
- Postscript, PDF or SVG; and diagram packages, where the end result is a
design.
If you drew two boxes connected with an arrow in a painting program, and decided
that the boxes were in the wrong place, you would have to redraw them; the
program is unaware of the boxes as anything other than collections of pixels.
In a vector- graphics program, the program is aware of the boxes as objects, so
you could move the boxes and the arrow, but you would have to move the arrow
separately to arrange that it continues to connect the boxes. In a diagram
package, the internal representation of the arrow knows that it's supposed to
connect the boxes, so if you move a box, the arrow continues to connect them.
dia is a diagram package from the GNOME project, available for Unix and,
perhaps unexpectedly, for Windows: I use dia-0.90 under WinXP. On the
whole, I rather like it: unlike the impotent rants you see about Microsoft
products, I expect all my comments here to be redundant by three minor versions
from now. I'm not sure how practical it is to hack on dia under WinXP: I don't
have very good network access, and am rather afraid of encountering a nightmare
of required dependencies.
Things I don't like about dia-0.90
-
I would expect the property panel to reflect the properties of the currently-selected
object or objects, so, if I
double-click an object A (to select it and bring up the property panel) and set
its background colour to blue, then single-click on a presently-green object B
and set the background colour in the panel to purple, the result is to paint A
purple, and I don't ever see the green colour of B reflected in the panel.
- I'd
also much prefer changes in the panel to be reflected instantly in the drawing:
I've always got ctrl-Z to press to undo a change I decide I didn't want to
apply.
-
Similarly, if I select three objects and set line-width to 0.3, I expect the
line width to change for all three objects.
-
I'm not keen on the distinction between "save" and "export"; I think of the
action as "save this drawing as a PNG file", rather than as "export a PNG file,
from this drawing". "export" subsumes "save", and all "save" appears to do is
avoid one drop-down 'type' box in the file-saving dialogue.
-
There doesn't seem to be a good way of defining standard colours. In producing
the diagram here, I wanted to set background
colours for 84 separate boxes: as far as I can tell, I had to set RGB values
each time, rather than clicking on a swatch of red or yellow. I ended up
drawing one red, one yellow and one green box, and copy-and-pasting them.
-
When I press ctrl-V to paste an item, it appears at a fairly random location in
the diagram (relative to the top left-hand corner of the view window), and I have
to move over, pick it up, and drag it to where I want
it. I'd find it easier if it appeared centred on the current cursor position,
so I could immediately pick it up and move it. Moreover, the fairly random
location isn't grid-aligned even if "snap to grid" is on, so if I inadvertently
drag a control point the object is resized to a random, non-grid-aligned size.
-
The 'delete' key appears to do nothing; I'd expect it to do what ctrl-D does,
which is delete the current selection. Similarly, control-clicking replaces the
current selection and shift-clicking adds the object clicked on to it, which is
what I would have expected control-clicking to do.