[imp] Unseen and Unread
Michael M Slusarz
slusarz at bigworm.colorado.edu
Wed Nov 26 14:47:31 PST 2003
Quoting Jan Schneider <jan at horde.org>:
| Zitat von Michael M Slusarz <slusarz at bigworm.colorado.edu>:
|
| > Quoting Chuck Hagenbuch <chuck at horde.org>:
| >
| > | Quoting Michael M Slusarz <slusarz at bigworm.colorado.edu>:
| > |
| > | > However, I noticed when doing my changes that we don't actually
| check
| > | to see
| > | > if a message is "new" or not (i.e. we never do a Recent and Unseen
| > | check).
| > | > So this definitely does need to be fixed (I'm surprised this has
| > never
| > | been
| > | > caught before).
| > |
| > | I distinctly remember dealing with this something like 4 years ago.
| It
| > | must have gotten lost somewhere along the way.
| >
| > It turns out that "Recent" checking is essentially worthless since the
| > Recent flag disappears the first time you access the mailbox anyway, so
| > subsequent views of the mailbox will show the message as non-recent,
| even
| > though it has never been read.
|
| But isn't that exactly the meaning of "new message"?
Yes. Which is why "new" message checking in IMP is worthless. Since all
sorts of stuff may access the IMAP mailbox before we access it (e.g.
authentication attempts, ingo imap filtering, other IMAP connections the
user may have open), I have *never* seen the Recent flag set by the time we
get to checking the flag in mailbox.php/message.php. Thus, the only thing
we can check is whether the Unseen flag is set or not.
This is exactly why I prefer "Unseen" to label these messages rather than
"new". To me, as a non-technogeek user, "New" means newly delivered to the
local computer and never seen by me before. To _me_ "New" != "Unseen" -
rather, New is a subset of Unseen.
However, as mentioned above, it is impossible to check for "new" messages
reliably, if at all, with IMP. Thus, the only thing we have to go on is
the Unseen flag. Therefore, in my opinion, since you can not be 100%
certain a message is "new" (using either my definition or the official IMAP
technogeek defintion), you can not *lie* to the enduser and report it as
new. You _must_ report it as "Unseen" since that is the only thing we can
be 100% sure in saying.
I realize "Unseen" is a lie in and of itself because a user can just as
easily read a message and then mark it "Unseen" while, in the "real world",
it is obvious that the message has been seen. However, this reflagged
message can in no way be considered "New" since it does not fit the
definitions listed above (mine or IMAP) - it is simply a message marked as
unseen. I remark messages as Unseen all the time, not because I want to
label them as new but because I want the messages to stand out on the
mailbox screen. So, once again, "unseen" != "new". So reporting all
"Unseen" messages as "New" would, once again, be lying to the user, at
least IMHO.
Labeling a message as "New" does work easily and 100% reliably for POP3 mail
servers because, once the message is downloaded off the server, it can be
marked as read. But not for IMAP.
To sum up, I realize that "new" is equated with most people as "unseen", and
thus people would rather have "new mail" displayed than "unseen mail". But
the simple truth is that I would rather use a slightly less 'popular' term
than flat-out lie to the user and call a message "new" even though it
isn't.
Comments welcome. I sure like to hear myself talk it seems like (no wonder
I'm a lawyer).
michael
______________________________________________
Michael Slusarz [slusarz at bigworm.colorado.edu]
The University of Colorado at Boulder
More information about the imp
mailing list