A toggle is a binary control (like a switch) that lets people manage the state of something. It’s most commonly found in everyday technology, like smartphones, to enable and disable features such as WiFi and Bluetooth(r). In software applications it’s used to change display modes or enables/disable settings. Toggles are typically displayed as a small button, but they can be in any form as long as the interaction and behavior remains consistent. Toggles can be used in conjunction with other controls to create more complex interfaces, such as sliders or radio buttons.
Toggles are a great way to minimize scrolling and provide visitors with the ability to find content relevant to them. It’s important to use them sparingly however, as they can create a confusing user experience if overused.
When a toggle is on, it should be clearly labeled as such. It’s also best to avoid ambiguous language when describing the behavior of a toggle. Instead, use adjectives to describe actions and the state of the object affected.
Savvy teams view their inventory of Feature Toggles as carrying a cost and seek to keep it low by being proactive about removing toggles that are no longer needed. For example, some teams add a task to remove a toggle from their backlog whenever the toggle is first introduced. Others set “expiration dates” on their toggles so that they are automatically removed if they’re still around after the expected lifetime. Some teams even go so far as to use their release pipelines to automatically delete toggles when they’re no longer needed.