Monday, October 27, 2008

Funambol on the Android Market (and the G1)

I spent some quality time last week with Carlo Codega, the developer in our community who built the Android client. He is in Italy and I have the G1, so it made sense for us to work together and build a version ready for the G1 (and the Android Market).

This morning, as soon as the Market opened, the Funambol client has been uploaded on the Android Market. If you have a G1, you can check it out right now. It allows to sync your address book with a SyncML server (such as the free, which gives you over-the-air sync with Outlook or Thunderbird or any other client we support. Also, if you have a new G1, it allows you to migrate your existing contacts from your phone to the G1 (sync first with your old phone, then with the G1). Your old phone could be a dumb phone, but also an iPhone, BlackBerry or Windows Mobile. We support all of them.

I learned a lot from this process, as usual.

First, developing for Android is not as easy as one would like it to be. Intent and Activity are concepts that make sense, but it takes a moment to get used to them. Our original version had the Action for Settings which was a bit too generic: you clicked on Settings and all the apps that registered for the View action would pop up... When we made it application specific, everything worked. You could not tell it from the emulator, since there you have just one application (yours)... In general, I found the process of compiling and getting the apps on the phone - including debugging over the cable - quite easy. Good job there by Google.

Second, the Gmail sync is very transparent but it has bugs. Some contacts get duplicated in the process. Weird things happen around "Suggested Contacts", the people you replied to from Gmail. On Thursday, they were appearing on the phone as "hidden" (but screwing up our sync), then they became totally visible. I am sure many will complain. If you use Gmail, you might have hundreds of emails as suggested contacts. I replied to a mailing list of my neighborhood (where the people were put in CC) once, and I ended up with hundreds of neighbors email addresses on the G1. I love them but I do not want them on my phone ;-)

Third, posting on the Android Market was a breeze. Past the $25 I had to pay (does Google really need that money??), I had to fill up a form, upload the app and voila' it showed up on my phone. No questions asked. No Apple police to check it out. It felt, well, open.. And I like open ;-)

Lastly, the security environment for Android seems quite strong. I browsed around the file system, but everything was shut down. Every application is its own user (in the Unix sense) and has its own subdirectory to play with. No permissions to go around and screw up the system. I am still missing a file browser and a tool to send files out (you can't attach them to emails), but I am sure they will come shortly.

Overall, it has been a good experience. I have to say I am pleased with the OS, environment for developers and market. The hardware is a different story, but it is not tight to the OS. We'll see better ones (I hope, for Google!).

Few tips if you are planning to use the 0.1 Funambol Sync Client for Android:
1. there are some bugs left (that is why Carlo calls it 0.1 ;-) For example, it does not support foreign characters (your contact will be displayed with its phone number) and contacts with First Name but no Last Name will show up as ",FirstName". Use it at your own risk.
2. if you do not want Gmail automatic sync to screw things up, uncheck the automatic sync for contacts (Settings -> Data Synchronization -> Contacts).

Enjoy and let Carlo know how things are looking. He is busy preparing for an exam (Wednesday), so... better leave him alone for the next two days ;-)