Take the 2-minute tour ×
User Experience Stack Exchange is a question and answer site for user experience researchers and experts. It's 100% free, no registration required.

I've been asked to create a design which uses sliders to allow the user to enter numerical values. Although (in my view) these are not appropriate, unfortunately my arguments for alternatives have been in vain! I'm therefore looking to understand if any research has been done to establish what a reasonable minimum slider gradiant is. So on a screen with (say) 800px width, how many px should be between each slider position? I'm not aware of any research in this area, and would appreciate being pointed in the direction of anything or hearing other people's experiences

share|improve this question
1  
About how precise do you need to be? What are reasonable min/max levels? –  Ben Brocka Oct 26 '12 at 15:39
    
Ben - that's kind of my point about not using sliders - unfortunately I've been more or less told to. The question is about how many pixels is reasonable for a single slider movement rather than what each movement needs. Assume it's an able-bodied person with no movement impairment, to simplify matters. –  Peter Oct 26 '12 at 16:38
    
I recognize the constraint, but those factors are still important for deciding how you design the slider tself –  Ben Brocka Oct 26 '12 at 18:10
    
Do you have any constraints on the number at all, eg. between 0 and some upper bound, or is it completely open? Even if it is completely open, is there some commonly-used range? (You could, in theory, have a non-linear slider that goes from 0 to infinity or -inf to +inf, but that may not be usable. But could actually appropriate for some scientific domains...) –  BrendanMcK Oct 26 '12 at 21:11
    
Part of my reason for asking is to get more arguments against doing this (besides the motor control issues, lack of precision, ease of data entry and screen clutter arguments!). I have about 400px to display sliders. One of the values I've been asked to capture is a sum of money, which can be up to 100k. At 1px per unit, that's $250 per pixel. BUT: 1px is too small, and if I can present evidence that the smallest reasonable slider movement is, say, 10px, then a single movement becomes $2500 - which may help to change the approach. –  Peter Oct 27 '12 at 18:31
show 2 more comments

3 Answers 3

Sliders are bad for precision over a large range, but great for getting in the right ball-park. Spinboxes are great for precision, but bad for making big changes. Would it be an option to combine a splitter and a spinbox? That way, you can use the slider to get in the right range, and the spinbox to fine-tune the selected value.

mockup

download bmml source – Wireframes created with Balsamiq Mockups

share|improve this answer
add comment

It sounds like you might be better served with a seamless slider that does not have any pre-configured steps at all. In other words, the bar would smoothly move pixel-by-pixel rather than snapping from step to step. For example:

Seamless Slide from Apple's iOS Human Interface Guidelines

If part of the requirement is that you must display individual steps, then typically I would determine how wide the space for the UI control should be (you mentioned 800px) and divide it based on the minimum step value the user should be able to set (e.g. only whole numbers, 1-10, which would give me 100px in between each step).

I would recommend at least 5-10px space between each step -- otherwise you would effectively create a seamless slider in all but name.

share|improve this answer
    
Note that even a pixel-by-pixel slide is step-by-step. The steps just coincide with the size of a pixel. –  André Oct 29 '12 at 9:17
add comment

Ultimately, you need a good argument to push back on sliders. Sliders are notoriously bad for choosing a value in precise value in a large continuum. For instance, to select a value with a precision of 1 in a space of 800, for any screen resolution the task of pointing the cursor alone would be daunting. Look-up Fitz Law to do your own approximation of how much time it would take a user to achieve this task. It would be much easier to set the value manually in a text box.

If you really need a slider, I would recommend using some kind of trick like having snapping values when the mouse has a certain speed. In pointing tasks, the user slows down when he is approaching his target, and is slow in the most precise phase of the pointing. Other tricks like OrthoZoom may be able to help some, but it becomes really fancy.

share|improve this answer
add comment

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.