Complete.Org: Mailing Lists: Archives: offlineimap: July 2007:
Re: OfflineIMAP 5.99.0 Posted
Home

Re: OfflineIMAP 5.99.0 Posted

[Top] [All Lists]

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index] [Thread Index]
To: Vincent Beffara <vbeffara+ml@xxxxxxxxx>
Cc: offlineimap@xxxxxxxxxxxx
Subject: Re: OfflineIMAP 5.99.0 Posted
From: John Goerzen <jgoerzen@xxxxxxxxxxxx>
Date: Wed, 11 Jul 2007 10:38:26 -0500

On Tue July 10 2007 5:03:37 pm Vincent Beffara wrote:
> > Hi,
>
> Hi,
>
> > I am doing some work on OfflineIMAP again.  I have posted what I'm
> > calling a beta of v6.0.  This is 5.99.0 and is available on
> > http://software.complete.org/offlineimap now.
>
> Cool ! BTW, what happened to version 5 ?

Back in 2003, I rewrote OfflineIMAP using Python's Twisted infrastructure.  I 
have long been dissatisfied with imaplib.py and thought I could use a better 
IMAP library.

It turned out to be fairly nightmarish.  Twisted lacked some features I 
needed, and it was also extremely difficult to debug programs written in 
Twisted.

Back in September of 2003, I had announced the first alpha of 5.0:

http://lists.complete.org/offlineimap@xxxxxxxxxxxx/2003/09/msg00002.html.gz

which was written in Twisted.

But that got canned due to the problems of working with Twisted for a project 
of this size and complexity.

> Talking about that - how hard would it be to add an "IMAP server" mode
> to OfflineIMAP, so that syncing could be triggered by the MUA - in such
> a way that the answered is that from the "parent" IMAP server when
> connected, with caching on the fly, and the cached state when offline ?

Hard.  IMAP is a complex protocol that can take effort to get right.  I'm not 
aware of an IMAP server implementation in Python.

But I'm thinking about v7 already and want to make MUA integration a priority 
there.  I think I can do some nice things by hooking into inotify and 
potentially syncing folders as they are accessed on disk.

I am also leaning towards rewriting OfflineIMAP from scratch in Haskell.  I 
have wanted to write my own IMAP library for a long time (due to 
deficiencies in imaplib.py), and that's much easier to do in Haskell than 
Python.  Haskell also has some more powerful threading tools that will make 
it easier to gracefully handle sync problems with accounts.   I think that 
even with my own IMAP library, code size should shrink by 50% and be much 
easier to maintain and contribute to.

But this all assumes that I find time somewhere.  I keep hoping that mail 
readers will just get good enough that OfflineIMAP becomes obsolete.  I am 
annoyed that this hasn't happened in the 5 years since OfflineIMAP 1.0.0 was 
released!  I really didn't expect to still need to use OfflineIMAP 5 years 
later.

-- John



[Prev in Thread] Current Thread [Next in Thread]