User Experience Stack Exchange is a question and answer site for user experience researchers and experts. Join them; it only takes a minute:

Sign up
Here's how it works:
  1. Anybody can ask a question
  2. Anybody can answer
  3. The best answers are voted up and rise to the top

I am prototyping a small Android app where the user inputs weights (well, masses). For the weight input form, I hesitate between

  • A top bar containing a 'back' button on the left (arrow-like, iOS style) and a 'save' button on the right (which as a side-effect would take the user back to the main screen)


  • A bottom bar containing two rectangular buttons, 'Cancel' and 'OK' (both having the aforementioned side-effect).

Which one is more idiomatic/predictable/better?


share|improve this question
up vote 4 down vote accepted

Remember the user has a "back" button on Android, however in this situation it sounds like they should either be saving or cancelling the form. "Back" might imply that you're leaving this menu but you can come back (as some apps DO let you do); cancel would imply you're clearing the data from the form, which I assume you're doing.

Making the back/cancel button look like part of the navigation might also suggest this effect; form entry cancel/save buttons are usually at the bottom. I would avoid the top bar unless you consistently have a top bar for navigation throughout the app; in which case you might even want to leave a back button on the top for all pages, and give an explicit cancel button for any forms.

As for save/okay I think they're both fine, depends on how you word your application I suppose; Save is more formal and makes more sense for a regular data entry perspective. "Ok" uses more common vernacular but I doubt either would confuse or imply anything incorrect.

Save/cancel seems to be the most semantically correct considering what I assume your application does. I wouldn't want users to question what happens when they click a button like "back" on a form, and I certainly wouldn't want them to mistakenly assume the data will be there on return.

share|improve this answer

Your Answer


By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.