You remember this one? It’s Evolution’s current Camel downloading 30,000 headers from IMAP:
This one was a first hack that I did that drastically reduced memory consumption. You remember it?
Ok, so this one is what tinymail will do today (all graphs show the same folder, the same amount of headers being downloaded, indeed):
That’s indeed four times less memory than the original Camel as shipped by Evolution. What you don’t see in the graph is that it also uses far less bandwidth and the implementation is a lot less complicated and mostly because it transfers less data, faster (You don’t believe me about the complexity? Compare with the original here).
Memory consumption, speed and bandwidth consumption are extremely important for mobile & embedded appliances (both GPRS traffic and memory are expensive, being online often consumes battery, the CPU of the devices is often slower). Mobile & embedded appliances are the (current) focus of the tinymail framework.
You don’t have to believe me. Go ahead and try it yourself with what is current in tinymail’s repository. There’s a test account available: mail.tinymail.org, u:tinymailunittest, p:unittest. If people are now going to abuse this account, the account wont be available anymore (I do measure traffic and directory size frequently, indeed).



Is there nothing that can be contributed back to Camel as a result of this work? Low memory and CPU use benefit everyone not just embedded devices!
Matthew Barnes is working on porting the work back into Evolution. I have decided to asynchronously develop with the evo people, as they (the Evolution project and people) have very different goals (enterprise support and stability conflict with experimenting like this, they tell me).
You can also contribute or work on an E-mail client on top of tinymail that is suitable for your desktop needs of course ;-)