[LAD] User eXperience in Linux Audio

Thorsten Wilms self at thorstenwilms.com
Sat Apr 25 08:23:14 UTC 2015

On 24.04.2015 23:40, Fons Adriaensen wrote:
> Consider a button that toggles between 'stop' and 'play'. Does
> it show the current state of the player, or the one you get
> when you click on it ?

Yes, a classic. It's the general problem that using any toggle-action 
successfully requires the user to be aware of the current state. That 
might sound like a non-issue seen in isolation, but if a user has to 
deal with lots of such states over a long period of time, mistakes will 
happen. At the very least frustrating double and triple triggering.

The reason to use one toggle button over 2 action buttons is saving 
space. Likewise, one shortcut over 2 shortcuts. A DAW can get away with 
Play/Pause toggling, but less often changed states that affect other 
actions are more troublesome as toggle.

I mean to recall that Rhino3D has buttons that will always enable / keep 
enabled something on left click and will always disable / keep disabled 
on right click.

Regarding ambiguous icons on toggle buttons that might display either 
state or action: If you can't avoid them, didn't find icons that imply 
action or state, the last line of defense is convention. Always state or 
always action.

> Similar situation with 'slider switches'
> which show 'on' or 'off' on the flat part. If you have no other
> feedback, the state of the button or slider gives you a very
> ambiguous hint at best.

The blind copying of Apple's sliding switches is one of the saddest 
things to happen in recent GUI design.

I for one can't take anyone serious who thinks this is acceptable:
If one wanted to infer a guideline from that screenshot, it could be: 
"Make sure there is a huge gap between labels and associated widgets. 
This slows the user down to avoid stress and gives his eyeballs a nice 
workout." We already know a solution since decades. Checkboxes with 
their identifying graphics on the left side. Taking touch into account 
should not mess up pointer-based use. If you can't make sure of that, 
maybe a hybrid is a bad idea?

Thorsten Wilms

thorwil's design for free software:

More information about the Linux-audio-dev mailing list