I've been thinking a bit about gmail. Some folks (including me) want a
really good gmail client. (For the record, I also want a standard IMAP
client, but that's not relevant to this issue.) Gmail does odd things
regarding mapping folders to labels.

On plugins, I'm in favour of lots of them, but I don't think that
saying "Just make it a plugin" is at all helpful. What's needed is
some thoughts on the plugin interface. We can't say "Make Gmail access
a plugin" without thinking about how that plugin will interact with
the app. Crucially, I think for different kinds of plugins we need
different plugin hooks and interfaces. (I've previously mentioned some
ideas about content transformation plugins, for example. They'll need
different hooks to what I'm talking about now.)

This message is going to be a bit rambling, as I try to get some ideas
straight, so bear with me :)

Essentially where I'm going with this is the plugin does some
transformations between the actual IMAP structure and the UI. In
Gmail's case, it exposes all the labels (which through IMAP are
folders) as smart folders. That way the UI makes sense, since people
expect a message to appear in multiple smart folders. It only exposes
Inbox, Outbox, Archive and Spam as actual folders.

To assign labels, I propose that Letters has a standard labels UI. On
a normal IMAP server we do something (assign a custom header? Dunno)
to apply the label. On Gmail, our plugin intercepts the Apply Label
action and sends the IMAP command to move it to the appropriate
folder.

This system can work for other things too. Such plugins could tell
Letters which folders are for Spam, or Trash, or Outbox, for the
specific provider which they refer. Of course, we should probably have
a preference for those things when you're using a standard IMAP
account, but when you're using a provider-specific plugin then such
preferences are hidden.

The takeaway message is: expose as much UI in the main app as
possible, and let plugins intercept certain actions (like Apply Label
or Archive). We don't want every plugin author inventing their own UI
for applying a label. Also, let plugins transform the IMAP folder
structure into the structure presented in the UI.

Thoughts?

Thomas
_______________________________________________
[email protected] mailing list
List help: http://lists.ranchero.com/listinfo.cgi/email-init-ranchero.com

Reply via email to