I'm using a checkbox for a setting in a mobile app that has a one-time effect: that is, you turn it on, it has the effect once, and then resets itself to off. I'd like to know if there's a better style of control, or a visual metaphor I can use to make it clearer that the behaviour is not like a normal checkbox (where you check it and it stays on).

If you're having trouble understanding what the control actually does, here's some more background. This app shows a dialog with a list of possible actions to take, and lets the user create rules. If the rules match the current situation, one action is taken automatically and the dialog isn't shown. In case the user creates a very broad rule they later want to override with a more specific rule, there's a "manual override" control that turns off evaluating rules for the next time the rules would run. This means the dialog will show again, with the matching action highlighted, so the user can use the same workflow to create a new rule, instead of having to go through the external "rules editor" workflow.

One alternative I've already considered is the slidey switch control (what Android calls a Switch), but it has the same problem: users wouldn't normally expect it to switch itself off. If you're going to suggest a switch or checkbox, make sure to justify why it's not a problem to break the user's expectation of persistence. I'll try to make the behaviour clear in the text label in any case, but the right affordance can be worth n words for large values of n.

  • Have you had problems with the checkbox solution or are you just considering alternatives? It's a true or false value that persists until the context changes (until the rules are next run) so a checkbox seems reasonable, as long as its label is clear enough.
    – Matt Obee
    May 8, 2014 at 14:25
  • @MattObee I'm just considering alternatives. I'm still at the mockup stage with the actual design.
    – Dan Hulme
    May 8, 2014 at 14:27
  • For now I try to imagine your app by thinking of a "dry run" mode for the "single-use checkbox" (as you call it). For me, your background is not clear enough. You should give move details what the app does. What are these rules and what means stuck? They can't work with the application anymore? Maybe a saftety/emergency mode the user may always enter is an alternative. But this highly depends on the usecase. :) Jun 7, 2014 at 15:53
  • can the checkbox be unchecked before the effect of checking it takes place? i.e. it needs to be undoable?
    – Dave Haigh
    Jun 7, 2014 at 19:02
  • @try-catch-finally Think of a pop-up blocker with an "always for this site" option, but where the rules are as complex as email filters. It's possible to make a rule that matches very broadly, and then since the rule stops the dialog being presented, it's hard to undo that or make a more specific rule.
    – Dan Hulme
    Jun 8, 2014 at 7:13

2 Answers 2


I think a standard button may be a better choice for this. You press it to execute an action, but it doesn't persist in an on state. It matches the metaphor. If possible, once the switch is thrown (or once the button is pressed), the user should see (instantly, optimally) that changes have taken place. If they can, the button no longer has to carry the communication.

This would be similar to a "clear filters" switch.

If you want to get skeuomorphic, you can show this as a springloaded button that, once pressed, snaps back into place.


Essentially you are queueing up a behavior to executed once. Perhaps a better metaphor for this might be a kind of "up next" list that contains the behavior. Something very roughly like this: enter image description here

  • Could you explain this a little further? How does the user enable and cancel the override?
    – Dan Hulme
    May 8, 2014 at 15:32
  • @DanHulme I'm not sure what the standard add / remove options look like on Android, but I guess you could have a little + button / add option beside "On Next Execution" and a - beside "Manual Override" so it can be deleted.
    – Franchesca
    May 8, 2014 at 15:39
  • @DanHulme of course, this might all be overkill compared to the simplicity of a checkbox. I would definitely do a little bit of usability testing to see if a checkbox really is a problem.
    – Franchesca
    May 8, 2014 at 15:41

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.