26 Mar 2009 (updated 26 Mar 2009 at 08:55 UTC)
»
Today is the third birthday of GNOME bug
#336076, which I filed to report a particularly idiotic
regression in Evolution's IMAP code. (Update: It looks like
I also posted about it on
Advogato, too.)
Instead of just issuing a simple STATUS command to
check the status of each folder for new mail, Evolution
started to actually open the folder, fetch the
headers for all new mail in it, re-fetch the flags
for all mail in it.... and it does this for
every
folder that it's checking (which, with bug
#336074 still unfixed, is all folders —
not just
the active folders. So in my case it was continuously
re-fetching the flags for years of archived mail in folders
which are marked on the server as being inactive.)
This meant that it took Evolution two HOURS to
start up that first time, when connected across the
Internet. Even when I ran it on a local machine which was
connected to the server by Gigabit Ethernet, it still took
23 minutes to start up; downloading half a gigabyte of mail
before it was usable.
I don't know what's scarier — the fact that this
utterly moronic regression got into the code base in the
first place (what in fuck's name were they thinking?), or
the fact that GNOME 2.26 went out last week
with it still not fixed, three years later.
I've actually moved my older archived mail folders off to a
separate server to work around bug
#336074, and I've stopped checking for new mail in
folders other than the INBOX to work around bug
#336076, which is a PITA but is the only way to keep
Evolution even vaguely usable — and it's
still extremely bad over a slow connection, such as GPRS (or
connecting home from China).
It's not just at startup, either. It goes off into the weeds
frequently, doing this stuff in the "background" while I'm
waiting for it to fetch the mail I just clicked on.
Sometimes, I end up using pine to read my email while I'm
waiting for Evolution to do whatever weird crack-inspired
stuff it's doing with the IMAP server and start responding
again.
I think it's about time that the choice of default mail
client for GNOME was re-evaluated. Evolution seems to be
mostly stagnant, and the changes that are being
made seem to be entirely dubious. Version 2.24 was a significant
regression in many ways. Evolution is definitely letting
the side
down.
This kind of post inevitably leads to people mailing
suggestions for an alternative MUA. Changing MUAs is a
painful process, but I think after the 2.24 release I've
reached the point where
I'm going to have to give up on Evolution. Things I really
need from the MUA are:
- Graphical folder 'tree' showing the number of new mails
in each folder (currently broken/disabled in Evolution as
described above).
- Ability to reach mail server over ssh: ssh
$MAILSERVER exec imapd
- No mangling of outgoing or incoming patches
As far as I'm aware, the latter two requirements rule out
Thunderbird. I think I'm going to try Sylpheed. Last time I
did that, it would SEGV at startup, which quickly put me off
— but I'm sure that's fixed now, and I've heard good
things about it. Next alternative if I can't get on with
that is probably kmail.
Whatever I use, it would also be nice if it handled the
calendar stuff that the Outlook/Exchange weenies use —
preferably with the calendar on the Exchange server, but
just using its own calendar (as I do in Evolution) would be
fine.
(Of course, Evolution being the steaming pile of crap that
it is, it fucks up the calendaring too. It has its
own idea of what the timezone is, perhaps because
it thinks it might be in a different timezone to the rest of
the system? So for someone who travels a lot and uses the
calendar infrequently, it's fairly much guaranteed that a
meeting will be displayed in some arbitrary, wrong,
timezone. And just for fun, it stupidly displays the meeting
times without any hint about the time zone.
)