Cycle Button¶
A compact single-selection GUI control that displays only the current value and advances through a finite ordered option set on repeated activation, wrapping after the last value.
Core Idea¶
A cycle button is a graphical single-selection control that occupies roughly one button-sized region, shows the currently selected option, and advances to the next member of a finite ordered set whenever the user activates it. After the last option it wraps to the first. Some implementations provide reverse cycling through a modifier or alternate input.
The control trades visibility for compactness. Radio buttons expose all options simultaneously; a list or menu reveals the set on demand; a cycle button shows only the current value and makes the user traverse states. The Amiga user-interface style guide describes the control as allowing one choice from several while only the selected choice remains visible, recommending it for attributes and warning that long option sets burden memory and repeated activation.[1]
Its structural loop is current value → activation → successor value → visible replacement → optional wraparound. The displayed value is state, not merely an action label. That distinction matters for accessibility and for differentiating the widget from a command button whose label tells what will happen next.
Structural Signature¶
- the finite option set — two or more mutually exclusive values;
- the declared order — every value has a next value, with the last returning to the first;
- the current selection — exactly one value is active at a time;
- the compact display surface — only the current value, plus any cycling affordance, is persistently visible;
- the activation event — click, key, switch, or equivalent input requests one step;
- the deterministic transition — ordinary activation selects the successor; an alternate gesture may select the predecessor;
- the wrap rule — advancing after the final value restores the first;
- the state notification — the application receives the newly selected index or value and updates behavior;
- the accessible state exposure — assistive technology and nonvisual users can determine the control, value, set, and change.
A row of visible mutually exclusive buttons is not a cycle button even if arrow keys cycle focus. A button that repeatedly performs an action without retaining a selected option also fails the identity.
What It Is Not¶
- Not a toggle button in the strict binary pressed/unpressed sense. A cycle button can have multiple named values and replaces its displayed selection.
- Not a checkbox. A checkbox exposes a Boolean attribute whose checked state remains visually distinct from its label.
- Not a radio-button group. Radio buttons show the alternatives and their mutual exclusion at once.
- Not a drop-down or combo box. Those reveal a menu or list, allowing direct access to a nonadjacent option.
- Not a spinner/stepper. A stepper usually increments or decrements an ordered numeric value through separate directional controls and may not wrap.
- Not a carousel. A carousel moves among content panels; a cycle button is a value-selection control.
- Not the general
cycleprime. The prime applies to recurring state order in any substrate; this node binds it to a GUI selection widget.
Scope of Application¶
Cycle buttons appear in compact preference panels, tool palettes, legacy desktop interfaces, embedded displays, musical controllers, and input-constrained applications. AmigaOS documented a CYCLE_KIND gadget whose current choice was displayed and whose click or shift-click advanced forward or backward.[2]
The pattern fits a small, memorable, preferably ordered set: low/medium/high, month sequence, view mode, or a few rendering states. It performs poorly when options are numerous, unfamiliar, safety-critical, or unordered; direct presentation through radio buttons or a disclosed list then reduces hidden-state and traversal costs.
Clarity¶
The display must answer “what is selected now?” rather than ambiguously “what will happen if pressed?” If a button reading “Muted” indicates current state in one product and the next action in another, users cannot predict the transition. A stable field label plus a changing value—Quality: High—is clearer than an isolated changing word.
Order should be meaningful or at least stable. If users cannot anticipate what comes after “Custom,” repeated clicking becomes search by trial. Wraparound must not create a dangerous accidental transition from the strongest value to the weakest without feedback.
The control's hidden option set is its defining cost. Documentation or accessible metadata must expose the number and identity of alternatives even though the visual surface does not.
Manages Complexity¶
Cycle Button compresses a mutually exclusive choice into one control-sized area. The application stores a single index, renders its label, and maps activation to modular increment. This is useful on dense screens and limited controllers where a radio group or pop-up menu consumes scarce space or input operations.
The same compression moves complexity into interaction. Users must remember unseen options, count steps, and notice wraparound. The design succeeds when the option set is small and traversal is cheaper than disclosure; it fails when saving pixels creates cognitive or accessibility debt.
Abstract Reasoning¶
State-machine model. Represent options as v0…v(n-1) and activation as i ← (i+1) mod n; reverse activation uses (i-1) mod n. Verify every state is reachable.
Traversal-cost test. Expected activations depend on starting and target distributions. If users frequently jump among distant values, a directly selectable list dominates.
Discoverability test. Ask whether a first-time user can infer that activation changes a persistent value and whether additional options exist.
Semantic-order test. Check that adjacency reflects a meaningful progression. If not, the order is arbitrary and memorability falls.
Wraparound-risk test. Evaluate whether last-to-first transition is benign, surprising, or hazardous. Add confirmation or choose another control when states have asymmetric consequences.
Accessibility equivalence. Ensure keyboard, switch, and assistive-technology users receive current value and change notification, not merely the generic role “button.”
Knowledge Transfer¶
The full identity transfers among GUI toolkits, desktop systems, embedded displays, and hardware controllers that render a software selection state. Using “cycle button” for a mechanical rotary selector is an analogy unless the compact display-and-replacement semantics remain.
The structural residue is cycle plus finite state transition and interface. Those primes travel to seasons, protocols, and control loops; the widget's display, activation, selection, and accessibility rules keep it domain-specific.
Examples¶
Quality selector. A button displays Low, Medium, or High. Each click selects the next quality and changes rendering behavior; after High it returns to Low.
Ordered month selector. Forward activation advances January through December and wraps. Reverse activation makes long traversal practical.
Amiga cycle gadget. The operating-system control shows one choice, advances on click, and reverses on shift-click, returning the selected zero-based index to the application.[2]
Rejected use—On/Off safety control. A checkbox or labeled switch usually exposes binary state more clearly. The Amiga style guide specifically recommends a checkbox rather than a cycle gadget for an on/off choice.[1]
Structural Tensions¶
T1: Compactness versus discoverability. Hidden alternatives save space but obscure the choice set. Diagnostic: can users name available values before cycling through all of them?
T2: One-step speed versus random access. The next option takes one action, but distant options take many. Diagnostic: measure expected traversal rather than best-case traversal.
T3: Current-state label versus next-action label. Either convention can be implemented, but mixing them causes prediction error. Diagnostic: pair the label with a stable field name and observe first-use interpretation.
T4: Wrap convenience versus boundary surprise. Modular transition is simple but can jump from maximum to minimum. Diagnostic: assess consequence asymmetry at the wrap edge.
T5: Visual economy versus accessibility metadata. A minimal surface may omit position and set size. Diagnostic: inspect the accessibility tree and nonvisual change announcement.
T6: Legacy familiarity versus modern convention. Amiga users recognize cycle gadgets; other platforms may expect a menu or segmented control. Diagnostic: test within the target platform's learned vocabulary.
Structural–Framed Character¶
Cycle Button is framed. Its finite-state transition is formal, but the recognition and usability of the control depend on platform conventions, labels, input gestures, and accessibility practices. The same state machine can be rendered as radio buttons, a drop-down, or a stepper with different human meaning.
Structural Core vs. Domain Accent¶
The core is a finite ordered cycle with a current state and successor operation. The domain accent is a compact GUI control that displays one selected value, changes on activation, and communicates state to users and applications. Removing the accent yields the cycle prime; keeping it prevents prime-level transfer.
Instantiates / Related Primes¶
cycle: the last option transitions back to the first.state_and_state_transition: each activation moves a persistent selection between defined states.interface: the control maps human input to application state and exposes feedback.
Relationships to Other Abstractions¶
Current abstraction Cycle Button Domain-specific
Parents (1) — more general patterns this builds on
-
Cycle Button is a kind of Cycle Prime
cycle: the last option transitions back to the first.cycle: the last option transitions back to the first.
Hierarchy path (1) — routes to 1 parentless root
- Cycle Button → Cycle → Network → Reservoir-Flux Network → Conservation Laws → Invariance
Neighborhood in Abstraction Space¶
Cycle Button sits in a sparse region of the domain-specific corpus (98th percentile for distinctiveness): few abstractions share its structure, so a faithful description tends to retrieve it precisely.
Family — Unclustered & Miscellaneous (1565 abstractions)
Nearest neighbors
- Progress Indicator — 0.76
- Branch Table — 0.75
- Odds Algorithm — 0.75
- Wason Selection Task — 0.75
- Markov Renewal Process — 0.75
Computed from structural-signature embeddings · 2026-09-08
Not to Be Confused With¶
- binary toggle button or switch;
- checkbox;
- radio-button group;
- drop-down list or combo box;
- spinner/stepper;
- carousel;
- focus traversal cycle;
- a command button with a changing action label.
References¶
[1] Commodore-Amiga. Amiga User Interface Style Guide, “Application Gadgets by Type: Cycle Gadget.” https://amigaos.exec.pl/amiga_user_interface_style_guide/application_gadgets_by_type.html registry ↩a ↩b
[2] Commodore-Amiga. Amiga ROM Kernel Reference Manual: Libraries, cycle gadgets. https://tele-work.hu/RKM/AmigaROMKernelManual.pdf registry ↩a ↩b