On Fri, 2005-07-29 at 01:10 +0100, Ben Fowler wrote:
(Aside) I wouldn't know what Vacuum meant in this context. The term was once used in the Postgresql project. Something like 'Delete/Clear/Clean up unused/unneeded colours/styles/definitions/...' would be better. Perhaps not as a menu item, but an option in a 'Save As' or 'Export' dialog.
To summarize the prior discussions about this:
The main reason we've not done that is that there's no precise way to determine "unused/unneeded" in SVG, especially because of the potential for (intentional) external references.
We use a very conservative heuristic, but heuristics are by definition imperfect. Right at save time would be the worst possible time for such a deletion heuristic to fail.
If we only prune library objects in response to explicit requests by the user, they at least have an opportunity to check and undo if something got nuked that they wanted to keep.
Library/defs management needs a less opaque UI anyway (i.e. more than just the XML editor -- something at least as good as Flash's library palette). Once we have that we'll have somewhere else we can move "Vaccuum Defs", where its effect can be apparent and sensible. Visible context may inspire a better name too.
Are we likely to identify 'user stories' - cases where users have had difficulty performing tasks owing to some feature of the design? In the present case, are people pulling down the Edit menu expecting to find 5 or 6 items, actually seeing over 20 and running away - saying that Inkscape isn't ready yet ...
I don't know ...
Researching and collecting user stories is an important part of usability work. We should certainly do more of it than we have been doing.
-mental