Learn something new every day More Info... by email
Most software uses a graphical user interface (GUI) so that a person can send commands to the software by pointing and clicking, turning a virtual knob, or pushing a virtual lever. A lever control, often used to adjust volume, is referred to as a slider.
Soundcard software normally has a GUI control center for settings. In most cases a master volume slider trims the overall volume, while individual sliders set levels for channels such as Line-In, Wave, Play Control, MIDI and CD-Audio. Multimedia players capable of recording use sliders in a similar way, and might also have a slider to balance the left and right stereo channels.
The slider control is useful for more than setting volume, however. It’s often used to set buffer limitations, or allocation of memory used for temporary storage by programs that require buffering.
Software used for displaying streaming video typically utilizes a buffer to compensate for any delay in receiving data packets. The software preloads a section of the stream into the buffer before displaying the signal to the user. By remaining “one step ahead of the stream” if packets arrive late, there is hopefully enough stream in the buffer to continue playing the movie without interruption. The user can normally assign how much memory he or she wants to use as a buffer by using a slider control.
Another use of the slider is in creating custom colors in art or graphic programs, and in basic operating system control panels. By choosing to create a custom color the user typically clicks on a color range within a virtual palette, then uses a slider to deepen or lighten hue, saturation and luminescence. In a similar way, programs used for editing digital photographs allow a user to push a slider to adjust picture contrast, brightness and gamma effect.
Graphic cards also come with a GUI control center for adjusting the attributes of monitor resolution, color, contrast, image enhancement, scaling and other characteristics. Most of these adjustments are made with a slider. A handful of mouse settings are also set with a slider, such as mouse sensitivity, click speed, motion speed, and pointer trails.
For incremental adjustments, the slider control is the control of choice in software programs. Most sliders display a numerical value for the degree of adjustment as a reference. Many people may not realize just how easy it is to make adjustments to hardware by using the software interface.
@allenJo - You’re right about that. In that sense, it doesn’t matter what the control looks like, when it comes to its core functionality.
You could create a control that looks like a padlock on an ancient Egyptian tomb, and it wouldn’t affect its core functionality. It’s all about what the user expects to see.
If a new motif rolls around the block, you can bet software developers will be implementing that as well.
@nony - You’ve hit on an interesting point when you used the word motif. It’s fascinating that so much of computer software borrows from the real world for its display.
No one really needs a graphical component that looks like a slider in order to modify values, as you pointed out. But that’s what we’ve come to expect – we want our software to look like our hardware.
We have all sorts of real world hardware that slides, whether you're talking about a lever, a slider cellphone or whatever. As a result we expect our software to look and behave in a similar manner.
These are more about usability issues than anything else. It’s part and parcel of what developers call user friendliness.
I do a lot of software development and the slider is one of the most versatile tools. It’s one basic component, but it can be displayed using a variety of motifs, whether you are talking about a knob, a traditional slider or whatever.
The way I use it is simple. The slider has minimum and maximum values. The minimum is usually set to zero and the maximum is typically 100.
I then write my code in such a way that as the slider adjusts its values between minimum and maximum, it will alter the values that are in my code. I am basically wiring my code to the slider.
I think it’s simple enough to understand, but it’s so easy for me to use. In the old days (before slider components) I had to use buttons to increase and reduce values. The slider works with fewer lines of code.