I <3 Steve McConnell*
Coding Horror
programming and human factors
by Jeff Atwood

September 05, 2006

Unnecessary Dialogs: Stopping the Proceedings with Idiocy

Although I like Notepad2, it has some pathological alert dialog behavior, particularly when it comes to searching. Here's an alert dialog I almost always get when searching a document:

Reached the end of the document. Restarting search at the beginning.

Thanks for the update, Notepad2. I really wanted a whole modal alert dialog to tell me this important fact. And if my search text is not found?

The specified text was not found.

Because I couldn't possibly tell if the text was not found without a giant.. alert.. dialog.

These are both unnecessary alert dialogs that, collectively, destroy the flow of my search task. It's the GUI equivalent of that annoying little kid from Jerry Maguire telling me that:

the human head weighs eight pounds   bees and dogs can smell fear   my next door neighbor has three rabbits

Meanwhile, I'm trying to get some freaking work done.

Alan Cooper, in his book About Face 2.0, calls this stopping the proceedings with idiocy. And that's exactly what it is.

There is a particular form of excise that is so prevalent it deserves special attention. In Chapter 9, we introduced the concept of flow, where the user enters a highly productive mental state by working in harmony with his tools. Flow is a natural state, and people will enter it without much prodding. It takes some effort to break into flow after someone has achieved it. Interruptions like a ringing telephone will do it, as will an error message box. Most interruptions are avoidable; a few aren't. But interrupting a user's flow for no good reason is stopping the proceedings with idiocy and is one of the most disruptive forms of excise.

Poorly designed software will make assertions that no self-respecting individual would ever make. It states unequivocally, for example, that a file doesn't exist merely because it is too stupid to look for it in the right place, and then implicitly blames you for losing it. A program will cheerfully execute an impossible query that hangs up your system until you decide to reboot. Users view such software behavior as idiocy, and with just cause.

The canonical example of unnecessary dialogs, the delete confirmation dialog, lives on in Windows Vista:

Are you sure you want to move this file to the recycle bin?

The real irony here is that moving files to the recycle bin is a completely recoverable action. It doesn't matter what I click in this dialog. If I mistakenly "delete" files this way, I can simply recover them from the recycle bin. This alert dialog is utterly superfluous. It's just another button I have to click through to get my work done. Sure, I can disable it (and I have), but the fact that the delete confirmation dialog exists at all is a giant sock in the nose for usability professionals everywhere.

Here's how strongly I feel about this: every time you send your users to an alert dialog, you have failed them. In a perfect world, we should never see a single alert dialog. Ever.

Heck, I'm not even sure the dialog box itself was ever a good idea. There's a lot of evidence that users never read dialogs and quickly train themselves to mindlessly click through them. Consider Mike's latest experience:

Over the weekend I was at a meeting of parents where many laptops were open and we were all looking at a spreadsheet. One parent opened the spreadsheet in Excel and was confronted by that big dialog boxes that warns you about macros.

It was classic. She just stopped and said "What am I supposed to do!? What does this mean!?" She did not read one single word of the dialog box text. Being me and all, I said "What does it say?" and more-or-less made her read the text, mostly on principle. Not that it probably helped much, because even when she'd read that "macros can be harmful" or whatever it says, she asked me "But it's ok to open this spreadsheet"? Yes, it was. Who knows what she would have done if she'd been on her own. I'm not sure she knows what a macro actually is.

The web has been a dialog-free world for years, and nobody seems to miss them very much. Maybe this is why. I dream of the day when we can produce a dialog-free GUI.

Posted by Jeff Atwood    View blog reactions

 

« Transfer Mode Downgraded Software: It's a Gas »

 

Comments

Yes, those dialogs suck, but when searching i find it to be even worse that every application seems to have it's own "find next" shortcut. Visual studio is master in search suckyness though, but then that's where I spend most of my time so I'd notice it more.

Anyway, crap like that needs to be outlawed yesteryear.

Kris on September 7, 2006 02:38 AM

Couldnt agree more - the Find dialog is one of the very few issues I have with Notepad2 stopping it from being a flawless text editor for my uses (it also shouldnt be modal in the first place let alone have these popups).

Back to your point of dialogs - I found what the morons in the VS team at Microsoft did with VS2005 to be inexcusable - there are now more irritating dialogs than ever. For chrissakes they have a status bar for the IDE - use it instead! There are numerous examples but Edit & Continue in particular is a joke - you try to make a change in the code window yet only if the planets are aligned in a particular way can you do so without getting more modal dialogs in the way. I ended up turning the whole feature off - let me type when I damn well like and respect that I don't need to be told over and over modally what the impact of that is...

kiwidude on September 7, 2006 03:18 AM

It isn't the dialog boxes that are the problem, it's the modal dialog boxes.

We've had dialog boxes in the form of forms (ahem) on web pages for ever, but they don't force us to complete them before they'll let us get on with anything else.

Kirit on September 7, 2006 03:34 AM

At least the Mac's dialogs actually put the action text on each button rather than "Yes/No/Ok/Cancel" which requires you fully understand the question.

[)amien

Damien Guard on September 7, 2006 03:49 AM

I think it is nice to know that notepad actually got all the way to the end of the document. :)

Peter Palludan on September 7, 2006 04:16 AM

I think the reason why people don't read alert dialogs and instinctively go for "OK"/"Yes", is that they've been inundated with them since the dawn of time and become desensitized.

From what I've seen of Vista, the problem has only gotten worse.

Even with all the overuse, there are still times I want modal alerts for system-level "oh sh!t"-type stuff. Things like "your laptop battery is at 20%", or "your video card is about to melt".

peter on September 7, 2006 04:43 AM

I don't know if I agree. Yeah, OK, the case presented with NotePad2 (and "standard" NotePad does something really similar) is quite extreme, but there are certain cases where a dialog box is needed. Where a *modal* dialog box is needed.

Let's assume not every user is like us; not every user knows the inner workings of applications. I want to know the consequences of my actions when removing or updating a record, for example. If that configuration file needed to run the application is missing, I'd prefer the application to create a new one from scratch with "base" options instead of stop working, but I'd like a notice of it, thank you very much. And as a programmer I want to give notice of things like that on a modal box, to make sure that the user sees, reads and understands what he's going to do and the consequences of it.

Users don't notice/read modals? Their fault. And, OK, maybe *our* fault too for not using modals only when they're *really helpful*.

Carlos M Perez on September 7, 2006 04:45 AM

My primary modal dialog hatred is currently reserved fro the macro warning dialog in Excel. I use a couple of ~4MB spreadsheets for social sports organisation. These take around 10s to load on our sucky network (nominally 10Mb/s - yeah, right), which is enough time for me to switch contexts. And then the Excel macro warning dialog pops up, interrupting what I was doing. Because it's soooo important, it needs not just an app modal dialog, it needs a SYSTEM model dialog. Excel, go die!!!!!

Bah.

Anyway - IMO, the best searching UI is the one in Firefox. None of the other apps I use regularly comes close to the easy slickness of Firefox's wee search bar.

Stuart Dootson on September 7, 2006 05:18 AM

My primary modal dialog hatred is currently reserved fro the macro warning dialog in Excel. I use a couple of ~4MB spreadsheets for social sports organisation. These take around 10s to load on our sucky network (nominally 10Mb/s - yeah, right), which is enough time for me to switch contexts. And then the Excel macro warning dialog pops up, interrupting what I was doing. Because it's soooo important, it needs not just an app modal dialog, it needs a SYSTEM model dialog. Excel, go die!!!!!

Bah.

Anyway - IMO, the best searching UI is the one in Firefox. None of the other apps I use regularly comes close to the easy slickness of Firefox's wee search bar.

Stuart Dootson on September 7, 2006 05:18 AM

There are times when it is appropriate to use for certain users. I've always been an advocate of knowing your audience/users and giving options for both. In the case of Excel, it is helpful to know that something maybe harmful, but it needs better wording for the novice user. It could also use a setup macro the first time to set options like warn for macros and also give a brief description of what it is.

Don't condemn the tool for the programmer's sins.

Joe Palladino on September 7, 2006 05:24 AM

Here here! Gawd, do I ever hate those silly modal dialog boxes. Makes me appreciate the approach taken by Growl on OS X all the more.

Geoff Wozniak on September 7, 2006 06:13 AM

I think the reason you see so many modal dialog boxes is that it is easiest thing to code in the MS world. In both VB and VC++, all it takes is a one-line call anywhere in your code. You don't have to *bother* taking the time to design a form, or have to handle multiple threads (since that wonderful one-line call is executing in the same thread that called it - which halts everything). It is just too easy.
I also think the reason that so many people click through without reading them is that there have many, many genius developers that over use the dialog box with just an "OK" button. There is nothing else that you could possibly do besides click the button - so there is no reason to waste your time reading it.

Mitch Marcus on September 7, 2006 06:24 AM

As long as we're fixing Notepad2's Find dialog, can we have Alt+n be a keyboard shortcut to set the focus to the dialog's Find field, as is standard in most MS Windows apps (Visual Studio, Word, Excel, IE... and even plain old notepad.exe)?

Right now, Notepad2 doesn't seem to have a hotkey to set the focus to the Find field in the Find dialog. My natural workflow when I bring up a Find when I know I want to search backwards tends to be to first hit Alt+u to set "search up," and then fill in the text that I want to search for. In Notepad2, I either have to Tab or Shift+Tab, or reach for the mouse, to get back to the Find field.

Jon Schneider on September 7, 2006 06:28 AM

The most anoying "dialog" (if you can call it that) is the information bar in IE 6-7. It often informs you that it did not completely load the page or an active X control for your protection, and asks permission before loading (good). However, it does not tell you what its blocking and/or trying to load (bad). Clicking the "more information" link simply takes you to the help section on the information bar. Grrrrr.

Gabe on September 7, 2006 06:31 AM

The thing is, it isn't a perfect world. Decisions have to be made. Certain facts have to be presented. You should guide the user and also help them to understand. Yes, some dialog boxes are silly or unnecessary. But sometimes they are very informative and useful. Just because something is overused doesn't mean it should always be avoided.

Ken on September 7, 2006 07:10 AM

You're making the argument for Emacs, aren't you?!

Search for "Dialog Boxes: The Root of All Evil" in this page:
http://www.cabochon.com/~stevey/blog-rants/effective-emacs.html

piyo on September 7, 2006 07:21 AM

Kris - The only thing that Visual Studio does right for searching is that they have a (hidden) incremental search. The shortcut is Ctrl-i (Ctrl-shift-i for backwards). Then type the text you want to search for. Pressing Ctrl-i again jumps to the next match, similar to emacs searching. (However, VS doesn't seem to do case insensitive searches.)

David

David on September 7, 2006 07:32 AM

The "Find" text search in firefox is superb! So is VS2005's "Incremental Search".

Every time I find myself in IE, notepad, etc, and I need to do a text search, I press CTRL+F, then have to type the word into the box, click next, click next... maddening! I usually go so far as to copy the url from IE, CLOSE IE, and open the page in firefox JUST FOR THE TEXT SEARCH!!!

jdkludge on September 7, 2006 07:38 AM

I, too, hate dialog boxes. However, let's not necessarily blame the programmer. I can't count how many meetings I have had to sit through with a client who insists that a dialog box be put in place to inform the user that they are doing something stupid or irreversible. As much as I argue against it, even resorting to the truism, "but they won't even read it", it comes down to doing what the client asks for at some point.

Rich on September 7, 2006 07:49 AM

the notepad dialogs I hate too, but I don't know about the recycle bin.
most (all?) of those dialogs are based on actual studies from Microsoft on large groups of people that involve a lot more than computer savvy persons

of course, I would say, for "advanced" users like us, just make it configurable so we can get rid of it

Eber Irigoyen on September 7, 2006 08:20 AM

So what you're saying is: Dialog Boxes Considered Harmful?

Matthew on September 7, 2006 08:25 AM

Love this site. Anyway. Dialog boxes are usually ignored anyway and should be used when something really bad happens or unexpected, like say a nuclear meltdown. Status that just appears without interupting work flow seems a great approach and much appreciated. Google seems to have this down as well as Firefox.

Jason on September 7, 2006 08:27 AM

I disagree. Although many of the sentiments are well and true, the actual examples provided fail to convince. Here is what I mean:

Example 1: Sure...if I don't have any control over whether it starts again, why tell me. If I could Cancel, then this would be useful. I'm with you here.

Example 2: This is a valuable dialog. How often do you click a button and nothing happens. Did it work? Did it fail? Did it crash? Should I click it again? Maybe if I try anther word? Oh, it worked. OK, so I try again. Hmm. I guess it didn't find it.

Example 3: Delete confirmation. People ALWAYS toss stuff into the trash without meaning to. You're dragging crap around and trying to squeeze it in beside another document and doink...straight into the trash. And recoverable? Sure....but to the typical user? There is a reason so many users never empty their trash. They THINK that once it goes in it never comes out. So recoverable, yes...for a user who knows what they are doing...but for Joe/Mary User using her work computer a warning is really very helpful.

Marc on September 7, 2006 08:30 AM

If you remove those dialogs in Notepad2 then a majority of people will get confused and not be able to work out what happened. And when you have a situation where you can't remove modal dialogs because people will be confused, you really need to rethink how that compenent works. My personal favourite is something like Firefox.

[ICR] on September 7, 2006 08:33 AM

You could always download the source and remove those dialogs from the codepath.

Bill on September 7, 2006 08:56 AM

The Windows dialog boxes are often nothing more than liability transfers more than information. Infected? Hey, you chose to run the code.

Not that it tells you what will be run, how much code is there, or anything else remotely useful - it's just there so that MS can wash its hands of the responsibility for their products. Shameful.

Adam Gurno on September 7, 2006 09:11 AM

I think that dialog boxes are handy when you need the user's attention and selection of choices that do not belong to the user interface properly. But sometimes there really are too much dialog boxes. One really annoying thing is a layout of a search dialog that is badly designed. Like when the search results pop up into the dialog and the dialog is huge. Also it is annoying if the search dialog hides the text so that I have to move the dialog in order to see the text itself.

One other annoying thing are tooltips. There are just too many of them and they are nowadays popping up immediately so that when you move the mouse pointer, there flashes lots of tips around. The tooltips hide some text that you would like to see. And there are lots of tooltips that give zero information. I tried to adjust the Windows registry, but it didn't help.

Don on September 7, 2006 10:05 AM

I think one of the reasons Windows warns a user that they're sending something to the recycle bin is because a percentage of users still do not understand the metaphor.

Windows (and OSX) would likely benefit from testing a graphical enhancement to throwing things away by animating the icon representing the file being deleted moving to the recycle bin (essentially making delete the "drag-and-drop to the trash" key).

Generally speaking though, dialog boxes suck big time. (OSX's sheets are a VAST improvement as they connect the box to the application.) The issue of interrupting the flow of work for little reason should be understood by now.

I personally believe it disrespects the user by demanding her/his attention. Very few tasks should ever steal focus or modally disrupt the previous task.

Josh Peters on September 7, 2006 10:22 AM

Completely agree here. One of the things that might contribute to this is that message boxes are super easy to create. So given the choice between some custom logging solution and calling MessageBox.Show, the latter wins out.

Monsur on September 7, 2006 11:00 AM

To me the biggest problem with modal dialogs is that they want to steal the focus from the task at hand. As a high speed touch typist, I can't count the number of system modal dialogs that I either agreed with or dismissed by hitting "Y", "N" or the space-bar while typing something quickly at the exact moment some program wanted to tell me something *urgent*.

If it is important, isn't it important enough to *not* just start sucking up random keystrokes? x

Wesley Shephard on September 7, 2006 11:19 AM

I have to agree with Mitch Marcus on this one - it's the fault of whoever makes the GUI toolkits. It's easy to do MessageBox.Show(), but there's no easy way to do NonModalNotification.Show(). If Windows Forms came with that sort of thing, you'd see new apps behaving much better about this. While Microsoft was wasting time making windows transparent in Vista, they could have been improving UI for years to come simply by updating the tools they make available.

Ben Hollis on September 7, 2006 12:11 PM

Love these blogs, keep 'em coming.

I generally agree with the points made here, although I personally like getting feedback that the operation has completed. What might be better is the same text (search not found) but in the status bar instead of a dialog box.

Another alternative would be the option to disable these alerts.

Mike on September 7, 2006 12:31 PM

Ben Hollis - Non-modal dialogs in the traditional form aren't the solution. Removing modal dialogs requires, as I said before, a reworking of the whole concept, which often comes up with completely different concepts.

[ICR] on September 7, 2006 12:51 PM

The firefox search bar is great. For thoses who have not upgraded *condescending grin* besides the default ms-windows search keys, wonder if ms-office will even fully use them, you can hit the / key. This brings up a bar just above the status bar which allows you to enter the search criteria it also provides the status of the each, such as not found, looping around,etc.
It also does real time highlighting of the search phrase. Great for smaller document which most of your web pages are.

For large documents the ms-word 2003 is actually rather good. it is non-modal and if you modify something it start researching from where you edited. However even it will display modal boxes when for various things such as looping around.

will dieterich on September 7, 2006 02:14 PM


OK, so we all hate dialog boxes.

But they're the only tool we have in most standard toolkits. Or, if there are others, they are hard to use.

What we need is a few more options for displaying messages to the user.

Some of these options might demand a shift in how we program. For example, if a dialog is to be non-modal, you can't just call Show() or whatever and have it block until the user makes a choice, you need to set up callbacks or use predicate programming or some other more complicated thing.

Others will require some hard thinking and work on the part of both application and gui toolkit authors, and will need some context awareness to be truly effective. Do you show your unobtrusive firefox-search-style message on the top or bottom? Or maybe attached to the side of a certain window or panel, but out of the way of the user. It would be awesome if we could do that but someone needs to sit down and implement it.

As a secondary gripe then, it would really be beneficial to user interfaces if the GUI toolkits were more hackable. It took me a long time to get a control working in wxWidgets, and I turned around and ran the first few times I thought about adding a new widget to GTK.

Reed

Reed on September 7, 2006 02:19 PM

Is it really possible that people have this much time to discuss modal dialog boxes?

Steve on September 7, 2006 03:17 PM

Firefox's extension installer is one of the few good dialogs I have seen - it won't let you OK it until it has been displayed for several seconds, meaning you have to see what it is trying to install.

You can always cancel though.

Ian Tyrrell on September 7, 2006 03:35 PM

[ICR], I agree that there's a lot of space for innovation in the desktop UI. But look at some of the nice non-modal notifications we've seen in the last few years. There's the yellow info bar in Internet Explorer and Firefox (it'll tell you you need a plugin, or that you're about to install a Greasemonkey script). And there's the potentially overused "toast" popups made popular by MSN. The problem is that a lazy coder doesn't have access to these. You can't just include an InfoBar in your Form and say InfoBar.Show().

Ben Hollis on September 7, 2006 03:53 PM

Well we've had Balloon Tooltips for a number of years now, and they're still very underused. I think it's partly also habbit.

[ICR] on September 7, 2006 04:01 PM

Josh wrote: "Windows (and OSX) would likely benefit from testing a graphical enhancement to throwing things away by animating the icon representing the file being deleted moving to the recycle bin".

Please, please, please don't provide any more cutesy little animations. Those are even more annoying than the dialog boxes, in my humble opinion. Any animation screen that some UI specialist deems must be there should have a check box saying "Never show me this annoying stupid thing ever again".

I think Adam and Reed have hit the proverbial nails with: "The Windows dialog boxes are often nothing more than liability transfers more than information. Infected? Hey, you chose to run the code." and "Some of these options might demand a shift in how we program. For example, if a dialog is to be non-modal, you can't just call Show() or whatever and have it block until the user makes a choice, you need to set up callbacks or use predicate programming or some other more complicated thing." respectively. However, these are, IMHO, merely symptoms.

Having been a developer and a requirements writer I believe the problem with message boxes popping up is many fold (or is that manifold?). Requirements writers are often too lazy or lack the technical expertise to think through all the possible use case paths - we write about the main success scenario [see Alistair Cockburn in "Writing Effective Use Cases"] and maybe one or two alternate outcomes. We then naively hope that the developers, with their skill for detail, will spot the missing outcomes. Unfortunately, the developers either don't spot them or do spot them but don't raise the issue having been conditioned by us to not do that through years of us whining to their managers about nit-picky developers who have pointed out "nit-picky" little errors in the spec. Then, when the code is being built and the path that nobody thought of arises, all too often we, the developers, (note: I'm changing roles here) are too lazy to get up out of our chairs and go discuss with the requirements writer what to do in this situation. We may have already invested a lot of time hacking out the code that we never really designed and we don't want to have to rewrite that so we solve the problem by inserting a message box and then explain it to QA and the product managers as necessary or by design or too expensive to fix.

The problem is not the use of message boxes; it is the fact that in altogether too many projects, error handling and scenarios other than the main success scenario are ignored until the code is being written. The result is that unusual paths through the code are handled in an ad hoc manner that is annoying to the end user or brings the product crashing down or logs some informative message like "Unable to open Window handle. Consult your administrator" which may accurately describe the problem but doesn't actually describe the problem.

Tim Dudra on September 7, 2006 04:23 PM

> The firefox search bar is great. For thoses who have not upgraded *condescending grin* besides the default ms-windows search keys, wonder if ms-office will even fully use them, you can hit the / key. This brings up a bar just above the status bar which allows you to enter the search criteria it also provides the status of the each, such as not found, looping around,etc.

The firefox search model is close to perfect. I talk about that here:

http://www.codinghorror.com/blog/archives/000432.html

The one exception is that it doesn't return focus to the place you started when you close the search bar.

Jeff Atwood on September 7, 2006 04:30 PM

Ironically we use dialog boxes in our latest app specifically to break the users flow - we want them to pause - and they are "are you sure you want to do this" confirmation boxes.

We do this because on the two buttons they could click on that present the dialog boxes, they are buttons that should rarely be used and have significant consequences for the stock records that get altered and they could present a shortcut to lazy operators. So significant, that at the same time we send an email alert to the administrators.

So we actually benefit our users, not fail them. But we still stick to the flow theory. We do not alter their flow unless they really are about to do something that shouldn't be done casually.

I don't expect them to read the dialog box however but it does break their flow.

Paul Norrie on September 7, 2006 05:08 PM

Thanks for the very usefull tip David, but i still think VS sucks hard in comparison to XCode in many ways (though in some other ways, vice versa is also true) but the real workflow killer of the month, or year maybe? is that stupid little modal dialog that pops up every few minutes telling me that the updates have been installed and i need to restart my computer. Ofcourse the f#cker pops up just when i press enter on a line of code and the machine locks into reboot mode, vigorously closing all applications, which in turn triggers many more modal dialogs asking me to save or not. ofcourse, having to grab the mouse i get the pointer to the save button just in time to accidentally click the "terminate now" button in the "program not responding" dialog that pops up over the save button... that sort of thing really makes me want to hurt every last Microsoft engineer and UI designer on the planet.

Kris on September 8, 2006 12:40 AM

Hi,
sorry, but the suciest dialog award goes to an unknown Palm OS image viewer(dont want a lawsuit).
http://tamspalm.tamoggemon.com/2006/08/31/the-most-annoying-dialog/

When you rename a file, regardless if itm works out or fails, you get a similar looking dialog box!

People can be dumb...

Best regards
Tam Hanna

Tam Hanna on September 8, 2006 01:00 AM

Error messages are the one area where the old mainframe systems got it right - if you entered something wrongly, a coloured message would appear at the bottom of the screen, yet your cursor was still in the same place, and you just had to carry on typing, rather than confirm the message and THEN get back to work.

I have re-created this way of working in the web apps I write, and find it so much nicer the way you can stay in 'flow'.

Worth a thought.

Mags on September 8, 2006 01:31 AM

The Firefox search model is great. When I had to choose a search interface for the e text editor ( http://www.e-texteditor.com ), it was the natural choice (slightly modified to also support replace).

Alexander Stigsen on September 8, 2006 06:51 AM

I've been using Notepad++ for a while now, you should check it out:

http://notepad-plus.sourceforge.net

Matt R. on September 8, 2006 07:32 AM

Deleting files with the delete key in windows has to confirm deletion because 1) has said, most normal people don't understand the recyle bin 2) the Del key is too easy to hit.

You do not get a confirm dialog if you drag files in the recycle bin.

On the Mac, delete files is mapped to Ctrl+Backspace, so it's harder to hit by mistaken.

I do indeed want the Find window to tell me it's found nothing, btw. I need the feedback.

ulric on September 8, 2006 11:26 AM

Jef Raskin's book The Humane Interface has good reading on this with some underlyign research, but it basically confirms your intution: Basically when a dialog box comes up so often it's expected (like with search) it loses its value, but they do have some value when they actually appear unexpected and give a choice. He also proposed transparent nonmodal messages. It is too bad there aren't more options in Windows that are as easy to use as a message box.

Marc on September 8, 2006 12:50 PM

notepad++ ftw!!!

I also whole heartedly agree with your using the web as an example of a dialogless environment that works.

jonezy on September 8, 2006 03:09 PM

I personally think these dialogs are a complete waste of pixels and often are presented at the most inappropriate times. As an example, I can't count the number of times when I am in "the productive zone" in Visual Studio or Word when all of a sudden something pops up and disappears. What was it? I haven't a clue because I was typing and accidentally cleared the dialog. I hope it wasn't trying to tell the world is coming to an end again.

One of the worst offenders is Trend Micro Internet Security. It has an annoying habit of announcing when it is downloading updates, scanning the computer, going to potty, whatever. I have canceled these actions so many times because the dialog pops up right on top of an application while I'm typing. It's almost as if it's saying, "I need to do something important on your computer. Would you mind getting out of my way for a few minutes?"

If you need to do something, just do it and change the icon in the taskbar or display a message in the status bar. Popping up a dialog to tell me no search results found is distracting. Ahem... the cursor not moving to search results is sufficient and "not found" in the status bar is more than enough.

If the situation is dire and I must be interrupted, throw up a dialog the size of France. Otherwise, stay out of my way and let me work. Status bars were created a reason... to give status updates without interfering with creativity or real work. Dialogs are the computer equivalent of an annoying telephone that won't quit ringing: "Hi! It's your annoying computer again. I thought you should know I don't recognize the key you pressed."

Lothan on September 9, 2006 12:05 AM

Hi,
full ack!

I wonder why so many people create so moronic dialogs..and why so many bloggers started to blog about them recently =)

Best regards
Tam Hanna

Tam Hanna on September 9, 2006 04:47 AM

Hi Jeff,
I wholeheartedly agree with you on this. I am attempting to start a blog on Dialog Driven Software, which addresses interaction with a program in the form of a conversation between the user and the program. In the Notepad2 case, it's like this...

*des walks into store*

Des: Hi, I'm looking for a book by Jeff Atwood

Store Attendant: Okay, is that case sensitive, and which direction should I start looking in?

Des: Em, no, and, eh downwards?

Store Attendant: Ok.

Store Attendant: I haven't found it yet, I am going to start looking from the start

Des: Eh, ok.

Store Attendant: I haven't found it in the current store. Are you sure you actually want this book?


It's just bombarding the user/customer with statements that they don't care about and questions they don't understand the purpose of.

Anyways, if you're interested in the video podcast, you can find it here:
http://www.minds.may.ie/~dez/serendipity/index.php?/categories/6-Usability-Reviews


Des

Des Traynor on September 10, 2006 04:18 AM

In search dialog, I like to give the direction sometimes. If I know that the searched text is quite near above, then I mark "up", and if the file is really long, then I find the next text above. Sometimes I actually need the next above, even if it is upwards far away. So, the dialog has some search options, that I need sometimes and sometimes not. For example when I go to store and if I know that the book I want is in a certain shelf and if I suspect that the sales person is looking it from a wrong place, then I ask to look in the right shelf. Human clerks and sales persons do not have search options visible like dialogs have, but humans do understand the extra options I give them. Dialogs need the options visible, because it is easier for user to know what are the options that the function supports. Also dialogs can have the More...-button.

If computer file systems had a organizing plan that user could create, then the computer could use that information in file searching. But there usually are only MyDocuments, MyMusic and MyPicture -folders, where the computer can start searching unless otherwise instructed for C:\something\. Well, in VS there is this "goto declaration". That knows what we are looking and goes upwards first.

Don on September 10, 2006 05:45 AM

Dialog boxes are just about the most irritating things to any user - every single operation, however unimportant, requires an extra click - and by the time I have finished deleting three files from two dirctories permanently, even if those files (or even folders) are of zero size, I have had to confirm my intentions twice, and then go delete the files permanently !

Debayan on September 10, 2006 06:14 AM

I agree that one of the biggest problem with dialog boxes (especially modal message boxes) is that they're used way too often for everything under the sun. We tend to start ignoring them and they become noise, so we just click quickly to close them. I'm afraid we're all too trained at this automatic behavior to ever go back to retain their usefulness. In an ideal world, they would have served their purpose quite well. We may need a new "alert" paradigm and make it clear to developers that it's taboo to misuse it.

I actually like the deletion confirmation, mainly because many people still don't "get" the recycle bin metaphor. Case in point -- a PC neophyte friend of mine deleted a lot of very precious image files using a tool that does not display confirmation dialogs. She had no idea that she accidentally pressed the DELETE key after selecting several images. She called me up in a panic. She now knows what happened, and recovered from it herself after it happened again. This could have been avoided with a simple alert.

My main thought is that message boxes make sense for destructive actions, but the impact has been ruined by their overuse.

Using the status bar seems like a nice alternative on the surface, but I've seen studies (can't recall exactly where) that show that most users COMPLETELY ignore the status bar. Maybe what we need is more animation, such as used in CodeRush, to call attention without interrupting flow...but then we can easily fall into "arcade game" application behavior.

I also MUCH prefer the use of descriptive buttons rather than OK / Cancel / Yes / No options. It's amazing how few people can figure out how to word messages, and to match them up with either OK / Cancel -or- Yes / No. One of my biggest pet peeves is how many "professional" packages do this simple thing so horribly.

Mark Freedman on September 10, 2006 05:48 PM

What i mostly hate about the security-type dialogs (excel macro warnings etc) is the absence of any useful information that might help me to decide what to do. So the Excel document contains macros?
What do they do? What are they called? One macro or a thousand? Who has written them? When are they triggerend?

Or the "this web page contains active content" warning i get in explorer -- no hint
about whether its a piece of javascript or an activeX monstrosity.

Markus on September 11, 2006 06:57 AM

Can't believe nobody has mentioned this. You tell your computer to shut down, go home for the weekend, and come back to a box saying "foo isn't responding. Want to end the task?". Uh, ok.

First, I'm shutting the machine off, so why not just shut the program down?

Second, your box has been up there all weekend. How about timing out after, I dunno, 24 hours?

Third, sometimes it's a laptop. Thank you for draining my battery telling me some program isn't responding when I'm trying to shut the machine off.

Jeez microsoft, think about what your messages are doing.


jim on September 11, 2006 10:49 AM

I'm pretty sure it's a CYA technique for Microsoft to display some of those stupid messages (such as "foo isn't responding..."). It's like those ridiculous warnings on some product packaging ("WARNING: Swallowing this knife can cause death"). If you don't warn someone about the obvious, you risk a lawsuit.

I guess that as long as humans use software, we're going to continue to see these types of ridiculous messages. We always end up paying for the ignorance of others.

Mark Freedman on September 11, 2006 01:53 PM

Hmm, never seen that, I have seen a dialog with a progress bar giving the program 20 seconds to shutdown before it is terminated, but I guess it might depend om Windows version.

The reason they need to at least try and shut it down is because serious side effects may occur such as corruption of that programs files, take an encyption program for example, it could be pretty serious to just terminate it.

KL on September 11, 2006 03:37 PM

Several people have commented here that dialogs are a symptom of having users of different abilities. Several have suggested that we need a new way of thinking to present messages.
We have managed, through the magic of most (all?) modern OS's to get away from the hardware issues of being constrained by the 'lowest common denominator' hardware.

We need to do the same for users. Experienced users are consistently being constrained by the software companies producing software for 'LCD Users'.

I propose one possible solution in my blog:
http://www.kebabshopblues.co.uk/2006/09/12/stopping-the-proceedings-for-idiocy/

I like some of the other suggestions noted here, especially the Firefox search ~ though I think we need to agree that until this type of interface is STANDARD (and part of the OS?) that search bar will NOT be noticed / understood by some users!

Nij


PS. A note for Debayan - use Shift + Delete to activate 'permanent' delete (ie not to recycle bin).

Nij on September 12, 2006 04:03 AM

In a recently new site I develop, I put a delete button, that was so far from other controls, and so clearly labeled that I don't put the classic "are you sure?" dialog.

Guess what? One user call to say if we can add a "are you sure?" dialog!!

edddy on February 8, 2007 05:56 AM

I once worked in PC support - back in '86. We sent our HR dept on a word processing course, and on the first day back one of the chicks called and asked "There's a box on the screen - I was trying to get out of the program. What should I do?"
"What does the 'box' say?"
"Do you wish to save your work. Then there's a 'Yes' and a 'No'"
"Do you want to save your work?" I asked
"Yes" Said she.
"Then which button do you think you should press?"
"Yes?" She asked tentatively.

This is extreme, but demonstrative of the fact that we are as children as a race in this new technology. Dialogs are a fact of life, and until familiarity with a computer is as common as familiarity with how to walk, talk, and know what people mean when they talk, they will stay. 50 years from now they will be unnecessary.

Red

Red on February 8, 2007 06:06 AM

The worst dialog boxes are in Peoplesoft applicaitons. I'm used to version 8.4 (web-based). Let's say you're working on some information in one page, then navigate to another page using a menu option. A dialog box opens saying "You haven't saved your work. Press OK to go back to what you were working on, or Cancel to proceed."

Everywhere else in the free world, pressing Cancel at this point would return you to where you last left off, and give you the option to save. In the Peoplesoft world, pressing Cancel continues you on your merry navigation path and you lose the work you might have meant to save.

All their windows suck.

Peoplesoft Hater on February 20, 2007 01:51 PM

The version of Notepad2 that I am running (2.0.1.6) uses the "I don't want to see this anymore" method. It gave me the "Reached the end...Restarting..." message along with a "Don't display this message again" check box. I've noticed the same tactic for the "The specified text was not found" message.

I do think that message boxes are are overused, in general. Though, there are cases where I still do like them.

I'm typically a fan of "dirty" checks on close: "Did you mean to save those changes you made?".
I also tend to favor "double checks" for things that could be really annoying: "Doing this is going to take a long time, and will probably slow your computer down to a crawl. Are you sure about this?"

Much of the time, using some type of "Stop showing me this annoying message" option can make it all better.

Jim B-G on August 6, 2007 05:00 PM

yes, firefox has the best little text search ever. please everyone else copy that one.

gm on December 5, 2007 03:53 PM

(I kind of like the delete confirmation dialog boxes; I'm operating on a system with low disk resources, so Recycle Bin is configured to remove files immediately.)

Merle Zimmermann on December 7, 2007 01:01 PM

Merle,
Well a delete confirmation is a little more important. It is not non-sensical. Telling a user that it is relooping is silly, the user REALLY didn't need to know that...however alerting the user to the fact that a search has completed is not non-sensical either. It lets the user know the search is complete without any doubt. Similar to how some vb scripters might use a 'wscript.echo "here"' to see whether their code is being executed or conditions are being met as expected.

It just lets you know its done and don't bother waiting or wondering anymore, which I think can be a worse groove buster that a ringing telephone.

Scot McPherson on December 7, 2007 02:22 PM







(hear it spoken)


(no HTML)




Content (c) 2008 Jeff Atwood. Logo image used with permission of the author. (c) 1993 Steven C. McConnell. All Rights Reserved.