I bought my N900 (after a long wait) the first and only Maemo device 3 months back and I have been having quite an experience with it already. I just thought I will jot down some of my initial hiccups and experiences with it, this specific post relating to Syncing contacts from a cloud, specifically from a Gmail account.
Most of us use Gmail as our primary communication channel. I have had my account since the time Google started Gmail and everyone I contact with are on Gmail as well. A smartphone such as N900 (and the various S60 devices I have used) bring the flexibility of using Email on the phone itself. Hence it makes sense that the people who we contact with over Gmail are also part of the phone’s contact list.
I have gone a step ahead with this where I have merged my phone contacts meaning those whom I contact over the phone with the Gmail contacts. Hence the first thing I do when I get any phone would be to setup sync with the Google contact cloud and get all my contacts synced on the phone. It has been fairly easy with the other S60 devices I have used (N95-8GB, N85, 5800, N97, N8). The reason being the contacts application on those device supporting ActiveSync (SyncML) over IP.
Once I got my N900, the challenge was to find a way to Sync my contacts on the Google cloud onto the device phonebook.
N900 didn’t support ActiveSync over IP out of the box (like the way S60 devices did, refer to http://www.google.com/mobile/sync/ for instructions on how to do this on your S60 device), the support is via Bluetooth or USB. Now it’s quite a job to connect the device every time via Bluetooth or USB to sync the data required. I personally didn’t want to do that.
The only other way I was aware of (which is essentially a hack) was to use Mail for Exchange to simulate the Google sync as an exchange server. This worked like magic on the S60 devices where I could Sync email (not as powerful as using IMAP), Calendar (just one calendar database) and Contacts (No Tasks and Notes). I used the same instructions found at http://www.google.com/support/mobile/bin/answer.py?hl=en&answer=147951 and things were fine for a few days (I had setup just Contacts sync). After a month or so, the setup started failing with the Mail for Exchange application refusing to Sync contacts. This typically happened when I made changes or added a contact in my N900’s phonebook. Also, if more than 4-5 contacts were added/changed sync used to fail as well.
After doing a little research online, I found that MfE doesn’t really work on N900 and there are quite a lot of issues reported by various N900 users.
I had almost given up and decided to Setup sync on my N95 and then Sync the contacts from that (via Bluetooth) to my N900. I planned on doing this once every few days. I also made sure that I never made any changes to the phonebook on my N900, I added or modified the contacts directly on Google which really became a nuisance for me.
I decided not to give up and researched more on this, until I found an app which made all the problems I mentioned above go away.
The app I found is called the “syncEvolution”. This is widely used with Evolution email client in GNOME desktops and later the support was added for N800/N810 (command line only) and later the iPhone and in 2008 it supported N900 (only command line) and by the end of 2009 a GTK based was available for the N900 (see http://syncevolution.org/about/roadmap). I read about this in one of the blogs on maemo.org and immediately downloaded it. Note that it is part of the Maemo extras-devel repository which has to be added separately into the application catalogs (find the instructions here http://wiki.maemo.org/Extras-devel#How_to_activate_Extras-devel).
The setup was fairly easy and here are some screen shots which shows how it works.
1. SyncEvoltion icon in the application menu.
2. Add a new service (accounts with which sync is setup).
3. Name and template of the service. Select Google as the template.
4. Next enter your Gmail id and password and Finish.
5. Added service listed. Select it.
6. Select Menu –> Edit service to review the settings.
7. Start the Sync.
As the sync progresses, the contacts on the Google cloud start appearing in the Phonebook.
Note that when adding a service (an account with with Sync has to be done), various templates can be chosen. The template for Google can be used to Sync only contacts. Also there are various sync modes (directionality of sync). I have found only the “Normal Mode” to function correctly. Also note that only the standard fields Such as Mobile, Phone (home), Phone (business), Email (home), Email (business) and a few others get synced both ways. One irritating thing I found is that the sync adds the Gender field to every contact and it is always shown as “Unknown”. Modifying the field and Syncing again doesn’t affect the corresponding entry in the cloud.
I haven’t tried using the other templates (such as Funambol, GooSync, Mobical and so on). But if one wants it can be tried out for other types of data like calendar events, tasks and notes.
The Sync can also be scheduled to run daily. While using the Google template, enabling any other type of data for Syncing results in a failure.
More info can be found here http://syncevolution.org/.
Hope this helps those who have a N900 and would like to Sync their contacts from Google. Do let me know if you have found an easier and better way than this.