LEAP on Palm OS Mohsen Banan public@mohsen.banan.1.byname.net Version 0.2 August 4, 2000 Copyright fcl 2000 Mohsen Banan Permission is granted to make and distribute verbatim copies of this manual provided the copyright notice and this permission notice are preserved on all copies. A Component of The LEAP Manifesto This article is one of a series of articles describing various aspects of the Mobile Messaging industry and the LEAP protocols. For the complete collection of articles see The LEAP Manifesto [6 ], available at http://www.LeapForum.org/LEAP/Manifesto/roadMap/index.html. The LEAP Manifesto is also available at the Free Proto- cols Foundation website at http://www.FreeProtocols.org/LEAP/Manifesto/roadMap/index.html. 1 Contents 1 Introduction 3 1.1 LEAP on Open Source PDAs . . . . . . . 4 1.2 Palm OS Integration Strategy . . . . . . . 4 2 Palm OS Mail User Agents 5 2.1 Separate Mail User Interface and Mail Trans- port Service . . . . . . . . . . . . . . . . 5 2.2 Integrated Mail User Interface and Mail Transport Service . . . . . . . . . . . . . 7 3 Invitation To Participate 7 List of Tables 2 1 Introduction This is one of a series of articles that focuses on imple- mentation and integration issues related to incorporating the LEAP protocols in specific PDA environments. Our starting point for incorporation of LEAP in PDAs is focused on Mobile Messaging and hinges on Efficient Mail Submission and Delivery (EMSD) protocols [1 ]. EMSD is the email component of LEAP[2 ]. The general aspects of how EMSD protocols provide all that is necessary to enable end-users to benefit from true end-to-end open mobile messaging based on patent- free protocols and open source and free software is fully described in "Operation Whiteberry" [3 ]. This article is in the context of Operation Whiteberry and in support of it. Prior to reading this article, the reader is invited to read "Operation Whiteberry" so that the general frame- work for usage are in place. It is our goal to make LEAP widespread on all PDAs. However, incorporation of LEAP in each platform fol- lows a particular approach and strategy. Each of the arti- cles in this series outlines our strategy for a specific plat- form Windows CE Integration Strategy A standard mail application called Inbox is bundled with all Windows CE devices. Microsoft has defined a generic mail transport service provider interface underneath In- box, which allows alternative mail submission and deliv- ery protocols to be integrated with Inbox. Microsoft has also defined a winsock interface which provides access to UDP[9 ] and TCP[10 ] by third party applications. These well defined APIs allow a new mail submission and deliv- ery protocol to be integrated with Inbox in the Windows CE environment. Our stratgey for integration of EMSD in the Win- dowsCE environment has been to provide a complete Mail Transport Service provider underneath Inbox. We have done so in such a way that binary distributions of EMSD allow end-users to just plug this package and start partic- ipating in Operation Whiteberry. Additionally, the entire source code for EMSD on WindowsCE package is available subject to GPL and al- lows for tight integartion with wireless modems and cus- tomizations. The existing open-source implementation is available 3 at http://www.mailmeanywhere.org. 1.1 LEAP on Open Source PDAs It is highly desirable to have complete open source and free software platforms which provide alternatives to the commercial PDA paltforms such as WindowsCE and Pal- mOS. At this time two such efforts are "Linux Based PDAs" and "eCos". Recently there have been numerous announce- ments of new Embedded Linux support for PDAs and other handheld personal computing devices. Various suit- able eCos platforms are also now in place. See "LEAP On Linux PDAs" [4 ] for more details. 1.2 Palm OS Integration Strategy Palm OS is a capable, general purpose mobile computing platform which, among other applications, comes bun- dled with a simple email application called Mail. In con- trast to the Windows CE Inbox application, however, the standard Palm OS mail application has only a very rudi- mentary set of features and capabilities. Also in contrast to Windows CE, in the Palm OS a set of well defined APIs for integration of alternative mail protocols does not ex- ist. To further complicate matters, various third party mail user agents have now become widely available for Palm OS (largely because of the inadequacy of the standard Palm OS mail application), with a variety of different user interfaces. Because of this multiplicity of incompati- ble Palm OS mail applications, each integration of LEAP with Palm OS therefore needs to be specific to a particular Palm OS mail user agent. For these reasons our strategy for integration of the EMSD protocol engine in the Palm OS environment is different from that for WindowsCE. We start by a very basic example implementation of EMSD for Palm OS. This package is specific to the stan- dard mail application, based on file access. Based on availability of this package in source form subject to the GNU General Public License, a variety of Palm mail user agents can become EMSD ready very rapidly. To further accomodate this we have selected cer- tain mail user agents which we consider particularly de- sirable and particpate in integration of EMSD with these mail user agents. 4 2 Palm OS Mail User Agents There are two basic different approaches to developing an email application in Palm OS. 1. Separate Mail User Interface and Mail Transport Service 2. Integrated Mail User Interface and Mail Transport Service Our goal in this article is to accomodate incorporation of EMSD as a Mail Transport Service provider in both models. 2.1 Separate Mail User Interface and Mail Transport Service In the separate mail user interface and mail transport ser- vice model, the application is split into two parts. One part is responsible for transfering the mail mes- sage. The other responsible for processing and displaying the message. An example of the first approach is the standard Palm Mail application. The basic distribution of Palm OS lacks mail trasnport services such as SMTP[11 ] or POP3[7 ]. It depends on its desktop synchronization to do the actual sending and re- ceiving. Messages written by the user is put into a queue. Upon synchronising with the desktop, the desktop coun- terpart sends the queued messages and also put received messages into the queue. However there are add-on packages, such as "Top Gun Postman"[5 ] that provides SMTP and POP3 sup- ports within the Palm OS device for these softwares. This enables users of the standard Mail application to send and receive directly from their devices through a wireless mo- dem. Incorporation of EMSD into packages such as "Top Gun Postman" can be quite rapidly accomplished as an add-on or replacement for SMTP/POP/IMAP. Figure 1 illustrates the components involved as well as the layering of services in this model. As an example, incorporations of support for the EMSD protocol with "Top Gun Postman" can be very easy and fast because of availaibility of EMSD protocol engines as a Palm OS library. 5 +---------------------+ _ Standard Mail _ _ Application _ +---------------------+ +---------------------+ _ Message Queue _ +---------------------+ +---------------------+ _ Top Gun Postman _ _ _ _ +--------+ +------+ _ _ _+------+_ _ _ _ _ __ EMSD __ _ SMTP _ _ _ _+------+_ _ and _ _ _ _+------+_ _ POP3 _ _ _ __ ESRO __ _ _ _ _ _+------+_ _ _ _ _ +--------+ +------+ _ +---------------------+ ========================== Berkeley Socket API ========================== Figure 1: Example Of Separate Mail Transfer Service for Palm OS 6 +---------------------+ _ MsgAgent _ _ _ _ +-----------------+ _ _ _ Mail User _ _ _ _ Interface _ _ _ +-----------------+ _ _ _ _ _ _ _ _ +--------+ +------+ _ _ _+------+_ _ _ _ _ __ EMSD __ _ SMTP _ _ _ _+------+_ _ and _ _ _ _+------+_ _ POP3 _ _ _ __ ESRO __ _ _ _ _ _+------+_ _ _ _ _ +--------+ +------+ _ +---------------------+ ========================= Berkeley Socket API ========================= Figure 2: Example Of Combined Mail Transfer Service for Palm OS 2.2 Integrated Mail User Interface and Mail Transport Service In the integrated mail user interface and mail transport service model, the application is self contained. Examples of the this approach are numerous as they offer more convenience of operation and usage in the Palm OS environment. In particular: "MsgAgent"[8 ] and "Doo- dleMail"[12 ] are very popular clients. Figure 2 illustrates the components involved as well as the layering of services. As an example, incorporations of support for the EMSD protocol with "MsgAgent" can be very easy and fast be- cause of availaibility of EMSD protocol engines as a Palm OS library. 3 Invitation To Participate The benefits of incorporation of EMSD in Palm OS mail packages are huge as described fully in Operation White- 7 berry. We invite maintainers and authors of Palm OS mail application packages to incorporate EMSD into their soft- ware. You can obtain EMSD protocol engines ready for the Palm OS environment and easily integrate them with your software. Full implementation of EMSD in open source form is available through http://www.mailmeanywhere.org. References [1] M. Banan. Neda's Efficient Mail Submission and Delivery (EMSD) Protocol Specification Version 1.3. Request for Comments (Informational) 2524, Neda Communications, Inc., February 1999. On- line document is available at ftp://ftp.isi.edu/in- notes/rfc2524.txt. [2] Mohsen Banan. EMSD: The LEAP E-mail Com- ponent. A component of LEAP Manifesto, LEAP Forum, January 2000. Online document is available at http://www.LEAPForum.org/leap. [3] Mohsen Banan. Operation WhiteBerry. A component of LEAP Manifesto, LEAP Forum, January 2000. Online document is available at http://www.LEAPForum.org/operationWhiteberry/index.html. [4] Mohsen Banan. LEAP on Linux PDAs. A component of LEAP Manifesto, LEAP Forum, September 2001. Online document is available at http://www.LEAPForum.org/draft-leapManifesto. [5] Ian Goldberg and Steve Gribble. Top gun postman. Top Gun Postman is a POP3/APOP3 and SMTP capable mail dispatcher that runs on the Palm Pi- lot Professional. To download this software, visit http://www.palmgear.com. [6] Mohsen Banan. Lightweight & Efficient Applica- tion Protocol (LEAP) Manifesto. Technical Re- port 108-101-01, LEAP Forum, Bellevue, WA, January 2000. Online document is available at http://www.freeprotocols.org/pubs/biblio/108-101- 01/index.html. [7] J. Myers and M. Rose. Post office protocol - ver- sion 3. Request for Comments (Standard) STD 53, 1939, Internet Engineering Task Force, May 1996. (Obsoletes RFC1725). [8] Hiroyuki Okamoto. Msgagent. MsgA- gent is an internet messaging client for 8 PalmOS. To download this software, visit http://members.tripod.com/ hokamoto/MsgAgent.html. [9] J. Postel. User datagram protocol. Request for Comments (Standard) STD 6, 768, Internet Engi- neering Task Force, August 1980. [10] J. Postel. Transmission control protocol. Request for Comments (Standard) STD 7, 793, Internet En- gineering Task Force, September 1981. (Obsoletes RFC761). [11] J. Postel. Simple mail transfer protocol. Request for Comments (Standard) STD 10, 821, Internet Engineering Task Force, August 1982. (Obsoletes RFC788). [12] AT&T Labs Research. Doodlemail. Doo- dleMail is an email program for the Palm personal digital assistant with Internet con- nectivity. To download this software, visit http://www.research.att.com/ hpk/doodlemail/. 9