Taking control of your Calendars: Part 2

Ok, hopefully you’re read Part 1 of this article and you now have your calendars all set up in Google Calendar instead of iCal..  Now let’s get that all synced up to your phone.

One of the biggest benefits of Apple’s MobileMe service it the way it keeps your iCal calendars in sync with your iPhone. Unfortunately MobileMe costs $129/year here in Australia (even though it’s only $99 in the US and our dollar is almost 1:1 at the moment… don’t get me started on that!) The good news is that you can get exactly the same sort of synchronization at no cost by using Google Calendar instead of Apple’s iCal, plus you get all the extra benefits of sharing calendars that only Google’s cloud can offer.

If you’re a Google user then you’ve probably set up Gmail on your iPhone. The trouble is, when you set that up you probably did the obvious thing and went to Settings, selected Mail, Contacts, Calendars and then chose the Gmail option. That seems kind of obvious, but there’s a much better way to do it. When you choose the iPhone’s Gmail option you get the option to set up Mail, Calendars and Notes. Notes? What about your Contacts? Wouldn’t you rather have those?

Setting up Gmail using the Exchange optionInstead of choosing the Gmail option, you should choose the Exchange option. You’ll still use it to set up your Gmail, but by using the Exchange protocols it actually does two important things. One, it allows you to set up Mail, Calendars and Contacts – much more useful than notes. And secondly, it opens up the option to use Google’s Sync Services.

On your iPhone, get started by going to Setting and selecting Mail, Contacts,Calendars. Tap the Add Account… option. Tap on Microsoft Exchange (I know, I know… you’re using Microsoft Exchange to set up Google’s Gmail on an Apple iPhone… how weird is that?)

In the Email field, enter you full Gmail address. You can skip the Domain field. In Username, enter your full Gmail address again. Enter your Gmail password in the password field. For Description, give it a meaningful name, like, oh, I don’t know… Gmail?  Finally, I’d suggest you make sure that SSL is set to On. Tap the Next button.

The phone will take a few seconds to verify your account, and then the screen will expand to reveal a field for Server. In here, enter m.google.com, and then press done.

You’ll probably want to turn on all three options for Mail, Contacts and Calendars. Mail Days to sync can be set to whatever you like… I have mine set to 1 Week. The Mail Folders to Push should probably be set to Inbox.  That’s it.

If you now check your iPhone’s Calendar you’ll see that you now have a Gmail calender in the list. Awesome. If you’ve previously had Gmail set up on your phone the regular way you can (should) delete it, or you’ll have two copies of everything.

But wait a minute… your Google Calendar has all those lovely layered calendars, and the iPhone is only showing one of them. What’s going on? Where are the others?

By default, the only calendar that you see is the Primary one.  If you’ve set up your work Exchange account, your primary calendar will be set to sync with your Exchange account since that’s a limitation of Google Calendar Sync with Exchange. To see the others you’ll need to do a couple of extra steps.

On your iPhone’s mobile browser, go to http://m.google.com/sync and select your device (you can set up multiple devices, such as your iPhone, iPod Touch or iPad)  On this page you’ll see all the secondary calendars you’ve set up on your GCal. Just tick the one’s you’d like to appear on your iPhone (up to 25 of them) and then tap the Save button at the bottom of the page. Done.

Now if you go back to your iPhone’s Calendar app, you’ll see all the secondary calendars in the list! Make sure there’s a tick next to all the ones you’d like to appear in your calendar list and you’re good to go. You now have perfect realtime syncing of calendars between your Google Calendars and your iPhone. Just like MobileMe gives you, but without the cost.  You also get your Gmail Contact list showing up on your phone’s address book too.

Speaking of contacts, once I decided that this Gmail mail/calendar solution was a clear winner, I also exported all of my contacts out of Apple’s Address Book on my Mac, then imported them into Gmail’s Contact list. It was silly maintaining two lists of contacts, and although there was a fair bit of overlap of the same people in my cloud-based Gmail Contacts list and my Mac-based Address Book, they were still two different sets of data, which used to drive me crazy. A single list of contacts makes much more sense, so by importing everything into the Gmail contacts and enabling that as my iPhone’s primary address book, it combines everything into one place. Of course, there were duplicate entries, but that was easily fixed in Gmail but going to the Contact list and from the More Actions menu selecting Find and Merge Duplicates. Too easy. I now have one single list of contacts, stored in the cloud, always up to date, and accessible from anywhere.

So far, I’ve got my school Outlook calendar feeding into my Google Calendar, aggregating it all into a single cloud-based calendar, and syncing it all back to my iPhone and iPad (as well as every computer I use). Perfect!

But what about iCal? I do still find iCal handy as there are occasionally times when I’m not actually connected to the web. Google Calendar doesn’t have an offline mode (yet!) so it would still be useful to have access to my calendar via iCal. If only iCal could pull its calendar data directly off the Google cloud…

It can. Here’s how.

iCal PreferencesBack on your Mac, open up iCal’s Preferences. Go to the Accounts tab and click the + button to make a new account. Under Account Type choose Google, then enter your gmail address and password. Give it a moment to validate that, then go to the Delegation tab.  As long as you’ve set your secondary calendars up at http://m.google.com/sync, you should see all your secondary calendars in the list. Tick the ones you want to appear in iCal and close the Prefs panel.

The secondary calendars will appear momentarily in iCal under a Delegates fold-down triangle. Each delegated calendar will be hidden one level down under an alias to itself, but just click the small triangle to reveal it and make sure it’s ticked. You now have a fully synced iCal calendar, including secondary (delegated) calendars, that all emanate from your single, source-of-truth Google Calendar. The best of all possible worlds!  The only thing you might want to do now (for both iCal and GCal) is spend some time picking better colours for your calendar layers. (It’s a bit annoying that the colour schemes don’t carry across, but hey…)

One last thing. I actually have my school email set up directly on my iPhone by creating an Exchange account and hooking it directly to our Exchange server at work. This means I actually duplicate my work calendar, getting two copies of it in my iPhone calendar list – once via the direct connection to the Exchange Server, and once by the indirect connection through Google Calendar Sync and via the Gmail setup. However, I deliberately do this because having the direct connection to Exchange gives me near realtime syncing to the school mail/calendaring system, whereas the via-Gmail connection often has a lag time of up to 15 minutes or more. But its an easy fix to go into the iPhone’s calendar list and untick the GCal copy of the calendar leaving only the direct connection, and now I really do have a calendar system that works perfectly and all without spending a cent on MobileMe.

Hope this helps some of you… If you use any of this, let me know how it works out for you!

Taking control of your Calendars: Part 1

At the recent Google Teacher Academy in Sydney we were given a presentation by Danny Silva about making Google Calendar “sexy”. Although Danny was probably being a bit tongue-in-cheek about it all, I have to admit it made me completely rethink my use of digital calendars. This rethink was also helped along by a late night geek-session with my buddy Roland Gesthuizen, another new GCT, who was showing me some of the cool things he does with integrating Gmail and Google Calendar.

I’d been using Apple’s iCal software that came with my Mac, which I generally quite liked. What I didn’t like was the $129 it cost me each year for MobileMe in order to sync my calendar across all my computing devices. The massive benefit of a digital calendar is it’s ability to set up a 2-way sync between computer to phone. Adding an appointment on my iPhone and having it magically appear on all my computers was definitely a killer feature. Of course, I also keep a work-related calendar on my school computer using Outlook, and those appointments also form an important part of how I spend my time. I’ve blogged about this before, but my solution for keeping things in sync was overly complicated and involved a paid-for third party tool called Spanning Sync in order to make it happen. And that was all pre-iPhone. Things got much more complicated then.

I had been using iCal on my three personal Macs, Outlook on my school PC, as well as an iPad and an iPhone; what I wanted to achieve was a total calendaring solution that brings both my personal and work calendars together and keeps everything in sync. I was also interested in having all these events surface in Google Calendar too, since as a Gmail user, that was a convenient place to see my calendar as well.

I’d been treating iCal as my “source of truth” calendar and then making it sync outwards to Google Calendar.  As it turns out, I now realise I was thinking about it all wrong. The trick is to make the Google Calendar the “source of truth” calendar and then have it sync out to everywhere else.

For what it’s worth, here’s how I set everything up (and a couple of tips for how I use it) Remember, all my calendar information was in iCal, so the key for me was in getting all over to Google Calendar instead, and then include my work Outlook calendar in the mix.

Google Calendar layersFirst thing I did was to back up all my iCal calendars using the standard .ics format. To do this, open iCal and select one of your calendar layers and click File > Export > Export…   This will export that calendar as a .ics file. (Here’s more info if you need it) Do this for every calendar in iCal until you have an .ics file for each layer of your calendar. Once you’ve done this, delete everything out of your iCal till it’s all empty.

Over in Google Calendar (or GCal for short), do the same thing. Delete everything out till there’s nothing there. (obviously, back everything up first, just in case… here’s how to do that in GCal)

Like iCal, Google Calendar also uses a multi-layer approach, enabling you to have a separately viewable calendar for each aspect of your life. These layers all display on the same calendar grid, giving you a wholistic view of all your calendars. In GCal, the very first of these layers in called the Primary Calendar, and all the others are called Secondary Calendars. For example, I have a calendar layer for my own personal events called Chris, one for each of my children called Kate and Alex, (where I add events relevant to each of them), one for conferences called Conferences, one which tracks holidays called Holidays, one for a club I belong to, one for payments to mark things like mortgage payments and paydays, etc. Each aspect of my life has it’s own calendar layer.

I want my school calendar, which is created in Outlook, to also be one of these layers. There is a free tool called Google Calendar Sync which will very simply send all your Outlook appointments over to GCal every 15 minutes or so and place it on it’s own layer. However, what I didn’t realise was that the synced Outlook Calendar has to be the Primary Calendar in GCal. That’s just how Google Calendar Sync works… it’s can’t sync to a secondary calendar layer. If you plan to sync your Outlook, that’s good to know in advance.

If you plan to sync Outlook to your calendar setup, label your first calendar (the Primary calendar) as Work, or similar.  Then create as many secondary calendars as you like by clicking the Add option below the calendar list, then give it a name and select the properties you’d like it to have.

Once you have set up your layers, use the .ics file you exported out of iCal earlier to import into the appropriate calendars in GCal. To do this, click the Add button below the Other Calendars list, and in the dialog box that appears browse for each .ics file and match it with the appropriate GCal layer. More detailed instructions on how to do this can be found here.

Next is to sync up your Outlook with that first primary calendar. On your computer that runs Outlook, install the free Google Calendar Sync tool.  It’s very straightforward, and all you really need to do is put in your Google account details and select how often you’d like it to update. I update every 15 minutes. It could take a few minutes to do the first sync, but after that it’s very quick.

So far so good. You should now have all your various calendar layers, including Outlook, visible in GCal.  You can toggle each one between being visible or not just by clicking it’s name. Of course, because it’s GCal you can go into each calendar and share it with other Google users, and do all those other cool things that living in the cloud enables.

Now, let’s get all this synced up with your phone… stay tuned for Part 2.