I love my iPhone 3G. It is such a great device. It does everything, well, almost everything.
I maintain my calendars using Google Calendar (which is an amazing calendar!) and my contact list and emails in Google Mail. The iPhone handles Google Mail perfectly, but will only sync Google Mail contacts to/from the iPhone when you sync with iTunes. Sadly, syncing Google Calendar with the iPhone is (was) non-existent. There are some 3rd party products to do this syncing, but they all seem to require syncing with the PC which is a drag and honestly didn’t seem to work well or easily. It is far more preferable to do Calendar and Contact syncing “over the air” so it happens any time the iPhone is turned on and connected to the network. The problem is 3rd party applications are not allowed to make changes to calendar / contacts / etc. so this is easier said than done.
Finally, after about 2/3 of a year of owning my iPhone, Google provides an easy way to sync Contacts and Calendars over the air. The one caveat is that you your calendar and contacts must be associated with a single Google Calendar / Google Mail sign-in. My main Google Calendar was associated with a different Google Calendar account, so I had to move that calendar. With my secondary calendars I just had to “share” then with my main Google Mail sign-in, but with my “main” calendar I actually needed to export the data, import, then remove the data from the original calendar. Happily, this was pretty easy to do using iCal export and import.
My iPhone now really feels complete. Yay!