Calendar Syncing

UPDATE 5/1/11: If you've been having trouble syncing multiple calendars to your iPhone, it's because Google has added an extra step to the process. I've added a bit about Google's new required iPhone sync utility to the Set Up Your iPhone section for folks with multiple calendars. As always, happy syncing!

I keep getting comments asking the best way to set up two-way calendar sharing between multiple computers, and I've finally decided to just write a post that details the process. This is different — and in my opinion, far better — then sharing your calendars via Box.net, as I wrote about long ago. This, in fact, is the real deal. This is good stuff. This is how it's supposed to work. So let's get started.

I thought the easiest thing to do — since it's what I do, it's fairly simple and it works well — would be to walk you through connecting an iPhone and a Mac to a central calendar on Google's servers.

Set Up a Google Calendar

The first thing you'll need is a Google Calendar account. If you have Gmail, chances are you already have a Google Calendar. If not, go set one up now, and be sure there's at least one calendar active in the account.

Set Up iCal

Next you need your Mac, and specifically you need to open iCal.

  1. In iCal go to Preferences->Accounts.
  2. Click on the little Plus sign in the lower left corner of the window.

  3. Choose "Google" from the Account Type pulldown and fill in your Google Account info.
  4.  

  5. Once the account is set up you should see Google Calendar's default calendar in your iCal sidebar. If that's your only calendar, you're done. To view a different calendar, or if you have multiple calendars you want to view, go to the Delegates tab and check and/or uncheck which calendars you want to appear in iCal.NOTE: I had to relaunch iCal for it to see all my calendars, which can happen when you have as many as I do — I believe it's eleven!

That's it! Now, any event you create in iCal on one of these Google Calendars will get written to the master calendar on Google Calendar. And vice-versa. Go ahead and test it out. Remember to refresh your browser to register changes made in iCal.

Set Up Your iPhone

You can also connect your iPhone (or iPad) to your Google Calendar account (just like you can with email).

  1. On your iPhone open the Settings app.
  2. Go to the Mail, Contact, Calendars tab.
  3. Under the Accounts heading press "Add Account..."
  4.  

  5. Fill in all your Google Account info, as usual.
  6.  

  7. Once the account is set up, press it in the list and be sure that the Calendars switch is set to "ON."
  8.  

  9. Go to your iPhone's iCal application and you should now see your primary Google Calendar.
  10. UPDATE: If you have additional Google Calendars that you want to sync with your iPhone, you'll need to use Google's iPhone configuration utility, which you can reach via any web browser at the following URL (you'll need to be logged in to your Google account first, of course):

    https://www.google.com/calendar/iphoneselect

    At this web page, simply check which calendars you want to sync with your iPhone and they will sync accordingly. As far as I can tell, this is a new additional step that Google has recently added to the process to allow greater control over what gets synced to your iPhone.

Here, just like in iCal, you can add or remove events and they will be reflected on your Google Account. They should also be reflected on your Mac's iCal application as well. Just remember: since this is all happening over the WWW, it can take a few moments to propagate to all systems, especially if you have lots of calendars or a slow connection. Just give it a few minutes and you should see everything get in sync.

Also remember: the Google Calendar is the master calendar. The calendars on your iPhone and Mac are beholden to that Google Calendar. If it goes away from Google, it will be gone from your iPhone as well as from your Mac.

Bonus! Moving iCal Calendars to Google

"Well," you might ask, "what if I've already added a bunch of dates to my local iCal calendar and now I want to migrate to the Google Calendar sharing system without having to redo all my events?" That's a great question.

Fortunately, both iCal and Google Calendar can take advantage of a common calendar format know as ICS. So all you have to do is export your iCal calendar to the ICS format, and then import it into Google Calendar. Sound simple? It is.

  1. Select a local calendar (under "ON MY MAC") from iCal.
  2.  

  3. Under the File menu select Export...->Export... (no, this is not a typo).
  4. Name the calendar and save it somewhere handy. This is your ICS file, a single file with all that calendar's info, that you can import into Google Calendar.
  5. Open a web browser and go to your Google Calendar account.
  6. Click Settings->Calendar Settings (upper right corner).
  7.  

  8. Click the "Calendars" tab. Here you should see all your calendars listed. Be sure you have a calendar to put all the imported calendar's events into. It can be your main calendar, or you can make a new one. Once you're ready, click Import.
  9. In the popup, select the ICS file you just made, and choose the Google Calendar where you want to put the imported events.
  10.  

  11. Click the Import button.
  12. The calendar events should now be available to you in Google Calendar. You should also see them on your iPhone and in iCal on your Mac. If you don't, and you added them to a new calendar, be sure that new calendar is among your visible Delegates in the Accounts preference pane in iCal.

So that's it! I hope people find this useful. I certainly have!