Problem

A simple, space-efficient method must be provided for users to easily make changes to a setting level or value.

Solution

Spinners & Tapes are really just compact, graphically-oriented variants of the single-select Form Selections. For their use with other forms, see that pattern.

These are both derived from machine-era controls, which have contributed to the best-practice design of these elements.

These both have value, especially over other types of selectors, in three key attributes:

  1. They are graphically-oriented, so tend to provide information at a glance.
  2. They provide direct control, when using touch or pen interfaces, or very close coupling of the input to the available display methods for scroll-and-select devices, with an implicit scale. Compare this to a simple list of values, which the user must map to a model of the system.
  3. The manner in which they are controlled is apparent (if well designed), so no instruction, and minimal previous knowledge of computers is required. Even for scroll-and-select devices, as long as the user can control the device to this point, they are likely to be able to use the control.

All of these are in opposition to many typical computing forms, which are usable only to those who have become accustomed to them in other contexts. Mobile devices are so pervasive, however, that they are many people's first exposure to robust computing systems, so more obvious controls are necessary.

Variations

Two distinct types of elements will be discussed, each of which has subvariations. Tapes or "sliders" are vertically or horizontally-oriented indication and control mechanisms. They are used to control levels, such as for volume or zoom level. Zoom & Scale is in fact a specialized subset of these, used live.

The term used here is derived from linear "tape" gauges, as for indication purposes they reflect this closely. The closest machine-era term would be a "sliding potentiometer" but when shortened this can be confused with other interface elements, and it discusses technology too closely.

Spinners simulate, often with significant visual fidelity, a small-diameter wheel on a horizontal axis. Only the current setting is visible through a port in the screen, and moving it rotates the wheel in the vertical direction to reveal other settings.

The term here is somewhat used already. The most generic name for a machine era device would be a "thumbwheel" but this implies only the click wheel style of interaction. There is historically no single, non-cumbersome name for such controls.

Rotary dials and other types of continuous, glanceable controls or indicators are related, but are not used enough on mobile devices for patterns to have emerged. In some cases, control may not be obvious or easy, or the interface conceits lead to confusion and mistakes in input.

Interaction Details

The variants above are classes, and provide guidelines, but there are numerous spaces in the middle where new interfaces, perhaps inspired by machine-era antecedants, may be used. Consider the standards used by the OS, and the needs of the user to enter data quickly, and to protect entry, when selecting one of these methods or designing another one.

Values do not have to be at consistent intervals. As in the snooze button example above, they should be sensible and predictable, but do not have to be regularly spaced.

Tapes are always dead-end, selections. Increasing the level while at the maximum will have no effect. Spinners are circular. Increasing the level while at the maximum value will switch to the minimum value.

Spinners are frequently presented in groups, for example to set hours and minutes. Group related items into a single control, so that the minutes are displayed and controlled by a single spinner, not one for each digit. Unrelated items are entirely unrelated, even if adjacent. Switching minutes from 59 to 00 will not also change the hour from 3 to 4.

Especially for scroll-and-select devices, tape orientations should be deconflicted from the remainder of the interface. When presented in a page, where other elements can be selected and scrolling is possible, only horizontal tapes should be used, and no selectable items should be placed next to the tape. When the user scrolls using the up/down keys to the tape, it will become in focus without further selection, and immediate use of the left/right keys will change the level.

Increment and decrement buttons, when available on either a Spinner or Tape, are unitary input items. They will not key repeat. One click is required for each increment. The same behavior is encouraged for hardware keypads as well.

See the Zoom & Scale pattern for additional details on the use of increment buttons, and indicators of position in Tapes.

Only present the coarsest acceptable values within a Spinner. For example, when setting time for an appointment, the spinner should only have 15 minute increments.

Especially for Spinners, direct entry of values should be allowed as well. When the field is in focus, the keypad can be used to type values directly. This works especially well when coupled with coarse pre-set values; the user may quickly set most values, and still has the option of using any value when more rarely needed.

Custom values are discarded when the field is incremented or decremented. If 17 is entered, and the value is incremented to 30, when decremented it will display 15, not 17.

For touch or pen devices, allowing direct entry may require a more precise touch of the value field in order to display the input panel, and may require more space to be taken up by the Spinner than is acceptable.

Presentation Details

Spinners must be arranged so they make sense. Groupings must be in conventional format, so hours are to the left of minutes, with a colon separator for example. Due to their perception as physical objects, minor errors in position or response can be highly confusing to users.

Spinners are often drawn at high fidelity, as though they are literally machinery, with the numbers disappearing on a circular plane. The pattern does work with conventional text display and flat colors, but the principle must be kept in mind: the background of the value should still be a different color, a border should exist, and the entire element to include increment buttons must be in a single container.

Spinners should always animate as though the values are on a small cylinder, rotating out of view. Sliding out of view is acceptable, but will be detected as different and may cause confusion with the circular list paradigm.

Spinners should snap to displayed values, and never be able to stop with partial values in the window. Slight mis-alignment at lock up may be tolerated if deliberately built and it follows the design ethic of being a quirky machine

All Sprinner & Tape controls must perform smoothly, and respond without delay to user input.

Tapes should also be designed as though they are physical items, with a moving indicator, or by filling in a strip. The edge of the filled space indicates the position.

Tapes with incremental control must display the increments. These may be gaps, ticks or other types of indicators in the displayed bar. Scales may be provided, but are often not to avoid clutter. They may also not be needed if the numeric value of the setting is displayed, attached to moving indicator, or at the end of the tape.

Use non-visual responses to inputs whenever possible, and especially for gestural inputs. Clicks should be felt (or if needed, heard) at each increment. For non-incremental values, a more subtle response can still be provided, to indicate the control is moving and to encourage the perception that these are physical controls being moved.

Antipatterns

Avoid using variants like the Click Wheel, where the display is obscured by the user's finger, without haptic or audio feedback. Either do not obscure the input, or always allow some other feedback of incrementing

Other dedicated level-changing keys the user may have become accustomed to, such as the volume control, may also be useful for changing the level of Spinners & Tapes. However this advice may conflict with other interface expectations or the OS standards. If the volume keys are reserved for volume only, or are used in some cases to scroll the page, do not use them to change other levels.

Examples

The following are machine-era items discovered during research. These are obscure, and more directly relevant than most, so are included here.

Taking my admonition to find new ideas: For example, mixing the click-wheel and two buttons could result in a springing toggle switch to the side of the indicator. On-screen gestures move this control, which may be more easy to understand than a thumbwheel, or may be easier to use. This is in fact used on this excellent thumbwheel from the Space Shuttle (you'll have to scroll to see it): http://www.space1.com/Artifacts/Space_Shuttle_Artifacts/Controls___Displays/controls___displays.html

Up and down buttons. There were both unidirectional and bidirectional ones. The document is long, so keep scrolling. http://www.digitran-switches.com/specsheets/pushbutton.pdf

The leverswitch is not dissimilar from the concept of the first one, again, though I am not sure putting the lever below would be so clear to a digital interface. http://www.digitran-switches.com/specsheets/leverswitch.pdf

These are just some examples of how in the machine era multiple interfaces existed to meet specialized needs. Feel free to explore interactive design alternatives, as long as you meet the principles in this pattern and good design in general.