I've been a full-time Apple Mail, iCal and Address Book user ever since Snow Leopard brought native Microsoft Exchange support to the Mac OS. Prior to Snow Leopard I was using Mail/iCal/Address Book for my personal stuff, but I had to use Microsoft Entourage for my work email. The day I installed Snow Leopard was the day I stopped using Entourage and in my recent clean start I didn't even install MS Office back on. It's not that I don't want or need Office, I just saw no hurry to put back on the 2008 verision now that the 2011 version is out. I'm still waiting for it to be deployed at work. In the meantime Pages and Numbers have been working well opening documents from others. Yep, life was good except for one thing! With the swtich to iCal for my Work MS Exchange Calendar I lost the ability to easily share my work calendar with Family. While iCal brings over my work MS Exchange calendar just fine it doesn't allow it to be shared back out! This meant that I had to manually update a regular iCal calendar that I could share via MobileMe or CalDAV. As with any manual workflow there were times that I'd forget to copy over appointments or worse I'd forget to remove appointments that were canceled. That pain recently ended!
Spanning Sync to the rescue!
Spanning Sync is an Application for your Mac that allows you to sync your iCal calendars and Address Book with Google. Yes, both iCal and Address Book have native support for doing this, but Spanning Sync does way more than what Apple built-in. I'll get to Address Book in a minute. With Spanning Sync I was able to easily sync any of my calendars to my Google account. This even included my work MS Exchange Calendar. Spanning Sync is smart enough to sync it as a "Read Only" calendar, which is all I ever wanted! My family doesn't need to edit this calendar. They just need to see it along side their iCal calendars for planning. Once I sync'd my Work iCal to Google Calendars I just allowed my family to add that calendar to their iCals via ICal's built-in support for Google Calendars. A big problem solved! I have Spanning Sync set to update my Google calendar every hour. It can be as frequent as every 10 minutes or as long as Every Week. There is also a manual option. Every hour works great for me. This is one of those things that you set and forget. I just continue to update my iCal/MS Exchange calendar as I always have and I know that it updates Google Calendar in the background.
What about Contacts?
This App can also sync your Address Book Contacts with your Google Contacts. Again Address Book can already do this and I have tried it before. However, it didn't work well and it got to the point that I had to turn it off. It was continuously duplicating the same 20-40 contacts over and over again in both places. Google's Contacts don't quite have the same field mapping as Address Book. Things like a middle name or a 3rd name would cause havoc on the Google side of things. I use Google Voice and while it would be nice to have my Address Book Contacts automatically sync up to Google for use with Googe Voice, it wasn't worth the constant duplication hassle. The problem with Apple's built-in support for Google Contact Syncing is that you have NO CONTROL over it. You can't tell it what to sync, when to sync or anything else for that matter. It's either on or off! Spanning Sync not only gives you more control, but it does the one thing I needed to make me feel comfortable using it. It has an option to "Never Change Address Book". Brilliant! This way the sync is only in one direction. Since I look at Address Book as my master list, I never want an outside force (service) to change it. Now I can make changes in Address Book and add new contacts and they appear in Google's Contacts. My Address Book contacts never duplicate anymore.
Spanning Sync is worth its weight in gold for me. It has made my life a lot easier for getting my information to the places I want it to be without hosing my iCal or Address Book.
You can check out Spanning Sync here.