[maemo-developers] Modest/TinyMail problems (continue from the blog comments)

From: Philip Van Hoof spam at pvanhoof.be
Date: Wed Jun 25 21:13:25 EEST 2008
On Wed, 2008-06-25 at 16:31 +0100, Dave Cridland wrote:
> On Wed Jun 25 10:23:44 2008, Philip Van Hoof wrote:

> My biggest problem with Modest has always been that the UI  
> requirements seem to have driven the development, to the extent that  
> although Tinymail is pretty good, both its development and its usage  
> has been severely compromised by trying to build a desktop mail  
> program on an internet tablet.

Somewhat agree. I do believe we can extend the IMAP protocol in such a
way that indeed desktop E-mail client features are supportable on mobile
E-mail clients and more importantly "fast enough".

A fully capable Lemonade IMAP server with THREAD is getting very close
to that. Add ESEARCH to that (or has Lemonade this?) and you could even
do relatively nice vFolder like features.

An interesting requirement that you see nowadays is the meme of labels
or tags rather than folders. People want one E-mail item to be tagged by
multiple tags. That's the equivalent of putting on E-mail item into
multiple mailboxes, and then using a mailbox as-if it's at tag instead.

That would already work, but people want to search on things like but
not only those tags. For example alle E-mails tagged "Important" that
came from my girlfriend. When abusing mailboxes as tags that would mean
doing a multimailbox spanned search ...

Anyway, you get the idea. I would like tools in IMAP that improve the
protocol's search capabilities. ESEARCH is a good start, indeed.


> The result is a program that looks the part, and has the right  
> buttons to press, but by insisting on those features as priority over  
> all else, it's hog-tied itself into poor use of the network, so it's  
> totally unusable on my mailboxes, whereas Polymer just trundles  
> through them.

I think Modest's IMAP code could be rewritten or improved to use the
network right (ie. pipelining the STATUS requests, pipeling an ENVELOPE
plus BODYSTRUCTURE fetch, fetching per MIME part, etc)

All that would need to be done in Tinymail's layer. You would probably
make Polymer again better, just for the fun of it ;), but it could come
pretty close to Polymer's network usage. If I could just put resources
behind it.

Which is not trivial. Modest's basic UI problems are solved. As as you
indeed correctly stated is or was Modest's development driven by its UI
requirements. Not by the network usage.

If Modest's Tinymail layer uses the network in a relatively good way,
meaning that it does CONDSTORE and QRESYNC if possible, then that's
because I was too jealous on Polymer's network performance :-)

These implementations were not required by Modest's requirements.

Indeed, competing inspires the passionate mind.

>  
> I wrote Polymer really in order to demonstrate ACAP to people. :-)  
> The low-bandwidth, big mailbox support was mostly accidental  
> initially, and only later turned into a really experimental, cutting  
> edge, thing. (It's now not quite so starkly cutting edge, since  
> Tinymail has caught up rather a lot).

Oh no, no no. Tinymail is not doing pipelining. You and me know that
that's a huge difference compared to Polymer's network utilization.

The on-demand envelope fetching is neat but for offline usage I will
always need to in-background fetch the remaining surroundings anyway.

Nonetheless, it's an interesting concept to focus on getting the content
that the user wants "right now" in time (at scrolling). Meanwhile
storing it for future cached use ... is something Polymer is missing.

So .. there you have it, my evil plans for Tinymail ;-), to make it do
that. Be afraid, Dave, be very afraid. Moehaha! :)

Anyway, we'll/I'll probably do it in such a way that we both can share
that store's implementation.

> > If somebody would pick it up, I'm sure he'd fully support making  
> > Telomer and Polymer full featured E-mail clients indeed.
 
> Heck, if people would simply use it, I'd put some time into tidying  
> it up, but yes, if someone else wants to really run with it, I'd hand  
> it over.

I'm not a Python developer ... we could rewrite it in Vala? :-)


-- 
Philip Van Hoof, freelance software developer
home: me at pvanhoof dot be 
gnome: pvanhoof at gnome dot org 
http://pvanhoof.be/blog
http://codeminded.be





More information about the maemo-developers mailing list