Mail 2.0: What happens while sending messages

Posted by Pierre Igot in: Mail
February 21st, 2007 • 4:02 pm

Mac OS X’s Mail has a pretty long history of sheer idiocy when it comes to sending e-mail messages.

But there is one aspect that has always been particularly irritating to me, not just as a Mail user myself, but as someone who provides Mac tech support services to other Mail users.

The problem is with what happens while Mail is in the process of sending a e-mail message out. Before you click on the “Send” button, the mailbox drawer in Mail looks like it normally does, i.e. it has an “Inbox,” a “Drafts” mailbox that contains messages that you are in the process of composing and that you have saved while composing them, and a “Sent” mailbox that contains all the messages that have already been sent:

Mailboxes before sending

As long as you don’t click on the “Send” button in your message window, the message that you are currently composing stays in “Drafts” (provided that it has been saved, either by you manually with the “Save” command or by Mail automatically, which it tends to do after a while or when you switch to something else while composing).

So far, so good. The problem starts when you click on that “Send” button. If the message is fairly short and contains no attachments, the process is pretty quick and you might not even notice what happens. But if the message is very long or contains large attachments, then you can definitely see the process that Mail goes through, step by step.

And the first step is the very thing that bothers me the most. Once you click on the “Send” button, the message actually disappears from the “Drafts” mailbox, and the “Sent” mailbox changes to “Sending…“:

Mailboxes while sending

And it stays that way as long as the sending process has not been completed.

This particular step bothers me for several reasons:

  1. It’s plain ugly. Mail uses the actual text label of a specific interface item (the “Sent” mailbox) as a way to convey a message to the user that is only indirectly connected to what that interface item actually represents. Since when can the text label of a static interface item double as a status area? Is there any other interface in Mac OS X that uses such an ugly “shortcut” to convey a message to the user about the current status of an operation in progress? This, of course, is due to the decision made by Apple’s engineers in Mail 2.0 to eliminate that status bar that used to appear directly under the Mail toolbar in version 1.0. They eliminated the status bar, but realized that they still occasionally needed to convey messages about the status of certain operations in progress, so they decided to temporarily take over the static text label of a static element and use that as a location to convey the message. Yuck! These are Apple engineers? Do they have no shame?
  2. If you select “Sending…” while Mail is in the process of sending the message, Mail continues to display your list of sent messages, excluding the message currently being sent. In other words, not only does the text label temporarily display a status message instead of the text that should normally describe its contents, but on top of it that temporary message misleads you into thinking that you will be able to see the message that Mail is currently in the process of sending by clicking on it, when actually it does not show you that message.
  3. And lastly, exactly where is the message that is currently in the process of being sent? It’s not in the “Sent” box, as we have just seen. It’s no longer in the “Drafts” box either, as you can see in the screen shot. (The message count next to it is back down to nothing, i.e. zero.) So where is it? Well, that’s the kicker: It is nowhere. It is not in any visible part of the user interface in Mail. While the message is in the process of being sent, it effectively disappears from the user interface altogether and stays in some kind of UI limbo, until it’s finally sent—and then it miraculously reappears in the “Sent” box, as expected.

This, of course, wouldn’t not be too much of a problem if things never did go wrong. But, when the Internet is concerned, experience dictates that things do indeed go wrong on a regular basis: The SMTP server temporarily stops responding for some reason. People temporarily lose their network connection. Etc. All kinds of ugly things can happen. And, as is too often the case, Apple’s engineers appear to have designed their user interface based on the assumption that nothing ever goes wrong—and then they appear to have only added clumsy ways to solve problems when they do occur as an afterthought in the UI.

In the case of this particular process (sending mail) and the problems that can and will occur, the question is the following: If the message disappears in interface limbo while it is in the process of being sent, what happens if, for some reason, the sending process fails? It has to end up somewhere, doesn’t it?

Well, in that case, here’s what happens. If the sending process fails, then, as if by magic, a new mailbox appears in the mailbox drawer. That new mailbox is called “Outbox“:

Mailboxes when sending fails

This mailbox is not visible by default when you first launch Mail. But when a message sending process fails, then it does appear, and the unsent message ends up in that mailbox. Curiously, this “Outbox” stays visible after that, even if the message sending process is successful later on and the message does get sent and moved to the “Sent” box. But if you quit and relaunch Mail, then the “Outbox” disappears again, until the next time you have a failure.

Now, my question is simple. If Mail does actually use an “Outbox” as the temporary location for messages while they are in the process of being sent, why is this “Outbox” not visible at all times? Why did Apple’s engineers not use that mailbox as some kind of area to display the status of messages while being sent? It would make much more sense than changing the “Sent” box to “Sending…” (Even when the “Outbox” stays visible after an error, Mail continues to change the “Sent” mailbox to “Sending…” while sending messages.)

Come to think of it, if that “Outbox” were visible at all times, wouldn’t the message count that appears next to it be enough of a status indicator to indicate that a message is in the process of being sent? People monitoring the path followed by their messages would see that they go from the “Drafts” box to the “Outbox” and then from the “Outbox” to the “Sent” box. It would be pretty clear and would make sense. But in this case Apple’s engineers appear to have decided that that very ugly and inelegant use of the “Sent” mailbox’s text label was preferable. I really have no idea why.

One additional problem is with what happens when the sending process does fail. The message gets stuck in the “Outbox” mailbox that appears—and that’s it. At this stage, most of the users that I provide tech support to get confused. What are they supposed to do now? If they click on the “Outbox,” all they see is the contents of that mailbox, with the unsent message listed. But there is no indication in Mail’s user interface of what to do to get Mail to try sending the message again (assuming that the temporary network failure is resolved). There is nothing that says that the user has to double-click on the stuck message to open it in a separate window and then press the “Send” button in that separate window’s toolbar again. It’s not natural, it’s not obvious, and they invariably have to ask me for help when this happens.

So here we are. Sending mail is a pretty essential process. When it comes to e-mail, it does not get much more basic than this. But for some reason, Mail 2.0’s user interface makes the process unnecessarily complicated and non-intuitive. The interface is OK (although still very inelegant) when things work as expected. But as soon as something fails, it’s a disaster. (And I am not even mentioning the utterly non-intuitive and misleading “Do you want to use another STMP server?” modal dialog box here. I have already discussed that one in the blog posts mentioned at the beginning of the article.)

12 Responses to “Mail 2.0: What happens while sending messages”

  1. Michael Tsai - Blog - Mail’s “Sending…” Source says:

    […] Pierre Igot: […]

  2. henryn says:

    It just happens that my wife ran up on the rocks with Mail 2.0 on her just updated system: She inadvertently tried to send a 15MB file attachment, which the SMTP server obviously rejected… but there was NO feedback from Mail, the outgoing message just stuck in the Outbox. Looming deadline… near-panic. Mail should tell users _something_ about what’s going on in such cases. Oh, yes, Mail became impossible to use, virtually locked-up with the message stuck in the outbox, so she couldn’t send an email to her intended recipient explaining the situation.

  3. Pierre Igot says:

    Yes, Mail is critically flawed when it comes to handling such situations.

    First of all, it should never allow you to send 15 MB messages without at least a warning about the size. Mail is hardly alone in that respect, but that’s no excuse. It’s irresponsible for software developers to allow their users to misuse e-mail software like this without any kind of warning. You cannot blame the users when there are so few indicators of file size in e-mail clients to begin with.

    I have already spent many hours of trouble-shooting time for various persons in order to solve problems created on their systems by such situations. (If I were cynical, I would say that software developers should continue to be so irresponsible, because this helps ensure that there’s always going to be work for professional trouble-shooters like me.)

    As for what happens after that, yes, again, Mail’s entire queuing process for sending messages is flawed. The complete lack of feedback is inexcusable. I certainly don’t want to advocate more modal dialog boxes in our interfaces, but this is the extreme opposite, and it’s just as bad from a user’s point of view.

  4. morgant says:

    If you have multiple SMTP servers Mail will open up the mail message with the error with the option of sending from another server (regardless of what the error is). What’s up with that? The SMTP protocol has some pretty specific error codes (just like HTTP, etc.) that are returned and Mail really should be able to act based upon the code returned.

    I believe that the Outbox was originally intended for Mail’s “Offline” mode, but the it’s not even there by default when launching Mail in said mode. The fact that they really didn’t have a contingency plan better than dumping it into a mailbox that normally is hidden is pretty sad.

    Regarding having to double-click on the message in the Outbox to try to send it again, you’d think they could have reused the warning (exclamation mark in a triangle) that they use next to the mailbox/Inbox names when they encounter an error to indicate that an individual message in your outbox had a sending error.

  5. vincitveritas says:

    Actually, if I’m not mistaken, clicking the “Get New Mail” button will actually send any messages that happen to be waiting in the “Outbox.” I know, not terribly intuitive, but it is similar to functionality of similar buttons in other e-mail clients, particularly Entourage.

  6. oxypete2 says:

    My beef with Mail concerns the junk mail box. Yesterday after removing/deleting all junk mail AND emptying mail’s trash, I happened to do a wide search – searching for the term “stock” in all messages in all mailboxes. The result box included numerous messaged that were tagged by mail as junk. But my junk mail box was empty. I never figured out where those messages were. Clicking on the “show in mailbox” function didn’t help – Mail would switch over with the title of the frame reading “No mailbox selected.”

  7. hawkman says:

    I completely agree. The whole sending/sent/magical outbox thing makes me cry. Particularly now, when I have to rely on flaky, fails-more-often-than-it-works campus wifi.

  8. Hawk Wings » Blog Archive » Betalogue savages Mail’s sending silliness says:

    […] Over at Betalogue, Pierre Igot, who has an eagle-eye for flaws in Apple’s user interface design, unloads on the behaviour of Mail’s Sent mail folder . […]

  9. Pierre Igot says:

    morgant: The issue with the SMTP servers is an important, but separate one, which I have discussed elsewhere. I too feel that this dialog is pretty much useless and very misleading (leading users to think they can send mail from just about any SMTP server, when it’s obviously not true). It definitely adds to the poor quality of the mail sending experience in Mail.

    oxypete2: There are numerous issues with Spotlight in Mac OS X 10.4. This is just one of them. We can only hope that things are better in 10.5—although I wouldn’t raise my hopes too high.

  10. npiaseck says:

    Huh. My Mail has never ever done the Sending … Sent thing. The only way I know that something is sent is to listen for the swoosh sound, or to use that bizarre “Activity Viewer” in the Window menu.

    I wonder why? If something’s just borked or if it’s because I’m using IMAP instead of POP?

  11. Pierre Igot says:

    npiaseck: It’s probably because you have a fast Internet connection and you don’t send e-mails with large attachments. The process is only really noticeable when sending large messages with a slower connection, where the process takes a while.

    Of course, it’s possible that, with IMAP, things are somewhat different (although messages still need to be sent through an SMTP server). Given that I have never had the luxury of a fast Internet connection, I don’t have much experience with IMAP.

  12. terip says:

    Does anyone have any ideas on why mac mail stalls when checking pop accounts? I work for a small ISP. We’ve had several issues with Mac Mail and this seems to be the latest. There’s always mail out on the mail server. Mail looks like it is checking mail but nothing comes through. Customers can telnet to the mail server on port 110 (these are POP accounts). Would appreciate any help I could get on this one.

Leave a Reply

Comments are closed.