On Tue, 2008-04-29 at 17:11 -0400, Jason Cipriani wrote:
> An alternative approach to having a new tool is to just add something
> to the menu like "draw border around selection", which just automates
> the current select + fill + shrink + (cut or fill) process.
Adding a menu item is just a matter of scripting the function in one of
the supported languages or writing a C plugin.
> That would
> also get the job done. Adding a button to the tool palette
This turns out to be harder than it sounds. See below.
> to show
> whatever dialog is associated with this, and a keystroke to repeat the
> last settings, would cover just about everything and wouldn't require
> any major UI changes -- it just uses the existing selection
> functionality and automates a really common task.
My problem with this is that while drawing borders may be a very common
task for you, there are many users for which it is never (or nearly
never) used. So adding a button for this task to the Toolbox falls into
my definition of feature creep. At what point do you decide a button
for one person should *not* be added because someone else doesn't use
it. If you don't make such decisions, you end up with far more UI
components than the average person actually needs. I believe MS Word
was the major culprit of this effect at one time though it's been years
since I've used Word so maybe they've fixed that.
Looking at Evolution's editor as I type this I can spot 11 icons (out of
14) in the toolbar that I never use. Never. Still, I use their
functionality by utilizing keyboard accelerators and menus. So should
there be icons? Not for me - they're meaningless. It's pretty much
wasted space. Does that make them useless? Not to everyone.
Anyway, in UI design there is a fine line between usefulness and
meaningfulness. GIMP originally provided a plugin API (and later
scripting APIs) so that users could easily automate their own set of
"common tasks". The next step is finding a way to integrate these user
defined tasks in to the UI (other than as menu items, and specically in
the toolbox or some dialog similar to it) so that the end user defines
the meaningfulness of the components on display.
There was a plugin at one time that attempted to do just this, but I
don't think it was maintained for the 2.4 release. At least I haven't
heard of it recently. I haven't heard if 2.6 is scheduled to allow
plugins to insert themselves into the toolbox. It would certainly be a
nice feature to consider. But such a feature would undoubtedly require
preferences configurations for setting which plugins/filters/etc end up
in the toolbox based on user choice, along with changes to the
plugin/scripting APIs to designate icons for use in the Toolbox. Lots
of things have to be considered to get this done right.
So, your request sounds simple enough but turns out to be really hard to
do in a way that is both meaningful and useful to all users. Part of
the reason is technical (how do you implement the general case of adding
a new button to the Toolbox for anyone who needs a really simple "new"
tool?) and part is political (why do you get your common tool but
photographers don't get a "redeye removal" tool? Which leads back to the
technical problem of implementing a general case solution.)
In summary: implementing "a" solution is much easier than implementing
the "right" solution.
Michael J. Hammel Principal Software Engineer
[EMAIL PROTECTED] http://graphics-muse.org
You're life can be a wonderous journey, if you don't spend all your time
trying to drag someone else through it with you. - Michael J. Hammel
Gimp-user mailing list