Sometimes an application treats a situation as an error when the situation is, in fact, completely normal.
For a good example of a poor user experience, consider Microsoft Outlook’s support for the IMAP mail protocol. The vast majority of consumers use the POP protocol to get email at home, which generally forces them to keep all their mail on one machine at home. IMAP, in contrast, lets you keep all your email on the server, where you can get to it from work, home and on the road. Most email clients -- including those found on cell phones -- support IMAP. Upon hearing of these wonders, most people will ask why IMAP isn't used more often.
While large portions of Microsoft Outlook are very well designed, there’s no escaping the fact that the Office team cares first and foremost about the enterprise market. Large enterprises have more money than you do. They use Exchange, and Outlook's support for Exchange is fantastic.
People who use Outlook outside of an enterprise struggle along with support for POP mail that hasn't improved appreciably in years. While POP isn’t great, at least Outlook's POP driver is reasonably solid. Outlook's IMAP driver, on the other hand, appears to have been left for dead in the jungle, where it was raised by apes.
Among its many deficiencies, the driver can’t properly cope if you use two different machines (say, at home and at the office) to check your email. This scenario is one of the reasons for IMAP’s existence, and most IMAP clients handle this situation gracefully: if they see another client is checking the mailbox, they wait for a while then try again. If you try to use Outlook this way, however, the IMAP driver throws up the following error:
Your IMAP server has closed the connection. This may occur if you have left the connection idle for too long.
Not only is this message a poor indication of what's actually going on, Outlook displays this message every few minutes until you shut down one of the two Outlook clients trying to reach the mailbox. Outlook even displays this dialog even if Outlook is already displaying another instance of the same dialog. This is insane. I can come home from a day of work and see, literally, a hundred of such errors sitting on the screen.
Somewhere, deep down in the IMAP driver, there's probably a core function that checks for new mail. It's a sure bet that if this function is unable to check for new mail -- if, say, another email client is already checking the same mailbox -- this function returns an error. The function does this not because there’s anything really wrong, but because the function doesn’t have any other way of communicating what’s going on. The developer who wrote the calling function assumed that any error result is a real error, so they wrote the calling function to punt things off to a general purpose error handler that displays a generic error message. The limited forms of expression in code have completely warped the top-level user experience.
That explains why the error dialog got into the product, but why did it stay? Clearly the simplest reason is that none of Outlook’s developers use the product’s IMAP driver themselves. The above error is exactly the kind of thing a developer will kill in five minutes if it's in the way of them doing their own work. It's reasonable to assume that the reason no Outlook developers use IMAP is because they rely primarily on Microsoft-supplied Exchange accounts for email at work. The rest of the world suffers at home because of this.
I use so many of Outlook’s PIM features that I could never go back to a pure email client, but if all you need is mail, I’d encourage you to try Mozilla Thunderbird, which has excellent IMAP support.
So true... I use IMAP for exactly this scenario (work laptop, home desktop) and Outlook's support for it is spotty at best. The IMAP driver hangs more than all other Microsoft products combined on my machine.
Posted by: Ben Elowitz | August 25, 2005 at 05:27 PM
Unless things have changed since the last version of Thunderbird I used, the IMAP support there is far worse than Outlook's.
Yes, that pop-up is extremely annoying, but far less annoying (to me) than the fact that Thunderbird only checked one IMAP folder at a time for new mail -- the one you were presently looking at.
Which doesn't work very well if you have multiple accounts.
Posted by: Pete Holiday | September 10, 2005 at 05:40 PM
Is it possible to write a new Outlook driver for IMAP?
I'm planning to use IMAP, but as the author, I'm "trapped" into Outlook because of the many PIM features I use...
Posted by: Fernando | September 11, 2005 at 02:48 AM
I would love to use Outlook for email, but can't for the very reasons you cited. It is just insane. I have been using Thunderbird for about eight different IMAP accounts simultaneously, and it's a dream. Not sure what another commenter was implying, but Thunderbird does check all the accounts. Another feature that any grown-up email client must have is a dropdown for From: addresses. Outlook's implementation of this is crappy.
I think if Microsoft's engineers spent a couple of days with any startup and monitored how email is used, they would see just how poor their U.I. is. In a startup, one or two people might monitor multiple mail aliases. Without arobust IMAP implementation and the "personality" feature, you're out of luck in this situation.
Posted by: Nik Kalyani | September 11, 2005 at 08:50 PM
Thanks to Joe Bork , there is at least a hack to partially avoid this horrendous bug. I encounter it because my Treo fetches my IMAP email every 15 minutes, which immediatel causes the Outlook error message on my laptop. Multiple client access to IMAP servers works fine with Thunderbird and every other IMAP client; only Outlook sucks. This is a pathetic indictment of Microsoft's lack of interest in serving their customers.
As for Thunderbird, Pete Holiday can fix his problem of checking multiple mailboxes by right-clicking each folder he wants to monitor and selecting "Check this folder for new mail". (What Thunderbird then does wrong is to make a new mail sound and system tray icon across all of those folders, as opposed to Outlook, which monitors multiple folders but only makes alerts for the Inbox.)
Thunderbird, with Mozilla Calendar, Contacts Sidebar, and other extensions, will probably be a credible Outlook-competitor within the next 12 months. Right now, though, it lacks some critical abilities like supporting integrated Outlook-compatible meeting invites, non-modal contact pages, and other smaller UI bugs. But at least they appear to care about their end-users.
Posted by: dankohn | September 16, 2005 at 05:00 PM
It's too bad that Outlook 2003 has so many good features, yet it contains so many "slap the customer in the face" problems that no one seems to be able to leapfrog the application and produce something measurably better across the board. Here's my fun "unknown" error of the day in outlook:
http://www.wiredprairie.us/journal/2005/09/another_useless_error_dialog.html
Posted by: Aaron | September 24, 2005 at 12:22 PM
The joy of picking on Outlook is the highs are so high and the lows are so low.
The schedule+ team was one of the first teams to really get nonmodal feedback right with their "You have conflicting appointmeents at this time" hint helpfully but nonmodally sitting near the 'accept' button.
And then the email side pulls clever tricks like getting messed up so it can't send/receive email, and then when you restart it to fix this, it modally asks "There are messages in your outbox, do you want to quit?" As Jan is fond of saying, have some guts.
And let's not even get started on the desire to see multiple email accounts. Rarely has the ratio of users who need a feature (who among us does not have more than one account?) compared to the tininess of the effort put to understanding user needs been so out of whack.
But then again, we all keep using it.
Posted by: Peter H. | October 21, 2005 at 12:56 AM