So I've been meaning to write this up for a bit now, and Google's recent switching on of over the air syncing (via licensed from MS active sync tech), and my friend Dave's recent entry about the issues he's run into there, has finally given me the motivation I need to just go ahead and write this up.
For around a month or so now, in an effort to get better organized, I've been working on keeping my calendars and contacts in sync between Google, (more on contacts later) my iPhone and my two computers. So far it's working ok, I'm probably only a little bit more organized, but that's mostly because I need to put a bit more effort and discipline into keeping up with everything and adding it to my calendars, but I've got the tech situation pretty well set up to make that as easy as possible.
Let's start with what I wanted for calendars: I wanted a way to use Google calendar (we'll refer to as gCal from here on out) which I'd been using for a while to try to organize myself with mixed sucess, on my iPhone. Seems pretty simple. But getting the ideal set up wasn't as easy as I'd have liked.
For reasons I can't really fathom when you visit Google's mobile site for gCal, you can view events, but you can't add them. It's nice to be able to see what you have to do, but if I can't add events as I think of them, it's more or less worthless to me, since the key to keeping myself organized is not giving myself an excuse to forget to add something to my calendar, no matter where I am. Besides even if that worked I don't always have cell coverage or a good data connection when I need to add something.
I considered trying to just switch to iCal, as that'd let me add and edit events on my phone, and would have my phone actually buzz or beep to remind me of things. I did this a few times, but I was already using gCal and it seemed like it'd be tough or impossible to reproduce all of that again on my iPhone (especially a few shared calendars). Besides, I didn't want to always have to use my phone to add events. As much as I love my iPhone it's going to be faster and easier to use a full sized keyboard and screen to add things when that's an option.
What I needed was full two way editing and syncing between my iPhone and gCal.
I had read a few times about programs like Busysync and Spanning Sync, and they both seemed to do something close to what I wanted (namely sync calendars both ways between iCal and gCal). But I hadn't really researched them too closely and I'd still only get the calendars to sync when I synced my phone with my computer at the end of the day at home. This might have been "good enough" but it wasn't ideal, and I just hadn't really looked closely enough at either to know if they'd really be worth the money.
A little while back I went ahead and signed up for MobileMe, mostly because it'd offer some web hosting for our wedding website that'd be especially easy to set up (since we were just planning to use iWeb to make a simple site without much hassle, and it's very easy to publish to MobileMe through iWeb). I figured it was probably only a little bit more expensive than other web hosting options, very easy to use for our purposes, and I'd get a chance to try out the other features. I set it up to sync my address book and iCal calendars between my two computers and my iPhone. This was nice but didn't really do that much for me since I never really used iCal (though it was certainly nice to keep my address book synced between my phone and two computers, and to have changes sync over the air).
When Google announced they were supporting CalDAV I was briefly exciting thinking that that could be the answer I was looking for. I'd sync my google calendars down to iCal, which would then sync them to my iPhone over the air or when I synced it up with my Mac at home. But it turned out that you don't really get full two way syncing, especially from the phone, so that wasn't really what I was looking for.
However, at some point I saw a post by John Gruber (of Daring Fireball) in which he talked about the upcoming BusyCal by BusyMac (the same people behind BusySync). He had also recommended BusySync a number of times, so I checked out BusyCal a bit (one could describe it as iCal Pro) and it sounded pretty sweet. I then looked into it further and realized that BusySync would probably do exactly what I was looking for as far as syncing my calendars, and with Mobile Me set up I'd even get over the air syncing between my phone and my calendars!
I downloaded it, and set it up, which was very easy, and was pretty much instantly able to see and edit my gCal calendars on my phone vis versa! I finally had full two way editing and syncing between my phone and gCal! I was pretty excited.
BusySync even lets you decide how you want it to handle alerts. It'll translate alerts between iCal and gCal, so you can get alerts in both places, or just one, and you can even determine what type of alert to get (e-mail, pop up, sms) or how to handle different alerts. What it boils down to for me is that if I add an event in gCal (7pm Dungeons and Dragons) and add an reminder to myself 30 minutes beforehand, I'll get whatever alert I set up in gCal (email, pop-up or sms) and I'll also have my phone buzz and have iCal pop up a reminder on my computer at home. (Actually because of MobileMe syncing my computers as well as my phone I'll get that pop up on both of my computers).
BusySync also offers a fair number of other options for sharing iCal calendars within a home or office network, and other things that I probably won't really use, but they could be nice for some families or small businesses.
From what I've read Spanning Sync is similarly easy to use, but works slightly differently. It's a bit more streamlined in what it does as far as calendars go. Rather than syncing all your different calendars on iCal and gCal separately, it's really set up so you can merge them. This'd be particularly good if you had been using both iCal and gCal a lot and wanted to merge two of your calendars into one. I hadn't really ever used iCal so it didn't really matter that the calendars in iCal would be treated as separate calendars (in fact I'll probably stop even bothering to sync the calendars that were already in iCal, since I only use the ones I had been using in gCal), but for some people Spanning Sync might be a better option, (it also syncs your contacts between gmail and address book) but I've never used it so I can't really speak to it in much detail. They seem to be two overlapping but slightly different products.
Now of course a week or two after I finally went ahead and paid for BusySync (I used it for about 3 weeks of the free trial before paying for it), google announced they were offering free over the air syncing. I have to admit, that if they'd started this before I paid for BusySync I might have thought twice about paying for it. Though at the moment I'm still glad I did.
The Google solution might have been close to perfect for me since I didn't really have anything in iCal, and so syncing events from gCal straight to my phone would probably have been enough. But, it does appear that there are some limitations with the current implementation, like not being able to sync more than 5 calendars (I don't have that many I use yet, but I am starting to use shared gCal calendars more and more so I might have more than 5 soon), it also doesn't seem to handle alarms very well (and alarms are pretty crucial for me since without them I'll more than likely just forget to look at my calendar and miss appointments and things).
That being said, if they iron those issues out and I decide at the end of a year that I don't want to stick with MobileMe (we'll see, but it does have a fair number of features I wouldn't mind keeping), I might switch to that for my over the air syncing, at which point unless I've started actually using iCal or BusyCal (assuming I decide to upgrade to that when it comes out) I might also stop using BusySync/Cal, since all the calendars I use are on gCal. But for now I'm pretty happy with my set up, and it does pretty much exactly what I want it to.
If you DO use iCal and want over the air syncing with your iPhone without MobileMe, then a combination of gCal and BusySync might be perfect for you (The developers of BusySync even wrote a blog entry to tell you about it!).
I was also going to talk about syncing my contacts (I promise not as verbosely as above) here, but this has already gotten far too long, so I'm going to make that a separate entry.