download bmml source – Wireframes created with Balsamiq Mockups

This is a relatively common control. In addition to pressing the up/down buttons, these steppers typically support additional input methods:

  1. typing the desired number;
  2. long pressing the buttons which allow the numbers to run;
  3. and sometimes using the keyboard arrows in place of the buttons.

Recently I discovered that a very experienced and technical user, with 20 years of experience in software development, wasn't aware of all these additional methods. He believed that the only method available to get to the right number was pressing the buttons i.e. to keep clicking until you reach it. He wasn't aware of the type, or long press controls. I can see how the design of the control might give that impression.

Can we rely on users knowing how to use numeric steppers? Is it common for users to experience this kind of difficulties with the stepper?

  • As long as the initial affordance (clicking the stepper buttons) allows the person to change the number, the other ways to interact with this widget are just a bonus, if and when the person discovers them. You ask "is it common for users to experience this kind of difficulties with the stepper" Are you sure there is a problem here that that needs fixing?
    – SteveD
    Commented Aug 25, 2016 at 9:03
  • @SteveD I am not sure that there is a problem that needs fixing, and that is precisely why I posted a question titled "do numeric steppers have an affordance problem?" :). Commented Aug 25, 2016 at 10:22
  • The stepper up and down buttons have great affordance, which is why people use them. #1 has slightly less affordance due to the buttons dominating this small widget. #2 and #3 have no affordance so need to be taught or discovered by chance. #1 #2 #3 are all "labour" savers, so I guess you could argue their value, however they don't cause confusion or get in the way, so no harm no foul.
    – SteveD
    Commented Aug 25, 2016 at 10:41
  • 3
    After a button click, do steppers in question highlight the value like a textual input would? That might be a very valuable nudge to quietly suggest existence of #1. Commented Aug 26, 2016 at 13:23
  • @transistor09 that is a brilliant point! Currently they do not, which might explain the problems. I will look into it. Commented Sep 1, 2016 at 17:31

2 Answers 2


I think this is a brilliant question. I know I have experienced this difficulty in the past, even when I may have been aware of the additional methods. I can't speak for others but hidden gestures or methods generally remain hidden for a large segment of users.

Take my electric oven for example, it has numeric steppers for setting a timer which I use when I'm baking bread. There is a separate stepper for hours and minutes. The design choice of including a numeric stepper for hours means that I don't need to carry the minute stepper through 60 numbers to add an hour to the timer. The oven's numeric stepper also responds to long press and it has an additional secondary input method. The minute input begins at 00 and if you click the down button you get to 59. This means that I can enter a 50 minute bake time with 10 clicks of the down button, instead of 50 clicks of the up button. Unfortunately, all of these secondary input methods were discovered through frequent usage of the steppers. That means I wasted time in the past say either pressing 50 times to set the timer to 50 minutes or not long pressing to set it to 30 minutes.

I think having hidden input methods for numeric steppers is problematic because there are use cases where the obvious input method is tedious to use. Revisiting the time input example, a numeric stepper for selecting 30 of 60 minutes will always be tedious to use using the obvious input method. Once the user needs to cross a wide range of numbers, to get to their desired input, the obvious input method becomes unfit for its purpose. If such a simple input control requires >40 clicks from the user can we really claim that it is fit for its purpose?

In these instances secondary methods can no longer be seen as a 'nice to have'. Because if we were to rank the performance or 'fitness' of all the available input methods the obvious method would lose out to both the long press method and the typing input method. We should also question the benefits of providing hidden keyboard controls for a numeric stepper as it implies that it is possible for the user to enter the input directly using their keyboard. For these reasons, I believe that affordances for secondary input methods should be provided or UI designers should carefully consider if a better control exists for capturing the user's input


  1. We should at least include an affordance for the long press input method.
  2. If we are providing a hidden typing method and/or hidden keyboard arrow method for a numeric stepper UI we should consider replacing it with with a text input with input validation enabled.
  3. If a keyboard (physical or virtual) is available to the user weigh the tedium of navigating the possible range of inputs against the usability of a text input with constructive placeholder text and input validation.

This is something I have been asking myself lately. Sorry if I'm getting too much out of scope.

Whether an architect, product designer, UX designer, etc. a designer should provide an obvious and easy-to-use way of interacting with the object created, understanding its context, who the end-user will be, etc. This can be applied from an urban to a pencil scale.

In the case of products, its main functionality should be obvious ("Form follows function"). Once the functionality is known the way the user can make use of the product should be made in an intuitive way. The main UI functionality should be enough for the user to manage the product in an effective and comfortable way. Secondary functionalities let the "advanced user":

  • Configure in a more specific way the product main task.

  • Facilitate the product main task.

There should be a balance between main and secondary tasks, and there is where a good design shines over bad design.

In the physical world there is always a minimum of knowledge the user is assumed to have (such as that a button is meant to be pressed). This is the reason why digital UI tries to emulate (with less or more detail) the physical world (skeuomorphism). In the digital world it becomes more tricky as it is quite new and paradigms are not as established as we designers might think.

Physical products usually come with a book of instructions explaining how to use the product. Both main and secondary functionalities can be found there. Now when we enter the digital world this is not exactly the case. Google Material design guidelines has a great page on Feature discovery which, to me, resemble an UI and UX instruction manual.

Your question:

Can we rely on users knowing how to use numeric steppers? Is it common for users to experience this kind of difficulties with the stepper?

Commonly secondary features become hidden and only accessible by users luck, or from mouth to mouth. A designer should balance the users previous experience. He should create products which don't make the user think. He should give the user "feature discovery tips" to help him accomplish the tasks in the way they are meant to be done.

In my opinion, and as you experienced yourself, we can not rely on users knowing how to use numeric steppers. User research helps to understand how "hidden" a functionality is. And in such case a good design should be accompanied by discovery tips.

  • I always liked Apple's old 'Bubble Help' system. It didn't pop up and intrude on what you were doing - but if you felt a bit bored you could deliberately turn it on and use it as an interface tutorial. Shown as the first reference at the top of this link it.bton.ac.uk/staff/lp22/IS204/online.html
    – PhillipW
    Commented Nov 18, 2016 at 20:32

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.