A modal dialog box is the software designer making a claim that the software cannot do anything else until the user makes a decision. Upon closer examination, this claim is almost never justified. It’s usually a case of developer arrogance: developers assuming that because they have to care about some edge case in the software control flow, the user should have to care about it too.
There’s a particularly egregious example in Thunderbird 7.0 which I’ve seen a lot of lately because I’ve been composing a lot of emails offline.
I’ll be on the train or something, happily offline, typing an email in Thunderbird for later sending, and suddenly I’m interrupted by this:
Email composition, interrupted. Train of thought, destroyed. Input window, blocked. I cannot continue until I’ve processed what the software is asking me and made a decision.
Alright, Thunderbird, what’s the problem? Oh, you couldn’t save my draft to my mail server? Gee, I wonder why. Maybe because I’m not connected to the internet. There’s no reason I would expect you to be able to save a draft right now.
The correct behavior would be for Thunderbird to keep checking, silently, for an internet connection, and to save the draft to the server as soon as a connection becomes available again. But there’s no button for that, so I click “Cancel”.
Argh! Another one! What is it this time?
…An error message telling me my draft could not be saved. Thunderbird, I just told you to stop trying to save my draft. Why are you using an error message to report that you’re doing as I told you? That’s not an error, that’s the expected result of the button I just clicked. Why are you telling me anything at all? Why are you putting another dialog box in my way instead of just letting me get back to my email?
Jef Raskin used to call these “Monolog boxes” — they’re like dialog boxes except there’s no dialogue because the software isn’t asking me for any information. It’s just complaining to me and then making me click a button to acknowledge that I heard its complaint.
So that’s a modal dialog box followed by a modal monolog box just to tell me something I already knew, which is that I’m offline so of course drafts can’t be saved. And this pointless ritual recurs every ten minutes or so when Thunderbird tries to save my draft. If I’m composing multiple emails at the same time, I have to dismiss these pointless dialogs for every composition window!
The way to fix this interface is quite simple. There’s no reason to interrupt the user to report on the status of saving the draft. Thunderbird should allow me to keep typing my email while it displays a discreet warning message — off in the corner of the window, perhaps — to the effect of “This draft has not been backed up.” Even that much is arguably unnecessary, because the right thing to do in this case is obvious: back up the draft to my hard drive, and then sync it to my email server when an internet connection becomes available again. This can be done without any user input at all.
When the right thing to do is obvious, software should just quietly do it. It shouldn’t interrupt me to ask my permission or complain about problems.


December 7, 2011 at 8:29 pm
I use Evolution, myself. It’s a little better in this regard – it doesn’t use modal popups, but the notifications it gives when network connectivity is lost are still rather intrusive.
Personally, I don’t see why my mail reader needs to tell me about that kind of thing at all. Managing network connections is NetworkManager’s job, not Evolution’s.
December 7, 2011 at 8:49 pm
how about the dialog that asks for NNTP server credentials without telling you which news account it applies to? and yes, it does this over and over too.
December 7, 2011 at 8:56 pm
a) I agree, but b) Write the email in a text editor?
December 7, 2011 at 9:35 pm
Is Thunderbird in offline mode when this happens? I’m just sort of surprised because I do a lot of offline mail writing in TB (3 hours of commuting every day, sometimes with, sometimes without wifi in the train, which is being rolled out) and I’ve never seen any of these dialogs.
December 7, 2011 at 10:00 pm
Never seen these either, but I agree with the tone of the piece. I’m going to show it to my colleagues tomorrow since our software behaves in exactly the same way.
Love the term “monologue box”
December 7, 2011 at 10:05 pm
I usually see this when I have network issues. The message that bugs me is something like “cannot save message to sent items.”
I agree that the message should not be so intrusive. As you have suggested it could be saved to the hard drive and synchronized when the connection stops misbehaving.
December 7, 2011 at 10:46 pm
Aki said:
> Write the email in a text editor?
If my only goal was to reduce my own aggravation, sure. But I’m also trying to identify areas for improvement in our products so I “eat my own dogfood” as much as possible.
December 7, 2011 at 11:02 pm
“When the right thing to do is obvious, software should just quietly do it”
But you’re saying it’s obvious in 2011, as if someone just added that now. I haven’t checked the history of this particular dialog, but much of the Thunderbird UI is still around from the Netscape/Mozilla suite days, and with the development resources Thunderbird has, change does not happen quickly.
The obvious solution is to keep your drafts and sent email in a local folder instead (which is what everyone used to do before they had 5GB IMAP boxes…)
December 7, 2011 at 11:27 pm
And, by the way, Thunderbird 7 is insecure and unsupported – you should upgrade to at least Thunderbird 8…
December 7, 2011 at 11:34 pm
“When the right thing to do is obvious, software should just quietly do it. It shouldn’t interrupt me to ask my permission or complain about problems.”
My parent have a microwave with an amusing misfeature along these lines. To set a timer, you must touch the TIMER button, enter the duration, and then hit START.
If you just enter a duration and then hit TIMER, it pops up a message telling you the correct way to set a timer… the software knows exactly what you are trying to do, yet refuses to do it!
December 8, 2011 at 12:09 am
I brought this up on Yammer during the email apocalypse. I ended up filing bug 707827.
December 8, 2011 at 12:52 am
I think I need a little practise searching bugzilla, as I can’t believe nobody has filed this but the closed I’ve found is https://bugzilla.mozilla.org/show_bug.cgi?id=147519 (which is the same thing, but with a 2002 attitude to modal dialogs).
Aki said:
> Write the email in a text editor?
Thunderbird has a message editor. It’s designed for the purpose of writing email should be able to beat any text editor hands down.
December 8, 2011 at 8:28 am
Yeah, these are very irritating. As far as I know, they pop up when you’re offline but TB is not in offline mode (and therefore still thinks you’re happily online?). Sometimes, TB does detect when you go offline (or online) but not always. So one obvious thing to do would be to fix that.
Even so, I guess the dialogue/monologue boxes should be gotten rid off as well.
December 8, 2011 at 8:30 am
Thing is, Thunderbird is stuck in the 90s as far as usability. Look at Sparrow, Gmail, even mail.app, those are the current standards… Thunderbird doesn’t even support compose-in-a-tab even though Mozilla popularized tabs almost a decade ago.
I suspect Thunderbird is dead, but nobody at Mozilla wants to admit it. It stopped evolving (despite numerous version number increments) when the original dev team left Mozilla a few years back.
December 9, 2011 at 12:55 am
There are several older bugs along similar lines… the closest I can find are:
https://bugzilla.mozilla.org/show_bug.cgi?id=670801 and
https://bugzilla.mozilla.org/show_bug.cgi?id=678949 .
https://bugzilla.mozilla.org/show_bug.cgi?id=678947 is a more general case of “bad” error messages when TB thinks it’s online but can’t connect (as Raf mentioned).
There are probably more filed…