You’ve got … no, wait … nevermind

Being a web programmer, and by extension a Webmaster, I get a large amount of email. Surprise, right? But, the vast majority of those emails are just BCC confirmation emails, such as order confirmations. I get them so that when a customer calls up and says "I never got my order confirmation email" I can tell them to fix their broken spam filter (Earthlink users, you know who you are) and resend it.

Point being, whether I am in Outlook or Thunderbird or Eudora or Lotus Notes, I make extensive use of email filters. Most of those filters end with "… and mark the email as read", because I don’t need to see them as they come in – I just need to have them on hand. The problem comes from the fact that absolutely none of those email clients does the right thing when it comes to the New Mail Indicator icon in my system tray. That is, if I get a single email and a filter marks it as read, all of those programs will still show the New Mail Indicator.

Am I the only one that thinks that’s the wrong thing to do?

Logically, yes, by the very definition the New Mail Indicator shows that I have mail that is new. Which, in my example, I do. But, by being pedantic, the New Mail Indicator has become completely useless to me. There are so many false-alarms as to make me just switch the New Mail Indicator off and fall back to just opening my mail client every now and then to manually check for new mail. My attention and concentration are too precious to break them every 5 minutes to tell me I don’t actually need to do anything.

The feature’s intent, regardless of its name, is to tell me that I have new emails to look at. By that intent, if my filter marks an email as read, then I don’t need to read it, and thus don’t need to be alerted.

We’re talking about one flag here:

int newMailCount = 0;
int unreadMailCount = 0;
while(new msg = GetNextMailMessage()) {
    if(msg.unread) unreadMailCount++;
if(unreadMailCount != 0) showNewMailIndicator();

How frickin’ hard is that? In fact, I’ll go you one better to handle the case of people that don’t think like I do:

bool hideIndicatorWhenNoUnread = GetOption('HideIndicatorWhenNoUnread');
if((newMailCount != 0) and ((hideIndicatorWhenNoUnread == false) || (unreadMailCount != 0))) showNewMailIndicator();

Oh, and here’s another hint: if I have a filter that automatically marks an email as read, I probably don’t need a preview of that email to pop up when it comes in.

We’re coming up on the 25th anniversary of SMTP next year. Anyone want to take bets as to whether any of the major email clients will fix this by then?

By Rick Osborne

I am a web geek who has been doing this sort of thing entirely too long. I rant, I muse, I whine. That is, I am not at all atypical for my breed.