A modal dialog window is a message that pops up in front of your screen, and prevents you from continuing with your task until you've dealt with it. One example is a version of the Windows XP shutdown dialog, shown to the left. Users get here by choosing Start > Shut Down. Potentially, if they Shut Down accidentally, unpleasant consequences could result, so this dialog is designed to prevent accidents. It also surfaces related options (Logoff, Suspend, Restart, etc.) that may not appear at the initial level.
Contrast this solution with the pictured Macintosh OS X Leopard shutdown dialog. Instead of requiring a user action to confirm the shutdown, the system counts down before shutdown. A button is provided to skip the countdown, but users could simply walk away after the single command to shut down, and consider their task complete. The designer discusses this feature's design at length in his blog, contrasting it with the Windows XP and Vista solutions.
Modal dialogs proliferate online, not just in operating systems. The lightbox style modal dialog, where the browser dims the page behind the dialog, is popular in web applications.
Problems with modal dialogs include:
- Users habituate to dismissing them quickly, so they don't offer protection.
- They may be hidden behind other windows. (I have this problem frequently with Adobe Acrobat's print dialog.)
- They slow users down. In many cases, a better design would achieve the same goals without slowing users.
Firefox 3 and Google Chrome have killed the "Remember my login" modal dialog with its new browser bar implementation. Contrast this bar with Internet Explorer 7, which takes over the screen and requiring users to immediately decide -- save password or not?
This is great because it keeps users immersed in their activity. Remembering the password is a useful feature, but it's still optional. The browser bar surfaces the feature at the correct time without requiring users to stop everything and service it.
If you're building web applications, kill your modal dialogs for asking permission. Google Gmail, for example, foregoes delete confirmation and provides a link to undo your delete. Undo is better than Are You Sure?
A nice article about this (focusing on the gmail design) here: http://www.alistapart.com/articles/neveruseawarning
And of course, the Google Chrome/Firefox 3 handling of saved passwords is a huge usability win over its predecessors.
On the other hand, I think both the Mac and Windows shutdown dialogs are problematic, for different usability reasons. I actually think shutting down is one of the few appropriate uses of a modal confirmation-- it's not likely that someone chose shut down without knowledge of the consequences, but they may have chosen it by mistake-- it's a good idea to make them confirm it before wasting several minutes of their time going through a reboot cycle. (Actually, though, an OS that offered a "Cancel shutdown" button during the shutdown cycle would be a nice change, and would eliminate the need for the modal dialog).
But when I work on a Mac I'm liable to click a window accidentally after choosing shut down, and then I wonder why the shutdown isn't proceeding. On the other hand, the Windows shutdown is a case of too many choices-- I just said shut down, why is it offering me choices!?
I think modal dialogs ARE overused-- especially confirmation warnings. But sometimes, an interruption is really what is needed in the design. The user MUST make a decision in order to proceed. In web apps, lightbox-based modals are a huge improvement over using a seperate web page for dialog content.
Posted by: David C-L | September 07, 2008 at 10:12 PM
Thanks for your thoughtful and skeptical comment David, and for that link to Aza Raskin's article.
Posted by: Joshua Ledwell | September 08, 2008 at 10:21 AM
Amen!
And similarly, "focus stealing" is something that sends me through the roof. When I'm doing lots of stuff in the background, and a task that started 10 minutes completes.... and shoves itself in front of what I'm doing (sometimes causing me to click on a dialog box that I didn't inted)....ugh
See here: http://www.codinghorror.com/blog/archives/001011.html
Posted by: Dan | March 21, 2009 at 10:14 AM
I agree that the firefox/chrome delayed password question is an improvement. But let's consider some typical shutdown scenarios:
1: you shut down your workstation at work to go home
2: you put your laptop into hibernation
3: you close your home pc to do something else
4: you close your home pc to plug in some new hardware/fiddle with some cables/...
Of all the above, I can't see how a 60 second delay would be useful, except for #3.
1: someone could hit 'cancel' and access your data.
2: you don't want to wait because the next move is to stick the laptop in your backpack
4: the next move is to open the case/...
Posted by: Patraulea | March 22, 2009 at 08:23 AM