rulururu

post Messing with modal popups

February 9th, 2008

Filed under: UI, coding, programming, usability — mike hall @ 12:28 am

The dialogs popped up via the common Windows APIs through either MFC or the .NET framework always put the buttons in the same place, whether it’s an OK, Yes/No, OK/Cancel, whatever. Having controls in same place is a good thing. It make use of the user’s spatial memory. The user remembers and automatically knows where the controls, or in this case buttons, reside.

The problem is that typically modal popup dialogs are modal and popup precisely because they require the user’s attention. They need to ask the user something, confirm something, or simply alert the user to something. And since popup modals are all the rage, users get very used to simply dismissing them since either the user already knows what they say or the user simply doesn’t care. A form of popup dialog dismissal habituation has set in and combined with spatial memory automatically being invoked… BAM! no one reads your popups anymore.

So how do we fix this?

Well, some applications randomly rearrange the buttons (and don’t set a default button), so that the user has to read the text. Well, they have to read the button text, but they still don’t have to read the text in the body of the popup itself. And I don’t know about you, but those popups just piss me off. “Ok, where’s the darn button now???”

So what options do we have left? I’ve seen some people spouting that modal popups should be banned completely. Great! …now what do we put in their place? I agree that getting rid of modal popups would be a big win, but doing that requires doing all the confirmation and alerting in the form itself which requires much more code than just MessageBox.Show(). For example, how do you make sure that the user saw your alert? How do you make the user confirm something if they can continue using the form?

I don’t know about you, but I don’t see getting away from modal popups any time soon… but maybe that’s just me. Has anyone else had success in this?

4 Comments »

  1. The real truth is that in order to avoid confirmation dialogs, you should make every operation recoverable, so that if the user is unsatisfied, he can simply undo.

    Comment by Tomer
    February 9, 2008 @ 2:24 am

  2. You should definitely read About Face, this is a big topic in it. He strongly recommends getting rid of modal popups. All they do is frustrate users and insult them by asking “are you sure?” The UI should be designed so problems are indicated unobtrusively and you need to allow Undo and Cancel.

    Comment by Anonymous
    February 9, 2008 @ 9:50 am

  3. Tomer,
    Making an operation easily undoable definitely would help, but that only fixes the “Are you sure” Yes/No type of modal popups. And there are still times where you either can’t undo an action or it’s extremely difficult to.

    Comment by mike hall
    February 9, 2008 @ 1:56 pm

  4. Hey Anonymous (or should I say Scott?),
    I was mostly referring to About Face when I was talking about this above. But there’s still problems to simply removing modal popups. Simply saying “just put them in the form” is easy to say, but not easy to do. And sometimes you absolutely need the user to see your message, so trying to alert them unobtrusively won’t work. Anyway, I haven’t read the whole book yet, so maybe my opinion will change afterwards.

    Comment by mike hall
    February 9, 2008 @ 1:59 pm

RSS feed for comments on this post. TrackBack URI

Leave a comment

ruldrurd

Powered by WordPress, Theme based off the "I'm Okay" theme by Laurentiu Piron

Creative Commons License This work is licensed under a Creative Commons Attribution 3.0 United States License.


Disclaimer: The opinions expressed herein are my own personal opinions and do not represent my employer's view in any way.