On 10/12/06, Philip Ganchev <[EMAIL PROTECTED]> wrote:

I have a suggestion for a new and simple way to interact with GIMP.

A major difficulty in using GIMP, in my experience, is that the menus
are too many and too deep.  To invoke an action on an image, or to
open a dialog box, the user spends a lot of time and concentration
navigating the menus, usually with the mouse.  And, despite best
efforts to organize the menus, finding the right item for the
operation you want can be difficult.

A more efficient alternative would be to let the user try to express
his intention more freely, and show him a menu of options that might
be what he wants.  This is in effect search for the right command, and
the user sees the list of options *as he types*.  A command is any
conventional menu item or folder in the current menu hierarchy.

A query matches substrings of names or descriptions of commands.  The
names and descriptions of matching commands appear in a drop down box
underneath the query box.  The user can hit Enter to select the first
entry, or use the arrow keys to select another entry, then press
Enter.  Thus the selection of actions and menus shrinks as the user
types.  If a query contains multiple words, they are matched as a
conjunction (not as a string).

For example. if the user types "size", he sees the options "Scale
image - resize the image", "Set canvas size", and "Print size".
Selecting the first option invokes resize mode, as if the item "Image
/ Scale image" had been selected from the conventional menu.

I really like this kind of interface. Consider this, though:

it doesn't map directly to normal menus. For example, there are layer->transform menus and image->transform menus, both of which contain identically-named entries. It's more like function-name completion; in that case, no ambiguity exists because only one function of the same name can ever be apparent. How do you make it convenient to choose either rotate the layer 90degrees or rotate the image 90degrees? I reckon that might require the addition of a separate string to use for completion instead of menu name.

It's possible that the menu registration code could address this (generating unique completable command names); in that case you'd need to avoid the possibility of newly added menu items causing the existing completion behaviour to change (ie. where you type the same sequence but now get a different and likely wrong result.)

The search can be invoked with a key combination like Control+F
perhaps just by typing?). 

If this was implemented, I'd expect it to replace the menus, so personally I would expect to just hit the Menu key and start typing. Ctrl-F is quite unwieldy  (if the function is going to be commonly used, a single key trigger is highly desireable)

What do you mean by just typing? clearly you cannot just type when the completion is not yet active -- that would conflict with keyboard shortcuts. And if

 I am not sure if the query box should be
visible all the time, or appear when the keys are pressed and
dissapear when the command is executed.

Personally I'd like it to show in place of the current statusbar message (sort of like an inverted browser URL field).
In a program as big as the gimp, eliminating unnecessary widgets is important; so i suggest that probably such a thing would work best with a temporarily visible query box
The third option you presented, "appear when the keys are pressed and
dissapear when the command is executed." == modality, which tends to be confusing and should be avoided if possible

If it is the latter, it can replace the menu bar, to save window

It can, maybe.. personally I don't have a menu bar, but I do have a status bar. I expect there will be some who have a menu bar, but not a status bar. It warrants some thought.

space.  The the list should not obscure too much of the image.  So,
the size of the results box should be constrained, and a scrollbar
should appear if needed.

The history of executed commands (and their descriptions) appears in
reverse order the results box, if the user clicks on or presses the
Down arrow key in an empty query box.

sounds okay.

Gimp-developer mailing list

Reply via email to