Re: [Usability] Selection buttons



> > What about adding some GIMP-like toolbar buttons representing the
> > selection mode? These would be mutually exclusive: "add to
selection",
> > "replace selection", "subtract from selection".
> >
> Heh, that's a very clever idea IMHO :)  I hope it gets taken
seriously.
> Maybe you could eventually make a mockup using Glade or something,
> people could get a slightly better idea about what you're saying.

That would introduce a state into the application and the user will now
have a new problem, how to get out of that state. This kind of behaviour
(function oriented user interfaces) is considered bad among those people
who prefer object oriented metaphors (object oriented user interfaces).

Other people tend to believe that such behaviour is quite natural as you
would pick up tools before you use them. Somehow this is central to
being a human, we pick up tools.. ;)

It should be possible to make user interfaces with a duality, you can
use objects and methods related to those objects (select a file and then
destroy it) but you can also pick up tools and do actions on a object
(pick up a destructor and dump it on a file).

In many applications one or the other would be preferred by most people.
That does not imply that you should dismiss the other, or that you can
program a user interface without the other one at all.

In an application I once programmed we tried very hard to get around
this and make everything into objects. Especially selection strategies
were extremely hard to code as methods. Some of the reasons we believe
were that a selection method is a global method for the objects, and
global methods don't belong at the instance level in that application.
It could very well be that this could be right in some other
application.

When we reformulated those pesty global methods as tools (like the
palette in gimp) things turns out quite easy. The selection object would
then have a limited set of attributes which changed it to stick to
specific objects and with a swat size to control which objects became
selected.

John



[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]