Distinguishing simple and double clicks

David Bovill david at vaudevillecourt.tv
Tue Sep 23 16:04:04 EDT 2008


Thanks for the post Richard - got me thinking about how common using double
click is, and essentially it is not that common with applications that fit
the noun verb metaphor, but becomes more common in situations where you are
navigating information structures with a default browsing / information
display mode and a secondary action mode. Like you I base this on how the
Finder works.

In the tree - hierarchical presentation mode of the Finder a single click
displays the contents of the folder in the adjacent pane, or the info about
the file if it is not a folder. A double click opens the file or program.
The most common use I have mimicks this behaviour. For instance an interface
with a list / tree control that displays the contents in an info pane, and
where a double click performs the same function of opening the file (as a
short cut).

2008/9/23 Richard Gaskin <ambassador at fourthworld.com>

> Eric Chatonet wrote:
>
>> I just want to make something that was easy with HC: e.g. allow the
>> user to use simple and double clicks on the same button but with
>> different actions.
>> MouseUp is always sent by the engine first then mouseDoubleUp is sent
>> if appropriate.
>>
>
> Is that not how HyperCard works?
>
> If HC sends only one message or the other, then it must be adding a
> delay to the mouseUp before firing its mouseUp message in order to be able
> to distinguish it from mouseDoubleUp.  :\
>
>
> As for the task itself, your handlers look good for what you want to do so
> I'd go with those, but the question has me curious:  What is it you're
> working on?
>
> I ask because when I read David Bovill's comment that this is a common
> task, at first glance I thought so too but after thinking about it some more
> I wonder if there's a subtle distinction at play here between common and
> less common use of those two messages in a single control.
>
> --
> A little background for those who may not have considered the abstraction
> of the "noun-verb" interaction model:
>
> Most modern GUIs employ a noun-verb model, in which a noun object is
> selected and then a verb object is selected which operates on that noun.
>
> For example, when you select text you're specifying the "noun", and then
> choosing "Bold" from the Style menu selects a "verb" (command) to operate on
> that noun.
>
> The double-click gesture is commonly used as a shortcut to selecting a
> verb, and is generally handled in a noun object  (see <
> http://developer.apple.com/documentation/UserExperience/Conceptual/AppleHIGuidelines/XHIGUserInput/chapter_12_section_2.html#//apple_ref/doc/uid/TP30000361-TPXREF8
> >).
>
> For example, in the Mac's Finder or Windows' Explorer, you can select an
> icon (the noun) and then select File->Open (the verb), or as a shortcut you
> can double-click the noun object to trigger that most common verb.
>
> We also see this in list controls, where I tend to use mouseDoubleUp most
> frequently, to trigger a default button.
>
> For example, suppose you have a list picker dialog with three controls:
>  list field, "OK" button (default) and "Cancel" button.   The explicit way
> of working with the dialog is to select the item in the list (the noun) then
> click "OK" (the verb), but it's common in many dialogs which have a default
> button to trigger that default button when the user double-clicks in the
> list as a shortcut.
>
> In such selector controls I often have a mouseUp handler, but since it's in
> a noun object it usually just updates the current view to reflect the
> selection, rather than perform an action.
>
> So while I can think of many examples of noun objects that use double
> clicks as a short cut for selecting a verb object, offhand I can't think of
> an example where a verb object handles double-clicks.
> --
>
> From your description it almost sounds like the control in question is
> a verb object such as a command button, rather than a noun object such as
> an icon or list item.   Do I understand that correctly?
>
> If so, what is it about the interaction that requires that?
>
> Or to word it in a more solutions-oriented way, might a change to the UI
>  make for an interaction model which maintains the traditional noun-verb
> expectation?
>
> While not every difference between HC and Rev favors Rev, this is one where
> perhaps Dr. Raney's doctorate in cognitive psychology may have shown itself
> well:  while HyperCard eats clicks on double-click (and presumably
> introduces a delay to make that possible), Rev gives the developer the
> freedom to handle them both, confident that in most cases it'll be fine
> since it conforms to the most common interaction model.
>
> Am I wearing rose-colored glasses on this?  Are there common examples of
> verb objects handling double-clicks that I've overlooked?  (Sometimes good
> coffee breeds unwarranted optimism <g>.)
>
> --
>  Richard Gaskin
>  Managing Editor, revJournal
>  _______________________________________________________
>  Rev tips, tutorials and more: http://www.revJournal.com
>
>
> _______________________________________________
> use-revolution mailing list
> use-revolution at lists.runrev.com
> Please visit this url to subscribe, unsubscribe and manage your
> subscription preferences:
> http://lists.runrev.com/mailman/listinfo/use-revolution
>



More information about the use-livecode mailing list