Another program to look at, is Omnigraffle on OS X. There are a few major features that catches my eyes:
- Alignment "helpers". They are "snap-to"-able lines that appear only when they are needed. Assume you have objects A, B, and you are moving A. If A.center.x and B.center.x happen to align (or are close), you see a fine vertical line passing from both centers. The movement snaps to this line when it appears.
Also, there should be shortcut keys for "align to the center of last selected object", and such. Multi-key shortcut keys are most appropriate for this set of verbs.
- A group of an object and a piece of text. The text should not resize when the group is resized. (a similar toggle button to "do not change stroke width when resizing object" should be there, besides the other 4).
- Shadow as an "effect" on an object. This is one is long overdue, because SVG doesn't have a good filter spec IIUC. Something like the text-shadow (or was it just shadow) property in HTML could be incorporated in SVG.
- Connectors and alignments. Ctrl-F2 is good , it just needs to be extended. A few automatic-alignment python plugins can align connected objects according to some policies.
- A library browser facility, but not like the ones that most other programs have provided. I have been successfully using another inkscape window showing e.g. "library-of-$THING.svg". That file contains objects I have drawn earlier about $THING.
In other words, perhaps only a very few extra bits are needed to make a good library facility. What I like to use as a library browser is an inkview window, after inkview is matured, or a Firefox (3.1+) window with some javascript extensions (search ~/.inkscape/library/*.svg, search openclipart.org, etc.)
Gilaras