On Fri, 16 Apr 2010 18:50:40 -0700 (PDT) Mark Crispin <mrc...@panda.com> wrote:

MC> On Fri, 16 Apr 2010, Vadim Zeitlin wrote:
MC> > On Fri, 16 Apr 2010 08:25:41 -0700 (PDT) Mark Crispin <mrc...@panda.com> 
wrote:
MC> > However I do like trash model for other
MC> > mailboxes because it allows me to keep the deleted messages if I ever need
MC> > them again. Think about trash as being "archive" in this case.
MC> 
MC> Why not create archive mailboxes for that purpose?

 Sorry, what's the difference?

MC> Or, better yet; why not make a client that allows you to focus
MC> specifically on the messages you want to see all the time, while ignoring
MC> the other ones that you keep for archive?

 Well, this seems like something that I thought about, i.e. use client-side
filtering to exclude the deleted messages. But while this could work I
don't really see what advantage would this provide while this clearly will
have many problems (e.g. interoperability with the other clients which
wouldn't hide the messages marked as "archived" in the mailbox).

MC> What prevents the server management from blowing away a trash mailbox
MC> automatically without your consent (e.g., "the disk is full, let's delete
MC> everybody's trash")?

 If you assume that the server management can delete your mailboxes without
your consent, there is nothing I (or anybody else) can do to help.

MC> Trash, or for that matter deleted status, is not a good archiving
MC> mechanism.

 Again, maybe there is some special meaning of the word "trash" that I'm
simply missing but I just don't understand the difference. For me "trash"
is definitely the archiving mechanism.

MC> > I'd be interested in hearing your thoughts about how could this UI be
MC> > implemented in a better way from IMAP point of view. But personally I 
can't
MC> > think of anything.
MC> 
MC> The main hangup that people have is the difficulty of visually displaying
MC> a trashcan icon that covers multiple mailboxes without having all those
MC> multiple mailboxes open.

 Do you mean users or developers by "people" here? In any case I don't
think I ever heard anybody complaining about it...

MC> Most users really do not have dozens of mailboxes that have active status
MC> that needs to be constantly checked for trash.

 What does it mean to "check for trash"? I personally do have dozens of
mailboxes which use trash (and dozens more which do not) but I don't "check
them". In fact I don't see at all what does it mean. I'm afraid you give the
word "trash" some meaning which I am simply not aware of.

MC> In fact, most users have an INBOX plus some archive mailboxes, and the
MC> latter never have their contents deleted.  So implementing Trash as a
MC> client representation of \Deleted status isn't as crazy as it sounds.

 Well, yes, this might work but, as previously mentioned, I have several
problems with it:

1. You should never ever call expunge or you lose your entire archive. This
   is a problem because sometimes you do want to expunge some message(s),
   e.g. because you got a spam (which you don't want to keep in archive) or
   because some poor misguided soul sent you a 50MB attachment which you
   don't want to keep in the mailbox forever neither.

2. Interoperability suffers. If you have to use another client you will see
   all the deleted messages in it. Worse, it might decide to expunge them,
   see (1).

3. Performance will suffer as well. My "active" mailboxes have from a few
   hundred to a couple of thousands messages in them and this, of course,
   is not a problem at all. Having several dozens of thousands of messages
   might though. In fact if I open my trash right now, it takes 1 minute
   for the server (Dovecot 1.2) to thread it. It also consumes extra 30MB
   or so of RAM because now the program needs to keep the threading
   information in memory (normally threading is disabled for trash so it
   doesn't bother to do it). Anyhow, 30MB is not much but I'm definitely
   not prepared to wait for a minute when opening a mailbox. Nor even for
   10 seconds.

 And mostly I just really don't see what are the _advantages_ of doing it.
Of course, undeleting becomes easy/trivial, but this is a rare operation
and with UIDPLUS support it's not difficult with the trash neither. And
what else is good about this approach? I guess one nice thing would be to
be able to view all messages of this mailbox, deleted and not, which you've
ever received. But while this could occasionally be useful it would only
happen rarely and I don't see it compensating for the problems above
especially because this could be implemented with a physical trash as well
by providing a virtual view of the mailbox with the trash. Of course, this
would work best if each mailbox had its own trash instead of using a common
one for all of them. And while my client does allow you to configure the
trash mailbox independently for each normal mailbox, this is where I think
it could be improved: instead of using the global /Trash by default it
should default to creating (a normally hidden from user) mailbox/.trash for
each mailbox. And then the global trash could be implemented as a virtual
view combining all of the .trashes. This would IMHO be really ideal.

 Is this closer to what you meant or did I completely misunderstand you?
VZ

Attachment: pgpwJ7v7PtgJ2.pgp
Description: PGP signature

_______________________________________________
Imap-uw mailing list
Imap-uw@u.washington.edu
http://mailman2.u.washington.edu/mailman/listinfo/imap-uw

Reply via email to