Today I wanted to synchronise my data across my laptop (Ubuntu Hardy) and my
mobile phone (Nokia E61, Symbian S60). I decided to reduce my expectations from
the start and went for the easy kill: a one-way, one time import of only my
contacts, forgetting about notes, calendars and what not. After some
investigation involving gnokii, Gammu and friends I stumbled upon that marvellous
framework called OpenSync. It's been
developed for more than 3 years and displays a huge list of supported devices,
protocols and software. It is currently undergoing an important rework towards
version 0.4 but today it is recommended to use the latest stable release:
version 0.22 from march 2007. I thought it was worth giving it a shot.
Everything went well, installation and setup were reasonably straightforward
following that post
on Ubuntu Forums and I was impressed by GNOME's bluetooth support working
out of the box. My hopes went very high when I noticed that Multisync, OpenSync's GTK frontend, was
able to handle two ways synchronisation of all my data. Unfortunately, after a
couple of hours of fiddling with the thing I went out of luck: the contacts
weren't goin' in! I was able to have at best 5 or 6 contacts sent to the phone.
Shame :/ Solving real life issues while having fun coding is so enjoyable that
I decided to fire up a good old iPython
shell and started to look around the different possibilities of interaction I
had with the Nokia E61. I settled for the following 3-steps technique, simple
and efficient:
1. Export contacts from Evolution into separate vCard files, one for
each contact
Thanks to the excellent Evolution's Python
bindings coming straight from the Conduit project fame it is as simple as
that Evolution-to-vCards
script.
2. Transfer all the vCards to the Nokia E61 over
bluetooth
ObexFTP does
the trick in a one-liner:
obexftp -b [PHONE MAC ADDRESS] -c E:/Others/Contacts -p [VCARD FILES]
3. Import the contacts from the files
Go in Contacts > Options > Copy > From memory card.
That's it!
All contacts were imported even the problematic ones. I still noticed some
glitches in the final result such as encoding problems and missing avatars but
well, that will do for now. Next time: OpenSync development version.