Former TUAW-writer (but forever in our hearts) David Chartier tried using OS X's built-in Address Book sync to Google Contacts and had a very bad experience which ended with him turning it off almost immediately. I had a similar-but-different bad experience. In my case, OS X seemed to simply stop syncing to Google altogether, despite the fact that the setting was still enabled.
Some of the difficulty is due to the fact that Google has differences and limitations on contact information compared to OS X, which complicated syncing. I have also not been able to find any reliable way to tell when the last sync took place (it's supposed to happen every hour on 10.6), and no way to manually trigger a sync on demand.
Fortunately there's a better solution: SpanningSync. SpanningSync will sync iCal to Google Calendar and your Address Book to Google Contacts. Even better, it has a setting that I adore (shown above), called "Never Change Address Book."
This tells SpanningSync to upload changes that I make on my Mac to Google, but don't sync anything back from Google. No, this isn't "true sync" but it suits my purposes fine. If I want to add contact information, I always do it on my Mac or iPhone, not on Google. The only reason I want my contact information on Google is to use with Google Voice. If you prefer to make all of your changes on Google, you can make it a "one-way sync" that way, or make it a two-way sync.
Read on for more suggestions...
I don't use Google Calendar, but SpanningSync can also sync iCal calendars to Google Calendar if you wish. You can select some or all of your calendars to sync.
You can control how often SpanningSync connects with Google, either every 10 or 30 minutes, or every hour, day, or week. You can also set it to manually sync, and you can trigger a sync "right now" whenever you want to.
SpanningSync works with regular Google accounts or with Google Apps accounts.
You can download a 15-day trial of SpanningSync. After that it is $25/year ($15 renewal) or $65/lifetime. You can save $5 off that price by finding a friend who uses SpanningSync and getting their referral code through SpanningSync's Save 5/Make 5 deal.
Spanning Sync also offers a program called Contacts Cleaner ($5, App Store) which will search your address book and identify duplicate information, merge contacts, and lots of other potential problems. I've run it a few times and have been impressed by what it has found.
They also offer a Calendar Cleaner program for $5 which I have not used. A third program, called "Sync Tune-Up" is only available through the Spanning Tools website. Sold together, the three programs cost $15 (existing SpanningSync customers get a $5 discount).
Backups, Backups, Backups
After your pictures, your address book data is some of the most important and hardest to reproduce if lost. I run a daily backup using Apple's Backup app, and a weekly manual backup through Address Book.app itself.
Here's a very brief video walkthrough of the backup process (if it's too small, view the video on YouTube in a separate window):
Apple's Backup program is designed for MobileMe subscribers, but non-MobileMe subscribers can backup up to 100 MB with it, which should be plenty to backup your address book. I have about 1,300 contacts in my address book, and Backup.app says that's only about 18 MB.
Launch Backup.app, create a new backup plan (Plan » New Plan or ⌘ + N), then select the "Custom" plan template in the next window, name it "Backup My Address Book" (or some such) and you will see a window like this:
Click the "+" next to the "1" shown and choose your address book from the "Quick Picks" and then click "Done."
Click then "+" next to the "2" shown and choose where you want the backups to go. If you are a MobileMe subscriber, this is a good place to use your iDisk. Set how much you want to keep -- rather than filling the entire disk, I suggest 4 weeks, which is the minimum -- and how often. I set mine to go off at 3:15 p.m. every day because that's when I have to leave to get my son from school, so when I see Backup.app launch, I know it's time to go.
Backup.app will bounce in the dock for 120 seconds before it runs. If you find this annoying, open Terminal.app and paste this line:
defaults write com.apple.backup "Backup Timer" 1
and then it will only bounce once.