Programmers Stack Exchange is a question and answer site for professional programmers interested in conceptual questions about software development. 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

Often when configuring settings, applications have both an "Apply" and an "Ok" button. Should the "Ok" button always perform the "Apply" before closing the window out? Are there pros and cons to doing this?

share|improve this question

closed as off topic by jmort253, World Engineer, JeffO, Bernard, Caleb May 8 '12 at 2:10

Questions on Programmers Stack Exchange are expected to relate to software development within the scope defined by the community. Consider editing the question or leaving comments for improvement if you believe the question can be reworded to fit within the scope. Read more about reopening questions here.If this question can be reworded to fit the rules in the help center, please edit the question.

This might be a better fit for User Experience – Daenyth May 8 '12 at 1:06
@Daenyth - I think this has already been covered on UX - but if not a repost might be OK (ha!). However, I think the issue needs to be restated (not sure how though). – ChrisF May 8 '12 at 7:55

Yes, the OK button should always "Apply". I don't see any cons, as there usually is a "abort/close window" button to revert the previous settings, in case you mis-configured something.

The optional "Apply" button should set the changes made in the current dialog without closing it. IMHO it is a convenience button, which is really useful in complex dialogs with many settings (e.g. Eclipse Preference Dialog).

share|improve this answer

At this point, Ok, apply, and cancel are the equivalent of household names. So many other applications have adopted the standard that apply means just apply, ok means apply and close, and cancel means cancel and close that making an attempt to change this or "be witty" in your application is more likely to just confuse, frustrate, or cause your users to make mistakes. The psychological impact of mistakes makes your users feel bad, and they associate this bad feeling with your application, not their lack of knowledge on how it works.

As an example of this concept, one of OpenOffice's successes with Calc came about because they lowered the barriers to entry for Excel users. When I first started using Calc, I was surprised that many of the same shortcut keys worked the same in Calc, and this made it easier for me as a user to commit to using Calc.

Had OpenOffice decided to completely redo their idea of how the shortcut keys worked, OpenOffice may never have gained a successful following.

If you apply this same concept to your application, you would really want to ask yourself what you have to gain by changing something that is not only tried and tested, but that also eliminates a potential and unnecessary learning curve in your application.

share|improve this answer

I personally do not like "OK" buttons.

I have seen too many "The application has messed up and all your input will be lost" messages followed by an "OK" button when it is clearly not OK.

The "OK" button is used/misused in so many different ways in so many applications that it is effectively meaningless. "Apply" and "Cancel" generally mean what they say.

share|improve this answer
A co-worker once showed me one of those "you are losing all your work" dialogs he had coded. I pointed out that there is nothing "OK" about losing all my work. The next time he showed it to me, the dialog said "Oh well." – Wayne Conrad May 8 '12 at 1:48
The question isn't about "OK" on error dialogs but about "OK" and "Apply" on settings/property dialogs. – ChrisF May 8 '12 at 7:56
@ChrisF -- the point is overuse and misuse of the "OK" button has rendered it meaningless. "Apply"/"Cancel" is much better. – James Anderson May 8 '12 at 10:24
@JamesAnderson - Apply and Cancel have no meaning for error dialogs which you appear to be talking about here. – ChrisF May 8 '12 at 10:26
The problem is one of standardization. No one familiar with computer applications takes the meaning of an "OK" button literally. – Cody Gray May 8 '12 at 11:56

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