I am writing about design patterns in mobile applications. "Button", apart from being a user control it is also a design pattern used in order to perform some action.

I am trying to abstract the "physical button" (that is, a UI control) from the design pattern of allowing the user to perform a certain action at a given time.

I provided the description to each design pattern by stating the Name, followed by its description (What), usage scenarios (When), reasons to apply such design pattern (Why) and usage examples (omitted from this question).

I am having troubles in defining the Why among the following points:

  • Name: Button
  • What: A button can be used in a page to perform an app-specific action. Use a verb or verb phrase to describe the action the button performs.
  • When to use it: Use Button to initiate an action.
  • Why to use it: Users must be able to ``tell'' the application to perform certain actions.

Do you think my reason is valid enough?

Feel also free to express feelings whether "allowing the user to perform a certain action at a given time" is not actually a design pattern.

  • 2
    I still dont get your question...
    – Mervin
    Feb 22, 2014 at 17:28
  • There are so many different types of buttons and they all have different purpose. Are you talking about buttons in general or a specific type of button? Feb 22, 2014 at 19:58
  • I answered the question on the title, but after writing it and reading again your post, I'm not sure if you want that or something else. And it seems that I'm not the only one, could you clarify the situation?
    – PatomaS
    Feb 23, 2014 at 8:11
  • Hi, I tried clarifying the question. Both answers I received so far are very valid and I thank you for that. I will read them over and over again before accepting.
    – maggix
    Feb 23, 2014 at 13:57

2 Answers 2


A button is something associated with starting an action or process. That relation comes from the physical world and so it translates well to the digital world.

Any person that sees a button, knows that after pressed, the state of things will change, it's also known that the button is related to the things close to it, so combining both ideas, you have that a person recognizes that after pressing the button on the app/web site, the state of the environment is going to change, which translates on information being sent to be processed and produce a response, or start an action, or stop an action, or any other action described on the button.

Of course, we are talking about buttons that make sense and are reasonably explained and/or labeled.


I assume that "button" means the rectangular UI element

  • with a verb (in imperative mood) as its label
  • that may have physical states such as pressed and normal (not hover because you can't do it in touch interfaces)
  • that does not require to be placed in a specific container and only be siblings with the same type of UI (as what happens with menus)

Let's start with your initial "Why" - to tell the application to perform certain actions.

It is true that buttons, when clicked, tell the application to perform the action of the verb written on it. You definitely want to use a button for the verbs Create, Update, Save, Commit, and Cancel. Those verbs pertain to working with data.

There are also verbs that pertain currently running processes in an application, such as Start, Play, Pause, Resume, Stop, and Terminate - which are also valid candidates for a button. Use these buttons when you play audio or video, or when you want to poll data from external sources periodically.

The thing is "to perform certain actions" can also mean "go to a specific part of my app so I can do something else." This is where you should NOT use buttons. Instead, use menus or links for these.

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.