The XO and email
Asheesh Laroia
asheesh at creativecommons.org
Thu Feb 21 20:55:45 EST 2008
On Thu, 21 Feb 2008, Shikhar wrote:
> Hi,
>
> I would like to get the general feeling about the XO and email. There is
> a Gmail activity but no possibility of composing and viewing emails
> offline, which I think is important.
I think that might be nice also!
> - With Python, an email activity can be accomplished with the
> RFC-compliant email modules (for POP, SMTP, IMAP, MIME) and using sqlite
> for storage. So while building upon Tinymail
> (http://wiki.laptop.org/go/Tinymail) is an idea, it makes sense to just
> go with Python email modules and sqlite if the next point is to be
> implemented :-)
You suggest using sqlite for storage, and further, as I understand it,
writing your own mail storage layer. But on the other hand, you could use
an existing top-notch Free Software mail store, like Dovecot. Dovecot
comes with full-text indexing for search of email, for example, and header
caching to optimize common queries ("Tell me all the From, Subject, To,
and Date headers").
That's my main contribution to this thread - I fear you won't re-use some
already great software. The rest of your suggestions could perhaps be
implemented as Dovecot plugins to minimize wasted work; for the most part,
I agree with them. (-:
Once you start thinking of this in terms of interoperability with existing
mail systems, I think you'll find you have way less work to do. For
example:
> - Email threading: there is some Python code at
> http://www.amk.ca/python/code/jwz, which could be adapted
Built-into IMAP, which Dovecot implements.
> - Search using sql queries
>
> I have a good mental picture of what I want to do - maybe I am not
> communicating it too well, but I am willing to elaborate. I would really
> like your feedback especially on the fundamental idea of using Python
> email modules and sqlite in case I am thinking in the wrong direction,
> although this appears to me to be the best approach
IMAP provides SEARCH TEXT, which Dovecot can now (as of 1.1.rc1) store an
index for, and therefore return answers in split-second times in many
cases.
-- Asheesh.
--
You're already carrying the sphere!
More information about the Devel
mailing list