Just a short hint for people who like the google calender and are looking for a way to sync their iPhone and Thunderbird to it (aka: my current setup). There also is the possibility to sync your iPhone Contacts with google contacts and the thunderbird addressbook. Oh, did I mention that all this synchronization works OVER THE AIR :D ?
iPhone <—> google calendar/contacts:
To get the iPhone to talk to google calender, you can't rely on the sync solutions (funambol etc) in the Appstore as Apple doesn't allow developers access to the iPhones calendar.
Nuevasync is a nifty service that basically acts as an Exchange Server while on the other side being able to synchronize to Google Calendar. Simply sign up, and allow Nuevasync to access your google calendar and contacts. Thanks to the google infrastructure, you don't have to give Nuevasync the password to your google account. Google can allow 3rd parties to access your data once you give them permission.
Once you've set up Nuevasync, you can simply add the service as an exchange server (server = www.nuevasync.com, user+pass = your nuevasync user+pass) to your iPhone and enable contact + calendar synchronization.
Changes are being pushed over the air in a few seconds.
thunderbird <—> google calender
As thunderbird doesn't offer native calendar functionalities, you'll have to install the lightning addon. This will allow you to keep a tasks list and calender in thunderbird.
Adding the google calendar provider to thunderbird will allow lightning to add your google calender (New calendar —> address = http://www.google.com/calendar/feeds/YOUR_GOOGLE_ACCOUNT/public/basic . Can also be found in the preferences in google calendar under the XML button (bottom of page)).
thunderbird <—> google contacts
To sync your thunderbird address book to your gmail contacts, you can use the Zindus Addon. I've only given it a short try, but so far it seems to work pretty ok