Yesterday I talked (in far too much detail and at far too much length) about how I keep my calendar's in sync and available to whenever I need them.
Today I'm going to talk a little (hopefully only a little...) about my current system for keeping my contacts in sync. Luckily it's pretty simple.
I basically use a feature that's built into OS X (well since 10.5.3), that lets any mac that's had an iPhone or iPod Touch connected to it at some point to sync contacts between address book and Google contacts. (Why you have to have connected an iPhone or iPod Touch is beyond me, and luckily with a little comandline-fu one can get around that). The same option exists for yahoo contacts (and I think that's there no matter what, so even if you don't have an iPhone or iPod Touch it's an option).
After doing that, my address book and Google contacts are in sync, and because of my MobileMe subscription, my phone is updated automatically as well (changes made there also migrate back to my computer and from there to Google).
This works mostly pretty well. There have been some issues though. Gmail adds anyone you e-mail or have been e-mailed by to your contacts. Luckily it don't put all those "suggested" contacts into your "my contacts" section without you telling it to. Unfortunately, at least for the moment, using this feature in OSX doesn't distinguish between "My Contacts" and the suggested contacts. So after I did this i had to go through and really spend a long time cleaning up my contacts, getting rid of people I didn't know or didn't want to have in my contacts on my phone. I also had to go through and merge multiple versions of the same people, and make sure I had the most current e-mail address(s) and phone numbers. But once this was cleaned up it's pretty good, at least for a while. Unfortunately I have to keep going through every so often and cleaning everything up again, because Google keeps adding contacts (so when my Mom or my Aunt sends me a mass e-mail suddenly all the other people on there are in my contacts). They really need to fix this. Let me decide which contacts I want to sync.
The other problem is that Google's contacts info doesn't have all the same fields as Address Book, so some things didn't or don't quite sync up properly or simply don't sync. Mostly it works pretty well but I have had to slowly go through and clean up mailing addresses and such here and there that got mangled in the transition one way or the other.
I also had a weird problem for a while where I kept ending up with multiple versions of myself in my contacts list. I'd have my main entry, with all my e-mail addresses, and phone numbers etc, and then a new one would keep popping up that just had my primary e-mail address. It was weird and I had to delete the extra one and add my main e-mail address back to my main entry a few times. It seems to have stopped happening though, so... I'll just chalk it up as a fluke or edge case.
Anyway, yesterday Dave posted about Google's new calendar and contacts sync services, and mentioned some issues he's had with it. I don't have solutions for most of them, but the set up I have above might be a fix for the issue of not syncing one's address book on the Mac with the phone anymore. Besides the obvious solution Dave suggested of just turning off over the air contacts syncing, you might be able to use the solution I have above, and still have over the air syncing of your contacts with your iPhone.
I don't know for sure that you can do both at the same time, but it seems like you could have your Mac syncing it's address book with gmail's and then have gmail syncing it's address book (which is not the same (more or less) as the address book on your Mac) with your phone. The nice thing about this is if you're out somewhere and you add someone to your address book on your phone ("Hey, I haven't seen you in ages, we need to hang out more, let me get your number.") it'd automatically be migrated to your address book at home and to your Gmail contacts.
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.