September 12th, 2005

Using categories to tame your in-box.

Most of us get way too much email. If you are in habit of emptying you mailbox, there is a small design change you can use to help manage this email overload. Based on how email is addressed, you can categorize your in-box to focus your attention on email that matters. There are five ways to categorize incoming email:

  • Email addressed to you alone. Usually this is of the most interest to you.

  • Email addressed to you and others.

  • Email where you are cc'ed. Usually not that important, most often for information only. Usually this is the largest category of emails.

  • Email where you are bcc'ed. Usually small, but can be important. Especially if you are a manager.

  • Email from the internet. Often the least important email in a corporate setting.


  • Of course you can combine this with the R6 email color preferences - e.g. mail email from you boss can have a red background. Usually that mail is the most important! You can add a counter on the left of each category, which is vital when you collapse them. Finally, the new R6.5 "View Show Unread" is also very useful. Turn it on, and the collapsed (or expanded) categories show only the totals of unread email.

    Note that this categorizing technique works best in a corporate setting where most of your email is from inside the company. If most of your email is from the internet it won't really buy you anything (because everything ends up in one category). Below is an example from my in-box:

    CustomInBox.gif


    The code behind this is quite simple. In the R6 mail file, the in-box column 1 is hidden and used to calculate the color of rows. Insert new columns in positions 2 to 4:

    Add Column 2: The "Counter" Column

    Create a "counter" for column 2 in the in-box. Make the formula for the view 1 (i.e. the integer 1). Total the column and hide the detail rows.

    Add Column 3: Hidden Column to Sort In-box Categories

    Modify this column to change the category order. And of course, remember to hide it.

    temp := @LowerCase ( @DbTitle );
    @If (        
    !@IsUnavailable(ApptUNID ); 1 ;
    SMTPOriginator != "" ; 6;
    @Contains ( @LowerCase (SendTo); temp) & @Elements ( SendTo ) = 1; 2;
    @Contains ( @LowerCase (CopyTo ); temp); 4;
    @Contains ( @LowerCase (BlindCopyTo); temp); 5;
    3
    )

    Add Column 4: The In-box Categories

    Create a categorized column for column 4 in the in-box. Unfortunately there is no way to pass @username as a parameter into a view. The trick here is that the database title MUST be the user's short name (or you hard code the common name; only feasible for testing the idea). Although @username appears to work in the view, it fails if an other user, e.g.an admin assistant, views the mail file.

    temp := @LowerCase ( @DbTitle );
    @If (        
         !@IsUnavailable(ApptUNID ); "Calendar" ;
         SMTPOriginator != "" ; "Internet email";
         @Contains ( @LowerCase (SendTo); temp) & @Elements ( SendTo ) = 1; "To " + @DbTitle + " only";
         @Contains ( @LowerCase (CopyTo); temp); "cc";
         @Contains ( @LowerCase (BlindCopyTo); temp); "bcc";
         "To " + @DbTitle + " and others"
    )

    That's about it. Personally I like this approach very much, and have found it very useful. But I am wary of releasing it to large number of users because I like to minimize the number of changes made to the mail file. However, I would be very interested to hear comments from you folks out there, and possibly suggestions of further extensions.