|
|
The Value Slider (III)Mon, 28 May 2007 09:36 in Studio, Computers This discussion began here, and continued here. A modest proposal: Virtual audio hardware manufacturers should define and agree to use some additional standard controls for their user interfaces instead of inventing their own widgets. It's Anarchy in the UI out there... the causes for it are reasonable: 1) the standard dialog controls specified by OS vendors such as Apple and Microsoft are boring, incapable, or not compact enough; 2) they are trying to distinguish their products from others; 3) their intent is to make their software mimic the UI of the original hardware that they are modelling. This discussion is an attempt to address reason #1. I think reason #2 is not valid. Guys, make your products excellent and usable, and believe me, you'll be distinguished from those that don't. One way of making your products usable is to use standard controls in your editing interfaces! Arturia's CS-80V is a case in point for reason #3. The software mimics the original front panel of the Yamaha CS-80 synthesiser religiously, and looks great. Except when you try to edit a patch, and then it's horrible. There's a fourth reason: multi-platform support. It is very hard to use standard UI widgets when you are also trying to write software for Macintosh, Windows, and perhaps Linux as well. Much easier to roll-your-own controls. That's no excuse to ignore standard behavior, though. I think there is room for a middle ground, where virtual hardware interfaces can be designed to look good, resemble the source hardware where appropriate, but use standard controls to improve usability. All we need is a couple more standard controls: a Value Slider, and a Toggle Button. In this post I'm going to look at how a Value Slider control could express the principles of UI I established last time. Later on I'll look at the toggle button. The Value Slider Sliders already exist in most standard GUI toolkits, but they are not ubiquitous, and I don't want to be constrained by their default specified appearance. So here's ours:
It consists of four main visual components: a perimeter rectangle; a colored bar proportional to the value of the control; a handle widget to grab with the mouse pointer to set the value; and a label that displays the value in text form.
When the slider is adjusted with the mouse, I recommend that a tooltip or similar metaphor is used to display a more precise value (see above). So the control expresses its value in three increasing levels of detail: 1) the size of the colored bar; 2) the value displayed in the control, and 3) the more precise value displayed in the tooltip. Color and Clarity
We can use color to relate and distinguish controls. We are also not limited to a horizontal orientation:
Here I am using the red and green color to distinguish between the level of high-pass filtering applied, and the amount of resonance in the filter circuit. The slider on the right is an experiment to see how it handles the concept of +/- deviations from a center value. This is an important type of value editing in virtual audio hardware and our control should be able to express it clearly. State
The difference between disabled and read-only is subtle. Both states are not editable, and the control should express this fact clearly so that a user is alerted to it and doesn't attempt to change the value. However a read-only control is allowed to receive the keyboard focus (more on this below), whereas a disabled control will not. Scalability
Behavior On the other hand, if you click on a control, you should be able to use the mouse wheel to change the value. The control has to have an understanding of focus. Once a control has focus, you should be able to use the keyboard to change the value also. I suggest the + and - keys. Precision
Next up, I'm going to talk about the second proposed standard control, the toggle button. Should be simpler. |