Talk:Projects/xomail
I think your understanding of Tinymail is flawed. Tinymail is mostly a set of back-end tools for constructing a front-end, not really a working client. The default client probably would work on Sugar, but to my knowledge no-one has done the work to install it and get it running (significantly, the compile options for "OLPC" and those for include-python-bindings are separate, which makes me wonder what "OLPC" means); thus it would be stretching the truth to call it "working". I have never programmed an email client, but I would imagine that, between the pain of learning to use a toolkit which already has python bindings (tinymail) and the pain of making a compatible email client from scratch, you'd probably be better off with the former. Email has been around for decades and the important protocols are definitely more byzantine than they should be. And yes, just put it in whatever box tinymail gives you, all flat, and do the index of tags yourself.
Certainly, it would be worth evaluating tinymail as opposed to python's standard libraries.
But feel free to ignore me, that is just my opinion.
Homunq 17:15, 1 April 2008 (EDT)
- Hi Homunq, thanks for the feedback. No, actually, I do know that Tinymail is only a framework - in 'Background' I meant to refer more to the demo client. I will clarify the wording on the page. :-) An alternative user interface is definitely possible. Let me explain my reasoning for not really considering Tinymail. I think it's overkill. Really! Downloading all email from a POP/IMAP connection can be done in not many lines of code with Python. MIME parsing quite easy as well. And using Tinymail for just storage in mbox/maildir/mh does not make sense. Database storage is also less pain and makes more sense for my goals for this activity though it has to be done right. Shikhar 05:54, 2 April 2008 (EDT)
- After some research I see your point :-) I have adpated my proposal for reliance on Tinymail. Shikhar 16:19, 6 April 2008 (EDT)
By PhilipVanHoof (Tinymail developer)
I would like to point out that during the following weeks I will be implementing support for Modest in tracker. Modest is an E-mail client based on Tinymail. Therefore it uses Tinymail's storage format for its caching. This cache is what tracker is going to be using for scanning/indexing the E-mails. Tracker puts the index into an SQLite database too.
Either you could reuse some of that code, you could develop into Tinymail a method to push index data into an SQLite, or OLPC could start using something like tracker. Note that if you are planning to implement a method into Tinymail to push index data (upon retrieval of messages, for example) into SQLite, that we (The Tinymail project developers) will prefer a generic or pluggable way. This way we could target things like tracker, the SQLite that is to be used on OLPC, Beagle and other kinds of search infrastructure too.
The preferred methodology for developing this is discussing this with us on IRC and on the mailing list, making a page on Tinymail's Trac wiki pages that describe your plans and then just implementing it. Sending one or more patches to the mailing list, etc etc. In case my mentor application for this activity gets accepted, I will of course as mentor guide you through all this.
Spam
I strongly believe that you must address the spam problem. I don't want my daughter (or other kids) receiving even a thousandth of the crap I receive (and I use SpamAssassin). We have DansGuardian for web access. We must have something for email too.
Why can't we GPG sign all email by default? Jpritikin 22:52, 28 April 2008 (EDT)
- I agree it is something that should be taken care of, however... as of now this email client does not exist in code, and I consider it my task this summer to get it into being, which will be quite an undertaking in itself; so I don't know if I'll be able to address spam filtering. Same goes for GPG signing outgoing messages by default. Once the activity exists, it won't be so hard to think of implementing these features. Shikhar 15:43, 29 April 2008 (EDT)