An IMAP server is smarter than a POP server. This, I hope, comes as no surprise to most people. An IMAP server has a MIME parser and can give you the BODYSTRUCTURE of a message. This is useful because that means that you can individually request the parts of a message, rather than always fetching the entire message. In future you can also CONVERT those to for example thumbnail versions. (I already started implementing support for CONVERT in Tinymail)
For a mobile user this makes a difference. Suddenly he wont have to pay for penis enlargement advertising images while working roaming over a GPRS connection at five euros per megabyte. This is an actual price in Belgium when you are five kilometers across the border in the Netherlands (I live 10 kilometers from the border, I can walk the 15 kilometers to have to deal with that price).
With today’s currency fluctuation I’ll describe what five Euros are: five Euros are two cans of CocaCola to download putty.exe and one can of CocaCola to receive two spam messages about how small your penis is with Evolution (I guess some people’s penis will actually spontaneously shrink if they’d know how much they payed for receiving the spam). I guess I don’t have to explain you what this means for Google Maps? I think that buying a Garmin or TomTom device is going to be less expensive than one month of using Google Maps with a phone. Usually it’s because you are in a foreign country that you need a service like Google Maps, right?
This realism of today should give desktop users an idea why bandwidth consumption is important. Another reason is of course latency. I’m sure UMTS and EDGE fans will explain me that soon, oh dear soon, all such problems will be gone. Bad luck as both UMTP and EDGE still have a very high latency (although slightly better than GPRS).
That what makes the user think that a service is slow, is what technical people call latency. Pure bandwidth performance matters for non-interactive protocols. E-mail is a highly interactive protocol by nature. A E-mail client user clicks and views a lot of E-mails and folders and wants the application to respond reasonably fast nonetheless. He doesn’t want to either wait for nor pay a lot of money while synchronizing E-mail data.
Synchronizing data is not how most people use their phones. Most people press the power button and want it to just fucking work. Mobile can only be a success if things like this just work. Users don’t want to be bothered with setting up an E-mail data synchronization software on their laptop, drag that laptop with them, and from time to times synchronize data to their phone.
The reality that Western people usually can’t grasp is that most mobile phone users in the world don’t even have one computer.
With LEMONADE, IMAP does pretty well at avoiding round trips. Fewer round trips and using IMAP’s pipeling capabilities means less latency. Less latency means faster responding E-mail clients. Given that the HTTP protocol is not really designed to avoid round trips, a web client in a web browser wont ever perform well with mobile networks. On top of that have a lot of web client services the annoying habit of adding bandwidth-expensive advertisements on the page itself. On top of that don’t all people like the privacy aspect. Especially businesses don’t like this (although they can of course buy a web service appliance for E-mail too). On top of that do some people want to fetch messages locally, and read them while being offline.
With BODYSTRUCTURE we can selectively fetch the parts of an E-mail as they are needed, rather than always.
Use the Tinymail API to build your E-mail client, and it’ll do both automatically for you.
After that much text, a video demo is a requirement. Right? Right! You’ll see that each time I expand the expander, the image gets downloaded. You can see this because Nautilus’s directory monitor will add the file to its directory viewer.
I guess sometimes I do need a lot of words :-)