One of the unnecessary evils of GUI programming is the "Process Dialog Box", what we think of as MessageBox.Show. You know, like this:
All kidding aside, these dialogs are frequently abused for displaying all kinds of trivial information to the user, a mistake that Alan Cooper calls stopping the proceedings with idiocy. Don't like the data the user entered into a form? Well then, let's immediately pop up a MessageBox and notify them about it! Thus the main form loses focus, and the user has another modal window to to acknowledge before s/he can continue doing anything with the main form. This completely breaks any flow of interaction the user had with our app. A better solution is to passively flag the field-- perhaps paint it with a pink background, or use the web metaphor of the red asterisk placed to the right of the field. Whatever you do, avoid stopping the proceedings with idiocy at all costs.
But even when following that guideline religiously, you'll still find yourself painted into corners where you really, really need to let the user know that something happened. Right now. And the current GUI toolkit is woefully inadequate for expressing this to the user. What are my options? Display something in the status bar? The previous versions of IE6 did it exactly that way, at least for certain classes of errors such as javascript errors on the page. However, one of the interesting side effects of installing Windows XP SP2* RC2 is that it adds non-dialog based notifications to Outlook Express and IE6. For example, here's IE6 notifying me that it blocked download of that crazy, dangerous Firefox browser-- a clear security risk!
I love this solution, and I want someone to copy it immediately and make it available as a WinForms user control! There's just no question that this is a far better solution than popping a modal dialog with the same information. It's also better than the "put an icon in the status bar" solution, because it's more visible, it's at the top of the window where the work starts (nobody sees the status bar), and it contains more information. You can click it to get a menu of actions relevant to the condition, in this case, unblocking the download or turning off the nofication entirely per-site or per-system.
It's funny, because I had often considered this dialog box conundrum-- which is really endemic to all GUIs-- and thought back to the interface from an old computer game from 1999, Dungeon Keeper 2. The game was constantly sending you notifications of various things going on throughout your dungeon; the notifications would visually flow into a queue with a summary icon to indicate the type and severity of the notification. That way you could continue playing the game without interruption, and process the messages as you deemed necessary.
* AKA the "gee, we're sick of getting all this bad publicity about our crappy default security settings" patch.
I know this post is two years old, but it was linked to in one of your posts just a few days ago.
I have to say, I am not a fan of this solution. Why? Because 90% of the time, I don't even notice that little notification strip. I have been trained so thoroughly by blinking banners and animated flash ads to ignore non-content crap that flashes onto my screen, that a subtle pastel-colored strip with text at the edge of the "content area" is virtually invisible to me. Especially since I use mouse gestures and don't have to leave the content area in order navigate.
Probably it would work better in other apps, at least at first. But I have a hard time believing users, myself included, would not just train ourselves quickly to ignore this there just as we have with dialogs. Especially if they continue to be used as frivolously as dialogs are currently.
WaterBreath on September 8, 2006 2:43 AMI completely agree with everything this article says. I really think that M$ should make an app for power users like us that will let us access these settings easily. Also, for the n00bs, there could be presets like "Check this box to disable all the fricking nag windows." this would make me want to support M$. Currently, I am a die-hard Freespire fan. Go to the light side! Linux is the answer!
Alex on November 9, 2006 11:35 AMI'm not a fan of how it shifts the text of the webpage down. Often this box comes in about 1 or 2 seconds after enough of the page has loaded for me to begin reading, and often when it pops up and the text shifts down, my eye ends up reading the same line twice.
philihp on February 8, 2007 12:12 PMThe "notifications in a queue with color coding for severity" thing seems very similar to what is done to present warning messages in aircraft computer systems.
Anonymous on October 30, 2007 12:43 PMWhat I really hate about modal dialog boxes is that an application instance that has a modal dialog box open may be a candidate for opening a document that you double click in an explorer window. When that happens, you have to cancel or complete the dialog box before working with the document. It's even worse when the reason that you opened the document was to copy some information from it and paste it into the aforementioned dialog box, and the dialog box doesn't save its state when you cancel it in order to copy the information.
Paul Mikell on December 6, 2007 4:37 AMI was very, very pleased to see that Firefox 3.0 Beta 2 places the "Do you want to save this password?" dialog in a bar at the top of the browser, exactly as pictured. We're making progress!
Jeff Atwood on December 21, 2007 10:33 AMError and warning messages should be written to stderr and appear in a console window at the bottom of the screen. When stuff happens, a line of text appears in the console, but the user isn't interrupted.
This was standard practice under Unix for ages. It should be adapted to modern windowing environments.
TW on January 22, 2008 5:21 AMThis is a pervasive problem, and it still hasn't been solved. Internet Explorer's pop-down bar is still too intrusive and, like philihp said, stupid for pushing the whole webpage down in a clunky, animated fashion.
There needs to be a standard GUI concept/convention/widget for issuing notifications that can be ignored. It's 2008 and everybody still does it differently, usually popping up some kind of 200 px rectangle in the lower-right corner. But it's very annoying that every app does it with their own colors and image styles. It should be handled through the OS.
Matt Montag on April 9, 2008 3:03 AMOh btw, what TW said!
Matt Montag on April 9, 2008 3:04 AMThe problem with the highlighting of input fields is usability. Colorblind people may not be able to notice anything highlighted in a particular color.
But I love the idea, glad to see firefox has been using it.
Chris on June 19, 2008 2:42 AMThe way Firefox 3 uses the Notification / Information Bar is quite nice.
A lot nicer then the dialog box that used to pop up, when remember passwords and such, breaking focus from the web page.
I've got a IE6 style implementation of the Notification Bar in C#, works on .NET and Mono.
http://www.coryborrow.com/2008/07/05/notificationbar-free-net-control/
Cory on July 6, 2008 6:31 AMThe really great thing about the Firefox 3 password dialog is that you can wait to see if your password worked before you save it. With the old way I was always wondering what if I mistyped the password because there's no way to know it worked until after you've saved it.
Chris Upchurch on August 23, 2008 8:43 AMI cannot agree with everything said in this post.
There are times when Dialog Box is more than necessary.
For a mission critical situation, say for prompting user if s/he would like to launch a nuclear missile, i rather see an annoying Dialog Box then some non-dialog based notifications.
Sung Meister on April 27, 2009 6:15 AM"I cannot agree with everything said in this post.
There are times when "Dialog Box" is more than necessary."
Usually the problem is just when the dialog box is used unnecessarily. It should be perfectly fine to interrupt a user in a critical situation.
Ben on June 5, 2009 8:43 AMHard to tell if I submitted that, since my post isn't there, and the page just reloaded with no verification notification
Ben on June 5, 2009 8:47 AMIndeed the IE6 notification bar is hard to notice for most users. Otherwise check all the important sites where they had to make entire GUIDES with screenshots on how to deal with the info bar that blocks downloads.
If I'm downloading a file, it's because I NEED TO DOWNLOAD IT NOW -- But IE6 instead STOPS it and when I agree (again) to the download, the page is entirely reloaded, making me waste lots of time to reload tons of flash banners ads from the source site. I think the info bar is the most useless and annoying creation in browser history.
Inuyasha on August 22, 2009 7:05 AMWhat I really think i a good thing is kind of what is used right now by growl on Mac OS X and has been used by Microsoft in Outlook since 2000. Instead of putting up a dialog box perhaps just something that will show the user what is going one without completely stopping the user from continuing in what he or she has been doing. When, for example a new song starts to play in itunes, growl will simply put a little box, (whose characteristics you can edit) at the top of your screen informing you which song is playing.
This is good because it allows the GUI to communicate more trivial things, e-mail, downloads, changed songs new users signing on in AIM without complete annoying the user. I like it.
Aaron Wangugi on February 6, 2010 9:29 PMThe comments to this entry are closed.
|
|
Traffic Stats |