This document specifies goals for out of the box PDA support in Ubuntu for Breezy.

Current technologies have allowed PDA devices to do more. Now these devices have wireless support, higher flash memory capacity, multimedia, etc. Even some manufacturers have hybrid devices: Phone & PDA (smartphone) converged together. With these devices, it is now possible to synchronize data through new means: Bluetooth, WiFi, etc.


Due to the various devices available in the market, along with their different synchronization methods, we may not be able to support all devices available but we should be able to pinpoint specific devices that have the widest support for current tools available in Hoary. Majority of these devices are PalmOne devices. However, we do not limit ourselves to such devices because we have software available that support other devices and only needs testing (add more devices to supported list in future releases as our supported device list grows).

For Ubuntu to have out of the box PDA support, it must be able to perform the following functions:

1. The first time a PDA is plugged in, the device is automatically detected (depends on the connection method) and the user is prompted for user details and items to synchronize.

2. Synchronize basic PIM (Personal Information Management) applications, like address book (contacts), calendars and task lists.

3. Browse, add and delete files inside the device

4. Transfer files to and from the device

5. The next time the PDA is plugged in, the synchronization process starts automatically.

6. The PDA can be detected as an external storage device, similar to flash drives and digital MP3 players.

Use Cases

The following cases can be considered prior to implementing the spec:

1. Harry has received a PDA from his wife as a birthday gift. He also owns a laptop where he has installed Ubuntu on it and would like to synchronize his contacts and appointments from Evolution to the PIM (Personal Information Manager) app of his PDA.

2. Molly uses her PDA with a 512MB SDCard to transfer work files from her office Windows PC to her home PC which is running Ubuntu and back. Sometimes, she uses her PDA as her entertainment device to listen to music, watch some small videos and play some games. Hence, she installs applications to her device every now and then.

3. Hermione is a marketing professional and uses her PDA for all her work duties. Before making a client call, she gets all relevant information from the internet and downloads it to her PDA. If she needs directions on the way to the client, she downloads files from a map service and refers to it on her PDA while on the road.

4. Ron is an equipment engineer with a work-issued PDA that enables him to collect data on the field and needs to synchronize that data to a database server from his office network.

5. Albus is a PDA junkie that installs all the cool applications and games his money can buy. His life revolves around his PDA as he uses it manage his class schedule and assignments, take down classroom notes, send email to his folks when he's in a hotspot (his PDA has built-in wifi), play games while riding the bus on the way to school, listen to digital music that is installed in a 1GB SDCard. Most of the time, he uses his PDA than his computer, but he needs to backup his files every now and then. He has Ubuntu installed at his dorm and would prefer to sync and install files in his PDA with Ubuntu.

Current status

  • We already have pilot sync apps in Ubuntu! We just have to decide what to standardize.
  • Evolution and gnome-pilot support Palm devices. We can connect via Serial, USB, IrDA and Network (no bluetooth or wifi though)
  • MultiSync: broader hardware support, has conduits for Palm, IrMC (usually for smartphones by Sony Ericsson), WindowsCE/PocketPC, Opie/Zaurus, SyncML (Nokia smartphones) and LDAP. CVS snapshots reportedly work with Evolution 2.

  • OpenSync: attempt to separate UI and engine of MultiSync and to develop it further; somebody who owns a PDA should actually try out to which degree recent versions work.

Implementation Plan

We will begin to test various applications available in main and universe as seen in the "Packages Affected" section. In a nutshell, the following criteria will be adopted to define out of the box support for PDA devices:

  • Synchronization of PIM data - all PIM data must be synchronized without any issues
  • Installation of PDA applications - the user must be able to install additional applications to his PDA
  • Ability to browse through the filesystem of the PDA - since a PDA can be classified as an external storage device, the user must be able to browse, add, and delete data in his device (perhaps via Nautilus/GnomeVFS?)

Also, we will need the community for building up a device database that lists their experiences in having PDA support in their Ubuntu installs:

  • Request data from existing users about their experience on having PDAs run with their Ubuntu installations. A wiki page has been done to announce this request: https://www.ubuntulinux.org/wiki/PDATesting

  • Send the request to ubuntu-users and post to forums as well.
  • A wiki table of tested devices can be populated by users interested in this project: https://www.ubuntulinux.org/wiki/PDADeviceList

  • From data collected from various users, we can then simulate end-user setup and check the compatibility of devices. From this data, we can indicate the PDA devices that we will support out-of-the-box.

ColinWatson: how about integration with hwdb-client? talk to OliverGrawert

Data Preservation and Migration

  • The various PDA platforms have different ways of keeping data. That means we have to find a way to retain existing data as much as possible, especially during sync. The application should be smart enough to determine new and conflicting data. If there is data conflict, the application should ask the user about appropriate action to take on the data.

Packages Affected

  • gnome-pilot

  • evolution-pilot

  • multisync

  • synce-multisync-plugin

  • libmultisync-plugin-all (Complete Backup Suite)

  • libmultisync-plugin-backup (Backup plugin for MultiSync)

  • libmultisync-plugin-evolution (Ximian Evolution plugin for MultiSync)

  • libmultisync-plugin-irmc (IrMC Mobile plugin for MultiSync)

  • libmultisync-plugin-irmc-bluetooth - Adds Bluetooth support to the IrMC plugin

  • libmultisync-plugin-opie - Opie plugin for MultiSync

  • libmultisync-plugin-palm - Palm plugin for MultiSync

  • libmultisync-plugin-syncml - SyncML plugin for MultiSync

  • synce-multisync-plugin - WindowsCE plugin for MultiSync

  • There are many packages available in universe which could be useful for PDA support.
  • Research will be done on the OpenSync framework.

User Interface Requirements

A simple status window will suffice for automatic synchronization (the moment the PDA device is hot plugged). Since most PIM applications sync to evolution, the process is done from the background.

Outstanding Issues

  • Most of the solutions available allow simple sync functions to evolution. If we are to support PDA sync capabilities "out-of-the-box," we may need to have another simple sync tool to store data (like PalmDesktop perhaps?) in future releases. Needs Research.

  • Some PDA users subscribe to online services like AvantGo to download news, maps, books, entertainment guides, restaurant guides, etc. We may have to find a way to be able to have users of these devices still get to their subscribed services. Needs Research



UbuntuDownUnder/BOFs/PDASupport (last edited 2008-08-06 16:38:00 by localhost)