Review Request: Fancy-schmancy Kickoff layout tricks for dissident panel placements

Celeste Lyn Paul celeste at kde.org
Tue Feb 26 22:37:57 CET 2008



> On 2008-02-26 10:45:22, Aaron Seigo wrote:
> > /trunk/KDE/kdebase/workspace/plasma/applets/kickoff/ui/launcher.cpp, line 90
> > <http://mattr.info/r/224/diff/1/#file654line90>
> >
> >     is it worth changing the button order depending on whether it's on the left or right side? this seems to me like it would be somewhat destroy muscle memory usage.
> >     
> >     i do agree with the vertical tabs and swapping the tabs/search though.
> 
> Will Stephenson wrote:
>     I think the button order is less surprising to a user changing their launcher/panel location than the switch to vertical tabs, but I think that both concerns can be assuaged by 
>     1) moving the launcher in any case affects muscle memory because that changes the relative position of the launcher to the icon 
>     2) the tab order doesn't change once you have the launcher+panel where you want them, you don't move them again
>     3) peoples' nervous systems are allegedly good at automagically mirroring actions, so the change may feel intuitive ("i move the mouse to the corner of the screen to activate the menu, then in the opposite direction to the item i want" still holds).  But I'm on shaky ground with that statement.
>     
>     Oh, and as a long term rightedge+northeast user on KDE 3, I assert that having the leave tab always closest to the mouse on popup is genuinely tiresome.
> 
> Celeste Lyn Paul wrote:
>     The menu tab options are ordered in order of importance so it makes sense for the Leave button to always be the "last" option, either left to right or top to bottom ordering. 
>     
>     Are the top-right bottom-right modes more common in right-to-left languages (I can't really see it being a preference for left-to-right language users)?  The inverse organization would might make sense in that case (because order of importance for those languages are right-to-left instead of left-to-right anyway).  This would probably need to be reviewed by i18n.
> 
> Will Stephenson wrote:
>     Celeste, could you clarify the first sentence?  By "last" in inverted commas did you mean last according to language scan direction, or last according to pointer movement relative to origin? 
>     
>     My experience is that in a northeast/southeast (top-right/bottom-right in your terms) mode, even in a LTR locale, you track the pointer while performing the action of moving the pointer right-to-left from the origin, reversing the natural language scan direction.  I can't prove it without an eye tracker of course.
>

"Last" option for text scanning, so in left-to-right languages that would be the right-most entry.  

I'm really not concerned with pointer movement or placement, especially since the interaction isn't constant (there are other ways to activate the menu such as alt+f1) and user's behavior with the mouse varies (some move the mouse out of the way before they make a selection, some don't move the mouse until they make a selection, some read with the mouse as a way of scanning to make a selection). Also, the menu is a support system, an avenue to get to doing work, not to doing work itself.  The "savings" is negligible and IMO not worth the cost of a better design.

(From the mailing list) "Mis-tab-switches are annoying, but less annoying than always having to go over the less important tabs to get where you want to be.  In the scenarios where you have reversed order (5,6,7,8 according to the comment at the top of 
setLauncherOrigin()) your search algorithm goes from O(1) to O(N)."

(^ Yet another argument for click-tabs by default.)  It's one thing if by through our arguments we reach a consensus and decide to do alternate ordering of the tabs, but I don't want to see us making a bad design decision to fix a design problem somewhere else in the interface (what I call "band-aids").


- Celeste Lyn


-----------------------------------------------------------
This is an automatically generated e-mail. To reply, visit:
http://mattr.info/r/224/#review201
-----------------------------------------------------------


On 2008-02-26 05:00:51, Will Stephenson wrote:
> 
> -----------------------------------------------------------
> This is an automatically generated e-mail. To reply, visit:
> http://mattr.info/r/224/
> -----------------------------------------------------------
> 
> (Updated 2008-02-26 05:00:51)
> 
> 
> Review request for Plasma.
> 
> 
> Summary
> -------
> 
> KDE 3 Kickoff amends its layout according to the direction the popup is appearing relative to the launcher button.  This patch adds this to KDE 4 kickoff and extends this behaviour to improve the ergonomics of kickoff when its launcher is not in the standard position.  This was a TODOs for KDE 3 kickoff that never got done.
> 
> from Launcher::setLauncherOrigin(): (ui/launcher.cpp)
> 
> Determines optimum layout according to Fitt's Law: (isn't invoking Fitt's law turning into a special case of Godwin's law for usability applications?)
> 
> Assumption 1: The hardcoded tab order defines a desirable priority order
> Goal 1: TabBar alignment is perpendicular to direction of mouse travel from launcher to target, to prevent mousing over non-target tabs and potential unnecessary tab switches
> Goal 2 the movie: Tabs are ordered by decreasing priority along the mouse travel vector away from the launcher
> Constraint: The search widget is different to the tabs and the footer is of lowest priority so these should always be situated furthest away from the origin
> 
> This gives vertical tabs when Kickoff is used in a vertical panel, and it reorders the tabs so the Favourites tab is always closest to the launcher, etc.
> 
> NB I haven't hacked the paint code to draw the tabs in non-South layouts yet, I suck at painting and maybe someone else who doesn't would be able to write this elegantly.
> 
> 
> Diffs
> -----
> 
>   /trunk/KDE/kdebase/workspace/plasma/applets/kickoff/applet/applet.cpp
>   /trunk/KDE/kdebase/workspace/plasma/applets/kickoff/ui/launcher.h
>   /trunk/KDE/kdebase/workspace/plasma/applets/kickoff/ui/launcher.cpp
> 
> Diff: http://mattr.info/r/224/diff
> 
> 
> Testing
> -------
> 
> 
> Screenshots
> -----------
> 
> Launcher northwest, panel TopEdge
>   http://mattr.info/r/224/s/21/
> Launcher SE, panel BottomEdge
>   http://mattr.info/r/224/s/22/
> Launcher NE, panel RightEdge (my desktop layout)
>   http://mattr.info/r/224/s/23/
> Launcher NW, panel LeftEdge
>   http://mattr.info/r/224/s/24/
> 
> 
> Thanks,
> 
> Will
> 
>



More information about the Panel-devel mailing list