Last week's review
diagram editors attempted to be comprehensive, but, inevitably, a few were
missed. Here, your editor will attempt to do penance by looking at a few
tools which were passed over last time.
Kivio had actually
been considered for the previous article. Your editor, however, had seen a
tool which, apparently, could only draw lines and text. Thinking that
kivio must be a little too young for a real review, your editor set it
aside and moved on. Kivio users will understand the problem at this point:
your editor missed the little icon
(shown at left)
in the toolbar which loads stencils into the system. Kivio, the main
purpose of which is the creation of flowcharts, is all about stencils. A
large set of stencils is provided with the program; they include the full
library of shapes from Dia, national flags, a map of Belgium, UML symbols, and
"people shapes" including a woman in a bikini. Working with kivio is
really a matter of finding the stencils you like, dragging them onto the
screen, and drawing lines between them.
Strangely, there seems to be no mechanism built into kivio for the
creation and editing of stencils; they all would appear to come from the
outside. Nothing in the menus or online documentation says anything about
how to get stencils into the system. Unless, of course, you want to buy
the proprietary stencil
builder or get some
stencils on a per-seat license from theKompany.com.
Kivio has a number of the features your editor was looking for, including
layers, attachment points, etc. But the simple fact is that kivio is an
awkward and difficult tool to work with. Attributes (colors, line widths,
arrowheads, etc.) must be set individually for every object; there appears
to be no way to get kivio to apply user-specified attributes to new
objects. There is no way to adjust the dimensions of arrowheads (and,
interestingly, the "start arrowhead" appears at the second point of the
connector). Connectors can only be straight lines. Alignment operations
are done via a separate, popup dialog. The "docker" feature, which puts
tools like the layer manager on the edge of the diagram, looks cute, but
the tools are forever popping in and out when the diagram is being edited.
Kivio cannot export to an image file; it is limited to KOffice format or
(via the print operation) PostScript or PDF.
Kivio is a reasonable tool for some simple tasks now, and may well develop
into a capable, general-purpose diagram editor eventually. But it is not
up to your editor's needs at this time.
"sketch") was highly recommended by some LWN commenters. Skencil, in its
stable version, is a Tk-based vector drawing package. This tool is
currently being reworked to use GTK instead, but that version is not yet
ready for release. Skencil has many of the typical drawing functions, and
it supports layers. It does not support attachment points, and it cannot
export to image formats.
Once again, your editor found this tool to be awkward and frustrating to
work with. The interface is highly modal and confusing at times. Changing
the default attributes of objects is hard. The arc-drawing tool is very
confusing to use at the outset (though, once you get the hang of it, it
turns out to be a powerful tool). The alignment operations require dealing
with a separate dialog.
On the other hand, skencil has some slick features, such as the ability to
draw text along an arbitrary path. There is a plugin mechanism allowing
the addition of new features programmed in Python. Skencil also can import
images in a number of formats. It may well be a useful tool for those
engaged in more artistic pursuits; it is not, however, the best diagramming
tool out there.
Finally, your editor took a look at inkscape. As a drawing tool, inkscape has
a nice feature set; it has a reasonable set of drawing options, a full set
of path operations, etc. Perhaps the biggest omission is the lack of
support for layers. For the creation of diagrams, however, inkscape is not
the right tool. There are no attachment points, no arrowheads, and no image
export. Inkscape's priorities are simply elsewhere.
Worth a quick mention: if your main interest is the creation of UML
diagrams, Umbrello may
be worth checking out. It is, however, very much a special-purpose tool,
with UML assumptions wired deeply into it; as such, it's not suitable for
more general purpose diagramming.
To conclude: your editor will stick with dia for now for his cheesy diagram
creation needs. Of all the tools reviewed, dia stands out for its focus on
this particular task, the quality of its output, and its ease of use.
There is a lot of development happening in this area, however; the
situation could well be different next year.
to post comments)