Thanks to the hackfest time Igalia gently gives me every week I could resume the work I had previously started to add ENVELOPE support to tinymail.

What’s this stuff about? Well basically what we can do now is ask the server for ENVELOPE instead of fetching a random set of headers (like ‘From:’, ‘Subject:’ …). Why is this cool? For several reasons:

  • Speed: IMAP servers do cache ENVELOPE information so they do not have to inspect every email message to extract the requested headers. They can give you ENVELOPE blazingly fast (I run a rough test and downloading a folder with ~1500 headers from AOL IMAP server lasted twice the time of downloading ENVELOPE and BODYSTRUCT, and this means minutes).
  • Bandwidth: ENVELOPE is smaller in size than headers as the name of the headers is not transmitted over the network
  • Future: RDF storage support in tinymail is now closer
You can find this new feature in trunk.