I use a track bar control in two different places in an touch-screen application I have. The first to record a specific amount of Data. (lets say 260 samples) the second to record an unlimited amount of data.

I have a limited amount of area to display the track bar control, and while the first example works fine, when I get to sample counts of over 3000, (perfectly acceptable in the second usage) the track bar performs poorly. The small available area for the control means the smallest movement (drag) of the track bar cursor could move you hundreds of samples, and it's impossible to get to a specific one.

What I'm wondering is if anyone one has encountered this issue, or can recommend a good control for navigating through a list of recorded samples? Currently, there are step forward and step back buttons to get around the issue (i.e. step forward and back by 1 or 10 samples). I would like if possible a control that performs well for both small and large sample sizes.

6 Answers 6


The iPhone sliders adjust their step size/speed dependent on how far the finger is from the slider. If you're on the slider, it's 1-1 mapping with the width of the bar, but as you get further away, you get finer grained control.

Another solution, to borrow from the past, is a series of concentric knobs, with the center ones geared faster (coarser) than the outer ones. This was used on many applications such as shortwave radio (where you're trying to tune in a radio station very precisely, but there is an enormous range of possible frequencies).

  • Thanks Alex, can you tell me which Slider on the iPhone you are referring to? I've looked at some moves and songs on an iPhone4 and they seem to use a trackbar control.
    – AidanO
    Jun 14, 2012 at 10:14
  • +1 I found what you're referring too. I didn't know you could do that, nice.
    – AidanO
    Jun 14, 2012 at 10:16

Rotor visible in lighter portion of screenshot

The popular game Peggle uses a vertical rotor that gives players fine control of the ball launcher.

You could place a smaller version of this next to your trackbar--dialling it up/down would only slightly increase/decrease your sample count. Additional usability note: I would make the rotor continue to dial up/down even when the user's finger has left the visual region of the control (but still touching the screen).

  • 1
    I like this idea, but I think that having an extra control to fine tune the track bar control may confuse some users.
    – AidanO
    Jun 14, 2012 at 10:20

Use gross control with the slider and speed-proportionate fine control with a wheel or spinner.

Trackbar and spinner

How about adding a horizontal spinner to the slider (trackbar) for finer scrubbing through the selection. So, have a slider as you currently do, but add a spinner underneath with finer control. That both the slider and spinner are both horizontal helps the user intuitively map the movement.

And if the sample is larger by a factor of 10 or 100, you can always add a second wheel or add velocity to the spinner, so slow spinning gets you one by one, medium spinning moves by fives (for example), and spinning and letting it fly lets it go by a larger factor.

Alternatively, use a wheel as the finer selection tool.

Slider and wheel

[Calvin Chong's answer gave me the idea for a spinner, and I improved upon it with the horizontality and speed-proportionate control.]

  • I think this might not solve the problem when you get to really large samples, if you had 100K samples then the smallest move of the track bar might move you 1K worth of samples, if you're fine tune is set to move by 1, you could be going around it a lot to get from sample 44K to 44.5K. It would work lovely for larger, but limited sizes though so +1 for that.
    – AidanO
    Jun 14, 2012 at 10:28
  • 2
    You can always add a second wheel if you need three levels. You can also add velocity to the wheel, so spinning fast increases the gear ratio.
    – Taj Moore
    Jun 14, 2012 at 15:48

You could considder using a multiple-ring type selector, like is used for selecting time in Meego:

Screenshot of selecting a time in Meego

It works by having an outer ring to select the minutes, and an inner ring to select the hours, but the concept could perhaps be extended for a ring per, say, two orders of magnitude in your selection. So one ring for selecting everything behind the decimal, one ring to select the 0-99 part, one ring to select the 000-9900 range, etc. You'd have to user-test this to see if it is intuitive enough.

  • Thanks André, I'll have to track down Meego and have a look at this.
    – AidanO
    Aug 3, 2012 at 9:32
  • 4
    Actually, the problem with this UX in our testing was that it actually hides the number you're currently editing. The Meego team was really desperately trying to come up with something extraordinary when this design was born, yet user research was pushed a bit back. It looks shiny but I have doubts about its worth.
    – Aadaam
    Aug 7, 2012 at 0:40
  • 1
    @Aadaam: Thank you for reporting that back! It is valuable to hear something about actual research done with this design. I guess the root of the issue is a common one in touch interfaces: you can't see what you are touching.
    – André
    Aug 7, 2012 at 8:21

For something like this I would consider a slider with variable sensitivity depending on how far across you drag. A text input above would show the currently selected value, and the selector on the slider would default back to the middle when not being dragged.

Although I like the idea of 2 sliders for value and sensitivity you already mentioned your lack of space so I guess this doesn't suit.

Slider example

  • That's very close to what we implemented in the interm. the only difference is the longer you hold it in the "moves by 10" position the faster it moves. The problem with the suggestion here as it stands, is that you're limited to a maximum move of 10.
    – AidanO
    Aug 3, 2012 at 9:30

if access to the sample values was (mainly) via a chart/graph, then you could use pinch etc to zoom in or out to desired level. giving the user the ultimate choice in how quickly they scroll through sample data points. the movement/feedback should be consistent no matter how many samples...so abstract that in the interface to be something like a particular zoom or scroll moves by x percentage of total sample size. you may find some inspiration from the roambi.com iphone data visualization app.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

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