From MozillaWiki
Jump to: navigation, search

This page describes the related issues of management of the new flag in messages, and its relationship to BIFF.

Existing problems and needs

Notification of new messages

When a user receives new messages, a notification pops up with the number of new messages. That number does not seem to be related to anything recognizable by the user.

Errors in folder counts of virtual folders filtered on NEW

Desire to manage BIFF notification under control of user

Root causes

Confusion in definition of new counts

One major root cause is that the new counts are ill defined, including their relationship to the new flag on the message. There is clearly a need to maintain a count of new messages since the last BIFF notification, as you do not want to fire BIFF notification if a message has already been notified.

At the same time, users expect that a new message count is related to the number of messages in a folder that have the new flag set.

Proposed Changes

Message flags

The existing MSG_FLAG_NEW will be defined as "This newly received message has not been seen in the message pane of a folder since it was received" The flag is cleared when the user exits a folder which displays the flag, or when the message is marked read. This flag is relatively independent of the BIFF notification cycle, and should transition to being preserved between sessions in the message database.

A new flag MSG_FLAG_NOTIFY will be defined as "This newly received message needs notification by BIFF"

A new flag MSG_FLAG_BIFF will be defined as "This newly received message has not completed a BIFF notification cycle" (Perhaps a more logical definition would be "This message was notified in the current BIFF cycle". But we need to maintain the new message key list in sorted order, hence we want to avoid a flag definition where the flag is set at a later time.)

A "BIFF notification cycle" is defined as "a periodic check of whether to notify users of new mail, including the notification". This may be the same as the check for new mail, or may be independent of those checks.


1) When email is newly received, NEW, BIFF, and NOTIFY flags are set.

2) At the beginning of a BIFF notification cycle, for all folders, if MSG_FLAG_NOTIFY is cleared, then MSG_FLAG_BIFF is cleared. If MSG_FLAG_NOTIFY is set, then MSG_FLAG_NOTIFY is cleared, BIFF notification is enabled, and the message is added to the BIFF summary list.

3) Message filters may disable notification for a particular message by clearing the NOTIFY flag.

4) When an email is read, NEW, BIFF, and NOTIFY are cleared.

5) When the open folder is changed, NEW, BIFF and NOTIFY are cleared for all messages in the previous folder. (Perhaps disable clears when new folder is selected with ALT button pressed?)

6) When an email is classified as junk, NOTIFY and BIFF are cleared - but NEW remains set. (That way, you can still see which JUNK messages have been newly added to a folder since the last time that you opened it).

We maintain a count for each folder of New nessages (MSG_FLAG_NEW set), Needs Notification (MSG_FLAG_NOTIFY set) and In Biff (MSG_FLAG_BIFF set and MSG_FLAG_NOTIFY cleared).

Folder Decoration

Currently, bold is used to indicate that a folder has unread messages. If a folder has new messages, a small decoration (that I will call an orange burst) is attached to the folder icon. The orange burst is also used to indicate that a server received new messages.

I propose that folder decorations for new messages distinguish four states, that are presented in the following priority (with lowest number taking precedence if the condition applies:

Subfolders shown: 1) The actual folder contains BIFF flagged messages 2) The actual folder contains NEW flagged messages

Subfolders hidden: 1) The folder or its subfolders contains BIFF flagged messages 2) The folder or its subfolders contains NEW flagged messages

To designate this difference, we could continue to use the orange burst - only make it have a larger size for BIFF than NEW.

IN BIFF virtual folder

A cross-folder saved search that shows messages with BIFF set and NOTIFY cleared would show messages that were the reason for the most recent BIFF notification.

per-folder BIFF blocking

A new folder property NO_BIFF, that can be set by right clicking on the folder or as part of the New Folder dialog, will disable BIFF notification for any message in the folder. This folder would not be scanned for messages needing notification, and any message added to the folder would have BIFF and NOTIFY flags cleared. (a similar property NO_CLASSIFY would block junk mail classification)

message decoration

If a message has BIFF set, in the message pane the message would have a large orange burst decoration. If NEW but not BIFF, the message would have a small orange burst decoration.

folder tooltip

A folder tooltip will show a summary of messages in the folder with NEW flag set. Note this will also show junk messages, unless junk messages are automatically marked READ which will also clear the NEW flag.

Server decoration

Server decoration will be identical to folder decoration for hidden subfolders. That is, the server decoration is a large orange burst if any subfolders have BIFF messages, and is small if any subfolders have NEW messages.