≡ Menu

Ok, Cancel the Ok and Cancel Buttons

Share the knowledge

I have a simple request to make of developers who design dialog boxes for the applications I use: stop forcing me to translate every decision you ask me to make into a choice between Ok and Cancel.

Since this is nominally a Teamcenter blog I’ll pick on their BMIDE first. This is the dialog you get if you attempt to reload a project that has unsaved changes:

Now, I’m reasonably smart; my lips don’t usually move when I read. But I really have to slow down and read messages like this a couple of times to make sure I don’t click the wrong button. What is it with having to translate ever decision into Ok and Cancel? Is their a tax on using more than six letters on a button? How about having us choose from, oh I dunno, buttons that are actually labeled with the actual options? Is it really so hard to do something like this:

Doesn’t this make it more clear what will happen if I click a particular button? And notice that I added a real, don’t do anything! option — which is what I would normally expect cancel to do.

So please, before you design a dialog box with a bunch of complicated instructions about when to click Ok and when to click Cancel, why don’t you try to replace the default labels with a short description of what the buttons themselves actually do?

Microsoft’s Turn

Here’s another example that could use some rework. This is the dialog you get if you ask Excel to save a CSV (comma separated value) file:

I mean, sheesh, c’mon. I’ve been working with CSV files for years and I still have to read that carefully each time.

One more thing…

Something else that annoys me: Web developers who force me to enter my debit card number without any spaces. Because they couldn’t spend five minutes figuring out how to deal with spaces it’s now ten times harder to verify the digits are correct before clicking Buy. Seriously, what crappy language are you using that makes it so dang hard to strip spaces out of a string of input?

  • http://hooverm.pip.verisignlabs.com/ Teamcenter Heretic

    Back in the days when I wrote Motif programs the guidelines were clear… OK meant do the action and dismiss the dialog, Apply meant do the action and leave the dialog and Cancel meant Doh!  I didn’t really want to do this so lets bail out…

    I don’t mind these choices as much as I loath are the “are you sure” dialogs!!!
    duh, if I selected the option either I’m an imbecile or I really meant to do this.

    I’ve been complaining about some of the dialogs associated with the Create User function and fortunately Bob Donovan agreed with me and we should see changes in the near term IRMs of TCUA.

    • http://plmdojo.com Scott Pigman

      I like Apple’s Mac OS X Human Interface Guidelines, which state:

      Ensure that the default button name corresponds to the action you describe.
      In particular, it’s a good idea to avoid using OK for the default
      button. The meaning of OK can be unclear even in alerts that ask if the
      user is sure they want to do something. For example, does OK mean “OK, I
      want to complete the action” or “OK, I now understand the negative
      results my action would have caused”?

      regarding the, are you sure dialogs, the guidelines say this:

      Avoid displaying an alert for common, undoable actions, even when they cause data loss.
      When users delete Mail messages or throw files away, they don’t need to
      see an alert that warns them about the loss of data. Because users take
      these actions with the intention of discarding data (and because these
      actions are easy to undo), an alert is inappropriate. On the other hand,
      if the user initiates an uncommon action that cannot be undone, such as
      Secure Empty Trash, it’s appropriate to display an alert in case the
      user didn’t mean to take the action.

  • N Hed

    Love the last paragraph, as a former webdev I always thought of adding those lines of code. Professionalism I call it. And 
    http://www.useit.com/ all the way!

  • Pingback: 12 Ways to Improve the BMIDE Interface - The PLM DojoThe PLM Dojo()

  • Pingback: PLM Weekly News: December 23rd, 2011 - Zero Wait State()

Optimization WordPress Plugins & Solutions by W3 EDGE