UPDATE: these instructions are quite old, use this instead: http://www.google.com/support/calendar/bin/answer.py?hl=en&answer=99358#ical
I’ve moved everything to Google Apps for Domains a long time ago, so my personal and work mails, contacts, and calendars are all on my GApps accounts. All my consulting clients are also on GApps. Using GApps, iCal and Addressbook on my Mac, and my iPhone, I got decent PIM integration between phone, mac, and cloud. (it’s come a long way since my PIM post in 2005). Before Google enbaled CalDAV, I used BusySync to sync iCal and Google Calendars, it worked well, and my phone synced with iCal and it in return synced with GCal. This worked well enough, but now iPhone OS 3.0 supports CalDAV, it is possible to have my calendars on the phone synced with GCal directly, without having to go through iTunes. (I must mention that BusySync does a lot more than syncing iCal and GCal, but that was the only feature I used and also the only reason why I paid for it).
So the basic idea is, remove BusySync, setup iCal and phone to sync with GCal separately via CalDAV, stop iPhone calendar syncing in iTunes. I have quite a few GApps accounts and I have multiple calendars in my personal account. My passwords are also randomly-generated with 1Password and they are 50-character long, so I needed an easy way to get all these CalDAV accounts configured on the iPhone. (even with copy-and-paste it can still get really tedious very quickly). After a little bit of Googling, I found these:
- iPhone Configuration Utility – With this I can setup a configuration profile with all my CalDAV accounts, and then install the profile onto the phone, this is the only way to configure anything on an iPhone, period. You can find detail instructions with screenshots here.
- Calaboration – an opensource tool for Mac to help setup GCals CalDAV accounts in iCal, without this it is a bit more work to figure out the URIs for your additional calendars.
It took only about 15 minutes to get CalDAV setup for iCal and the phone, and now when I add something from the phone it shows up on my mac without having to sync the phone in iTunes.
Note that all my calendars were already on GCal in my GApps accounts, if you have a calendar in iCal that is not already on Google, CalDAV won’t really help you there. I’m sure you can figure out how to import it into GCal though.
The next thing I really want is, obviously, to get everything pushed to the phone. I have quite a few mail and CalDAV accounts on my phone, and pulling every 15 minutes for all accounts probably eats up quite a bit of battery. I’ve been using msgpush.com to get push notifications via ActiveSync for my personal mails, but it doesn’t work all that well. Also, msgpush.com doesn’t even work after I changed my password to a 50-character-long string. The GPush app looks more promising, so hopefully Apple approves it. In Apple Mail on my mac I use IMAP IDLE and sorta does push, but that doesn’t work very well either! In fact, I think this is why msgpush hasn’t worked well for me, IMAP IDLE is a pretty old spec and it sucks. Right now even CalDAV accounts are doing sync every 15 minutes in both iCal and on my phone, and I don’t think the technology itself has any push capability built in. (It is an extension to WebDAV afterall). I’m beginning to think ActiveSync might not be such a bad idea, and this is a lot coming from a guy who generally don’t like or use anything by Microsoft.