#4908 HIGH FutureF: Basic Sugar UI primitive is bizarre: hover, then move, then click

Zarro Boogs per Child bugtracker at laptop.org
Wed Nov 14 10:44:41 EST 2007


#4908: Basic Sugar UI primitive is bizarre:  hover, then move, then click
-------------------------------+--------------------------------------------
  Reporter:  gnu               |       Owner:  Eben          
      Type:  defect            |      Status:  new           
  Priority:  high              |   Milestone:  FutureFeatures
 Component:  interface-design  |     Version:  Build 623     
Resolution:                    |    Keywords:                
  Verified:  0                 |  
-------------------------------+--------------------------------------------

Comment(by Eben):

 Replying to [ticket:4908 gnu]:
 > Sugar only has two ways of letting the user do something:  clicking
 directly on a visible object; or something much more bizarre and unusual.
 You move the mouse to the object, but don't click on it.  Hover there.
 Eventually, Sugar will pop up a menu of some sort (even though you didn't
 click anything).  Sometimes it comes up in several pieces (e.g. first a
 name, then a fraction of a second later, some menu items).  Now you can
 move the mouse onto that menu and click one of the popped-up things.

 > I wondered why I was having trouble with this UI.  It's because nobody
 else ever does anything like this.  "Tooltips" pop up from hovering, but
 you can never click on them; they're informational only, and disappear
 when your mouse moves.  Everything else on every other UI I've used
 requires that you click on something before a menu will come up.  (Linux
 uses right-clicks; Mac uses ctrl-click; etc.)  You're free to move the
 mouse to anywhere on the screen, and bad things won't happen.  Nothing
 will pop up and obscure the thing under it that you were about to click,
 for example.  (If a tooltip obscures something, it doesn't matter much,
 since the click will go right through it.)
 >
 > E.g. you have the Journal and another activity running in the donut.
 Your cursor is on the left side of the screen and you're slow at moving on
 the touchpad.  (Or maybe the touchpad is jumpy and so you're moving very
 deliberately.)  You want to resume the Journal, but as your mouse heads
 toward the Journal, it crosses the other activity.  Your mouse ends up
 stopping over the Journal, but meanwhile, the other activity's pop-up has
 obscured it, and will no longer let you click on what you just aimed for.
 If you were a faster expert at using a touchpad, you wouldn't have this
 trouble -- but not every kid is.  You end up having to move the mouse OFF
 the Journal, so the menu will pop down; but depending where you move it
 to, you could end up with a different menu popping up before you can get
 back to the Journal icon that you want to click.

 This is a new concept.  It combines the idea of tooltips with contextual
 menus, with the core idea being that both of these are contextual
 information of varying granularity.  While navigating the UI, I can pause
 briefly to find out what something is, and pause for a longer period of
 time to find out mode about what I can do with it.  This was, actually,
 carefully considered because we wanted everything in the UI to be
 discoverable.  Granted, one could take that too far, and as you mention,
 this can occasionally get in the way, especially in the current
 incarnation.

 The first reason this is so is very high on the list of fixes to the
 contextual palette interactions, and that is that these palettes currently
 appear based solely on a time delay, and not at all based upon mouse
 speed.  That is, they really shouldn't appear unless the mouse is
 sufficiently still over a particular item, such that the palettes never
 pop up as you're attempting to travel across the screen to another item,
 regardless of how quickly one can control the cursor.

 A second set of rules that isn't currently implemented is the clicking
 behavior.  As you mention, usually contextual menus appear on click (often
 of the right variety).  Our system aims to function in precisely the same
 manner, with the hover interaction being a secondary means of performing
 this action that doesn't depend on the user knowing what "right-click" is.
 Anywhere you can hover to invoke on of these menus, you should also be
 able to right click to immediately invoke the full contextual palette.
 When it is invoked with a click, it will be dismissed in precisely the
 same way: with a selection from the menu, with a click outside, or with
 the escape key.  All the common behaviors you expect with normal
 contextual menus will hold true for this UI element.

 > This pop-up interference tends to happen a lot on crowded Mesh View
 screens too.

 The third problem here is "scrubbing", which is a technique that
 immediately reveals palettes for new items you mouse over when the item
 you left already had a palette revealed.  This is enormously useful when
 looking through palettes in toolbars or the frame, for instance, since you
 can quickly take in the various options.  Of course, this breaks down in
 view like the mesh, where the mouse has nowhere to "land", and the
 palettes can get in the way.  For this reason, we've decided to reduce
 this effect in such views, either by eliminating scrubbing, or by always
 scrubbing the "tooltip" portion but not the entire contextual palette.

 > This form of pop-up seems like one of those random Sugar UI decisions
 that was made without much thought.  But gradually, everything in the UI
 is starting to get these pop-up menus, which make it a pervasive
 bizarreness in the interface.

 As you can see, much thought was indeed put into this.  Clearly this is a
 new type of UI that requires adequate testing and tweaking to get right,
 and at present the full specification isn't even implemented so we can
 really do proper testing.  The current state has informed us about a
 number of interactions, but we're trying to explore other possibilities
 and adapt the ideas instead of throwing them out simply because they
 haven't been done before.

 > PS:  Touchscreens, like what Gen 2 is currently presumed to have, are
 really terrible at "hovering" without "clicking".

 Touchscreens weren't even on the table when this interface was being
 designed.  Obviously the UI might require some re-thinking should they
 appear, but I don't see this as a problem.  A tap could always act as a
 "right click" on such items, so that the actions one can take are
 presented.  Tap one: what do I want to act upon?; tap two: how do I want
 to act upon it?

-- 
Ticket URL: <http://dev.laptop.org/ticket/4908#comment:3>
One Laptop Per Child <http://dev.laptop.org>
OLPC bug tracking system



More information about the Bugs mailing list