views:

119

answers:

3

I am developing a specialty application where the end-user needs to operate multiple controls simultaneously. The application is used to "tune" the control parameters of an electronic device to calibrate the unit to its best performance.

Currently, there is a UI with multiple graphical sliders which the operator click-drags one slider at a time. He can also click on a slider, and use the mouse-scroll wheel, which is a little easier to use.

This works, sort of, but is somewhat cumbersome. The various parameters (5 in this particular case) are sufficiently independent of each other so that I can't just refactor the parameters into a single adjustment. And, if the operator can keep his eye on the device being adjusted, rather than the UI of the control application, it would speed up and simplify his work.

One idea that I had was that I might buy a whole bunch of the USB jog-dial products, and bind each dial to a specific control. This way, the operator can quickly adjust any parameter, or even two parameters simultaneously. (BTW, Griffin PowerMate comes to immediate mind, but I know there are a few other jog dials out there.)

Do you have any suggestions?

ADDED:

Keep in mind that in some cases, the parameters are adjusted in different directions, and may be significantly different in the adjustment steps. It's not a simple "track two channels together, and then fine tune the last bit of difference".

+2  A: 

Maybe capture key presses and define a row of pairs as your up/down controllers.

Something like...

A/Z are the up/down keys for slider 1
S/X are the up/down keys for slider 2
D/C are the up/down keys for slider 3
F/V are the up/down keys for slider 4
G/B are the up/down keys for slider 5

etc...

Or maybe just keep the mouse wheel for adjustments and define a series of hot keys to activate (i.e. give focus to) each of the slider controls so you can quickly switch what you're adjusting with two hands.

theraccoonbear
A: 

How about a checkbox for each control to bind a group of them together? Then when they adjust one, all the others that are bound together move the same amount. Provide a button to uncheck them all too.

Paul Tomblin
A: 

This is some code of mine, and it is public-domain, that could be applicable to problems of this type. Explaining it has not been easy, but it has been published twice in journals. Maybe you'll find it interesting:

http://en.wikipedia.org/wiki/Differential_Execution

There's also working code to start from, on sourceforge, project DynDlgDemo.

If you want, I can send you a copy of the most recent article.

Mike Dunlavey
Hi Thanks. Interesting work, but I'm afraid it doesn't apply to the immediate problem at hand, which is a question more about user interface design.
Toybuilder
OK. I only thought of it when you mentioned things like tying controls together, which is easy to code. Good luck.
Mike Dunlavey