PDA and phone support

Lyndon Drake lyndon at arotau.com
Sat Mar 12 16:32:53 CST 2005

PDAs and newer mobile phones are becoming more and more widespread, and
in general I would suggest that they are currently fairly poorly
supported in Ubuntu.  I have a selection of such devices, and while it
is possible to get them to synchronise with my Ubuntu system, doing so
is often complicated and certainly a fair way from the ideal.

I want to improve that situation, and to that I end I have a proposal
that I am willing to put time towards (though other volunteers will be
needed in order to make any significant progress).  Below I will outline
what functionality I think is necessary, how I think we can go about
providing that functionality in Ubuntu, and what development work will
be needed.

I hope this doesn't come across as a rant - it's just my thoughts on
what could be better and some ideas on how to improve things.

To my mind, the three main use cases for PDA to desktop connection are:

1.  Evolution calendar, address book and task list synchronisation.

2.  Access to the device's storage in Nautilus, in order to manage
photos, MP3s and DivX files.

3.  Application installation - this is basically a specialisation of (2)
but with at least one significant difference for Windows Pocket PC
devices [1].

Many mobile phones are also reasonably functional PDAs, with a simple
calendar, address book and task list.  Newer phones often also have some
storage, used for photos taken on the camera and for uploading MP3s to
play back on the phone, so a similar set of use cases applies.

>From what I know, most people connect their phones to their PCs via
Bluetooth, while most PDAs are connected via a USB port.  PDAs can often
also be connected via Bluetooth or Wifi.

1.  Bluetooth.  The first step for me is to get a working Bluetooth
setup going on my Ubuntu system.  I have a USB dongle, but while it is
supported by the kernel getting Bluetooth working does not seem to me to
be particularly simple for an end user.  I have in the past managed to
get Bluetooth working enough with my Ericsson T610 to copy the phone
book off it, so I know it is possible to get it to work, but I did not
find it a trivial process.

2.  USB.  Both Palm and Windows Pocket PC devices connect via a USB
cable, and in both cases are only hotplugged when the device's
synchronisation software becomes active (when the HotSync button is
pressed on a Palm dock, and when the device is first plugged in for a
Pocket PC device).  This in itself causes problems if you have both Palm
and Pocket PC devices, as they will each be allocated ttyUSB0, or one
will get ttyUSB0 and the other ttyUSB1 if both are active at the same

Here is an outline of what would happen in my ideal world:

Hotplugging a USB device should start the synchronisation software.  The
analogue to this is that hotplugging a removable drive mounts it in

If the device has not been seen before, the user should be presented
with some simple preferences: which Evo calendar, address book and task
lists should be synchronised, and whether the device should be
synchronised automatically when it is plugged in.

If the device has been seen before, and the user chose automatic
synchronisation, that will happen first.  Then three options will be
presented (maybe in a dialog, or perhaps less intrusively via a
notification area icon): Synchronise; Open in Nautilus; and Install an
application.  There should also be the ability to disconnect the device.
When the device is being synchronised, a progress dialog should be

Much of the software for doing the actual synchronisation is already
available, but is difficult to configure and complicated to use (notably
gnome-pilot, multisync, and synce [2]).  Hopefully we can eventually
look at getting something similar in functionality to iSync [3].

What do people think of what I've said so far?

If there is some agreement on the basic idea, I will come up with some
UI mockups and start looking into recognising the devices when they are
hotplugged.  I want to work on USB PDAs first, and then move on to
Bluetooth phones later.

Apart from development one thing I can provide is lots of test devices:
I currently have a Handspring Visor, an Ericsson T610, an XDA (MS Pocket
PC PDA/phone combo), a Sharp GX30i phone, and an i-mate JAM (a newer,
smaller XDA).  I even have an old Palm Pilot Pro somewhere, but I don't
really think it's worth putting too much effort in that direction :-)


[1]  Software for Pocket PC devices is often distributed as a
self-extracting Windows executable.  Synce [2] provides some software
which can be used to extract the Pocket PC CAB files.  I would argue

[2]  http://synce.sf.net/  Have a look at the instructions on how to get
synce working - while they are clear and helpful, they are also
complicated and not at all what normal end users should be expected to
go through.

[3]  http://www.apple.com/isync/

Lyndon Drake <lyndon at arotau.com>

More information about the ubuntu-devel mailing list