A Quick Guide to LEMONADE
Internet Standards are based around documents called RFCs (Request For Comments). The two most important Email standards for mobile messaging are:
- SMTP:"Simple Mail Transfer Protocol" (RFC 2821)
- IMAP:"IMAP4, Internet Message Access Protocol Version 4 rev 1" (RFC 3501).
The LEMONADE working group was set up to extend these core Internet messaging standards to support mobile devices and communications over "bandwidth and latency challenged networks". LEMONADE has active participation from a wide range of companies, including Cantata, Cingular, Comverse, Isode, Lucent, Nokia, Nortel, Oracle, Qualcomm, Sprint and Sun.
Internet messaging standardization, including LEMONADE, has produced a plethora of RFCs related to SMTP and IMAP. To achieve a given goal, you need to select which set of RFCs are applicable, which is often not an easy task. It also makes procurement complex, as there is no single reference that can be used to clearly specify what is needed.
To address this, the LEMONADE WG has specified the "LEMONADE Profile", which has also been published as an RFC (RFC 4550). The Profile is essentially a set of RFCs, with some overall technical description. The LEMONADE Profile is therefore a single and simple specification of the set of Internet Standards needed to support mobile messaging.
On this page you'll find a brief explanation of the three key benefits of the three key functions enabled by the LEMONADE Profile:
For more detailed information on the LEMONADE Profile, please click here.
Taking advantage of LEMONADE features requires a LEMONADE compatible IMAP Server and LEMONADE compatible client on the mobile device (not necessarily a new/proprietary mobile phone). To learn more about servers and clients click here.
By combining extensions to IMAP and SMTP, LEMONADE enables an email client to forward a message (for example one with a large attachment that needs actioning/reviewing immediately) to a third party without first downloading it to the handset a valuable capability in situations where the receiving device has limited storage, restricted access and/or the available bandwidth is subject to high usage costs.
In the LEMONADE model, forward without download is 5 stage process:
- The client asks the IMAP server how big the message is and only downloads the required pieces. The user decides to forward the message/attachment without downloading it
- The client asks the IMAP server to prepare message for forwarding, the server returns a one time access cookie (URL)
- The client asks the SMTP server to forward the message, it provides the cookie returned by the IMAP server
- The SMTP server fetches the message using the cookie directly from the IMAP server
- The SMTP server forwards the message to the new recipient.
When there is ongoing activity between the client and the server, IMAP will automatically inform the client of the presence of new messages.
The IMAP IDLE command, which is a widely implemented standard extension to the core IMAP protocol and contained within the LEMONADE Profile, ensures that the server will inform the client of new messages even when there is no other activity taking place between client and server.
IDLE maintains the connection by issuing a 'NOOP' command, usually every 15 minutes, to ensure that the connection isn't disrupted by a timeout. The main types of timeouts that usually occur are:
- IMAP server timeout: Typically occurs after 30 minutes with no activity.
- Underlying TCP connection timeout: Usually after a few hours.
- NAT Gateway timeout: Most mobile devices access the Internet through a device operated by the mobile service provider called a NAT (Network Address Translation) gateway. These will typically time out an idle connection after 15 minutes.
NOOP (No Operation) performs no action other than having the server send an 'OK' reply and exchanges a bandwidth efficient few bytes of data.
In many mobile situations the underlying connection will quite frequently be broken and re-established. Users checking email whilst on a train for instance, will experience connection breaks when the train is passing through a tunnel or cut.
Standard IMAP has a quite resource intensive start-up and re-synchronisation process and will re-check an entire mailbox to rebuild the view of that mailbox on the client device.
The IMAP CONDSTORE extension that is part of the LEMONADE profile enables the client to efficiently check for mailbox changes that have occurred only since the last check. In a mailbox where no or only a few changes have occurred this will result in a drastic reduction in both the time taken to re-sync and the bandwidth necessary to carry out this task.
Quite apart from bandwidth efficiencies, the speed of the re-sync will result in a greatly improved user experience.