Here are my attempts at loading my Palm contacts in my Android (kind of) smartphone. I did it via Google Contacts eventually.
I wanted to stay on Linux ... it probably would have been much simpler to go the Windows route (see further) ... but I wanted to check I could do it on Linux (for future businesses considerations).
Voici mes différentes tentatives pour migrer mes contacts Palm dans Google Contacts pour qu'ils soient dans mon Android HTC.
(tout le reste est en Anglais)
Where I am coming from
I have all my contacts (600) in my Clié N770C and of course in J-Pilot running on Ubuntu 9.04.
I could use the Windows PalmDesktop application also ... but I am going to try and stay on Ubuntu.
I have custom fields which are important information to me. One of them, is birthday date so I don't want this imported to a note field but kept as a separated field so I can import it into the Google/Android database.
I also have contacts on my (old) NEC mobile phone N500i. I did not realise I had so many numbers (300) in there till the migration. A good part of them are duplicates from the Palm contacts database ... but not all them: some are more uptodate and some are new.
Avoiding maintaining both databases in sync was the main reason, for me, to move to Android.
I used the "export as a vCard" function from J-Pilot application and imported it all (straight into the Android using the SD card). That worked ... ish ! The categories were not kept neither were the custom fields information (where I have quite a lot of information).
That got me started to use my Android HTC for a couple of weeks, till I could investigate a better solution.
I synced my Clié with Evolution (Gnome PIM app), that worked well ... except, it does not sync the custom fields.
That would have been a good option because I could have moved over all the contacts to Google: Evolution can synchronise contacts to a Google account.
I used PdbConverter to generate an XML file with all the information in the file. I would have liked to use the CVF (vCard aka contact cards) file generated as it includes categories ... but custom fields are added as extra notes: not what I wanted, but it could work for someone else needs.
Then I created a CSV file by applying a XSLT filter on the XML file generated. I am sure it could be done by modifying PdbConverter ... but my PC is not set up to program Java (yet) so it was easier to use XSLT (and more fun too, because I learnt something new).
If needed, you may download my XSLT filter here.
Note: you will need to change categories and custom fields according to your data: they are listed at the beginning of the generated XML file. I needed to replace all " HTML characters sequence with a ' (it was mainly/only in the Notes) to avoid problems.
Google Contacts can import CSV files. To know the exact format, I exported one sample contact I created in Google contacts, and then used this file as a sample.
I took the opportunity to clean my data a bit (it's always easier to work on data when it's all in one place, like in a spreadsheet).
And I also deleted all sensitive information (passwords, banking, etc) which I stored in Universal Password Manager.
I might be a bit paranoid but I did not want to have all my sensitive information stored in the internet cloud and being accessible (potentially) by programers of the service provider (Google in that case). That was the same thing with my memos (more on that in another note).
More on Universal Password Manager and other software of that kind in another note.
In the end, that was a little bit of work ... but it all went into Google Contacts via the import CSV file function ! ! !
To migrate data from my phone (an old NEC500i), I just exported the contacts as vCard (using the NEC Windows application), moved them to the phone SD card (mounting the phone as an external drive using the USB cable) and used the import function of the phone. That worked well, and was easily done.
Now, I have to merge the duplicates, which Google does quite well, (and key in detailed info and categories for the others).
The only problem is that Google is not good at all at keeping information contact ! ! ! For instance, it is not clear how the the naming information are all stored. It seems they are all stored in one field, although they can be typed in separate fields. The postal address is stored into one single field ... so there's no way to sort by city and/or country, it's very annoying ... but I can live with it for now.
In the end, I would say Google (therefore Android) has a phone/email book and not an address book ... the difference is subtle but it exists. For people not use to this, it will probably make no differences, for previous Palm users, it could be really irritating.
Still there are some good things like the fusion wizards, or the possibility to link contacts from different address books, e.g. link a contact from Google with a contact from Facebook: you get extra information (id photo, birthday in calendar) with just one click.
I suppose the best way is to keep the contact in some good datastore (which one ?) and to use SyncML (with funambol, for instance), rather than used the Google cloud ... but I will do that when I'll have more time.
So I went the Google route for now: all my contacts are in Google.
That was the simplest (ish) way of having my contacts in my Android.
On the Android, I use the native phonebook application, that will do for now.
Occasionally, I use DejaOffice (an PIM application with Palm in mind ... but it's still really new): sometimes I find it easier to search with this.
Now, on my desktop computer, that's the problem.
I use Google Contacts on the web, but I would like to have a deskotp application. Unfortunately, at the moment neither Gnome Evolution or Thunderbird synchronise very well with Google: some fields which are important too me (but may be not to you) are not synchronised, and I am afraid of losing information ... I will have to perform some tests.
Another possibility will be not using Google at all and using SynML as the back end. That way all devices (Android and desktop computer) will use SyncML and hopefully will sync well. But that's another story ... may be for later.
In the end, it took me quite a bit of time to get my data across, but it's because I wanted to keep my categories and moreover my custom fields info. If you don't care about custom fields info, you can import all your Palm contacts via vCard using PdbConverter or use a CSV export.
Of course, if I would have done the transfert operation on Windows, that would have been much simpler. HTC, for a start, provides a sync solution via USB cable and Outlook (migrating from Palm to Outlook is an well known process). And there are plenty of other solutions (some are listed in the web links following).
But hey, "c'est la vie", on Linux: somes times, it's really simple, and some other times, it's quite complicated ! !
I suppose that's part of the charm ! !
Appendix: External resources
Info for importing Palm contacts (and other Palm information)
- PdbConverter = software to convert Palm dbs into other format. I used that one
- Palmreader = Import contacts for PalmDesktop (win) files to Google directly (not tested)
- Palm Support response
- Android forums - from Palm to Google = Some answers, including a Perl script to export vCard to CSV
- Android forums-Droid = A (very) long and interesting thread about migrating from Palm to Android
- Android forums-HTC = Another long interesting thread about migrating from Palm to Android
- Palm Transplanters = Could be interesting forum for&by former Palm users ... but no much traffic.
- One more experience going from Palm to Android (with some solutions)
- Ubuntu-FR forum = more experiences of syncs, in French
Alternate sync solutions
- GO Contact Sync = Open Source sync between Google and MS Outlook
- gSyncit = Commercial solution to synchronise between Microsoft Outlook (on Windows) and Google
- Companion Link = Commercial software to sync between Windows and Android. Could be used as a one off transfer as it reads Palm info as well.
- Missing Sync = A solution to sync Android with Windows and/or Mac.
- My post about SyncML
- SyncML definition on wikipedia
- SyncEvolution = to synchronise Evolution (Gnome PIM) using SyncML
- Funambol = the usual implementation for using SyncML, there's a local server.
- Ubuntu One = provides a SyncML server (only for contacts)
- GooSync = sync with Google using SyncML
- Synchronise Thunderbird-Lightning using Funambol (in French)