Contacts transfer from Blackberry to Android
To cut a long story short, a friend of mine had bought the HTC wildfire Android phone to replace her blackberry. 90% of the setup went really easily. The last 10% was really hard:
She had 500+ business contacts in her blackberry, including entries with multiple numbers etc... and we found that blackberry gave no official way to export that to another phone. All you could do is transfer from one blackberry to another.
First problem is that HTC does not provide Linux software for synching the phone. I find it very ironic that I have to use Windows to sync my Linux-based phone, but that's the situation. This would have been tolerable, had the "HTC Sync" software they provided actually worked! It would not detect the phone (or vice versa) and after a couple of hours of trying to coax it to work, I gave up and tried different methods.
Another problem is that the common method people online recommend you do this (export to CSV file and import in to Google) is that this does not work for fully laden contacts.
If your contact list consists of "First name,lastname,telephone_number" then it works fine. But when you try to add contacts with two different addresses, three different phones, Fax and email. Google just can't process it correctly. I know because this is the first thing I tried to do (based on reading online on how to import address books into Android) and it just didn't work.
Thankfully Google and Android support the vCard format, which is robust enough to support all the above needs of your typical connected business[woman/man].
Alas, it seemed nobody actually did this before. Seeing as I know quite a few businesspeople shifitng to Android from Blackberry, and because this proved to be a right PITA to do, I decided to write an article and post it online, so that the rest of you don't have to spend 3 days banging your head against the wall to work it out.
Ok, to do this you will need the following:
- A Windows PC:
Unfortunately no choice here. Not only can't use use a *nix box for this, you can't even use Windows in a Virtual Machine. Blackberry seem to do some funky low-level stuff with the USB connection that the VM software I tried could not successfully forward (I tried VMware and VirtualBox).
- Blackberry Software installed on the PC: Goes without saying really
- IPDDUMP: An excellent piece of opensource software! The key to extracting the address book out of the blackberry. I'd recommend you donate something to the guy. He made this possible! (Java program, so cross platform, make sure you have a jvm installed)
- Cvs2vCard: Program to convert a CSV file to the standard vCard format. Perl program (Worked flawlessly in Linux, don't know how hard it is to get working on Windows)
- Connect your blackberry to the Windows machine and run the "Blackberry Desktop Manager" software.
- When it loads, select "Backup and Restore" and select "Back up". This will prompt you with a place to save the backup file (which should have the extension .ipd)
- Once saved, you have the IPD file. You now open ipddump load up the file you just saved. If you have a lot of data in your IPD file this can take a couple of minutes.
- Now you have a set of tabs with all the backed up data. As I am just interested in copying the address book, we go to the "Contacts" tab.
- When here you select the contacts you want to transfer (I just hit CTRL-A to select them all) then go to "File>Save Selected As". When prompted to save make sure "Files of Type" is set to "Csv Document". Now save the contact list.
- Now ipddump isn't perfect. It's trying to extract data where Blackberry has made it as hard as possible to do. As a result it occasionally messes up.
So what I had to do was open the CSV file in a spreadsheet program (I used openoffice, but you can use anyone you want) and go though it, looking for any row's that have symbols and random garbage. Once found delete the entire row.
This does result in the loss of the odd contact, but even a 10% loss beats having to manually type out 500+ contact addresses, so this was acceptable to me.
- Once you've cleaned up and saved the csv file, we run it through Cvs2vCard. Once you open the file in the program. You will be greeted with two window panes, like so:
Now we have to connect the fields in the CSV to what the standard vCard contains. Blackberry does not use a standard naming scheme so we have to assign one to the other. The simplest way to get started is to hit "Execute auto-assign". This will pre-fill the obvious connections, leaving the rest to you. Most of them are quite simple (e.g. "Last" connects to "Last name") but other (like "PIN") are blackberry specific and might have to be left out completely.
- Once you are done making all the connections, hit "Convert" to save a copy of the CSV in vCard format. Unless specified this will be saved in the same place as your csv file, with the same name, except for the extension ending in ".vcf".
- You are now done! Rejoice! The vcf file can either be imported into the google account your phone is associated with (and then automatically synched to your phone), or you can copy the vcf to your phones SD card, from where you can select it to be imported.
And that's it. It may not look difficult (only 9 steps), but if you don't know how to do it, or what software to use, it can take you days to get it right. I hope this article has been of use to you, and good luck with converting your Blackberry contacts!
You may take consolation in the fact that you only need to do this once. The vCard format is a standard, and works all over the place, from android phones, to email clients and other services, you should not have to do this ever again! As of now you'll be able to sync and import your contacts with ease.