Last year, I wrote a very long blog post on the problems I was having with calendar synchronisation but I never reached the point where I was ready to publish it. Almost a year on, and I finally have something that’s working well for me but, as it’s such a long story, I’ve tidied up the original post and published it (for the full history) and I’ll write a new one here that describes the working scenario.
Calendar synchronisation… shouldn’t it all be a bit easier than this?
First up – to recap on the original problems:
- Due to limitations with Microsoft Office’s Online calendar functionality. I was synchronising local calendars at home and work, using Google Calendar (GCal) as an intermediary.
- The main problem was synchronisation between Outlook 2007 and GCal and, after trying a huge list of products, each of which nearly worked, but not quite, I got it working using CompanionLink for Google; however the various other products I’d used along the way had left me with duplicate and missing calendar entries – and a sour taste in my mouth.
- On the Mac at home, Apple iCal was working with GCal but there were still some issues around synchronisation with a local Exchange Server via Entourage.
Back to the drawing board
After having implemented Google Apps for my home/small business IT, I decided to have another go at calendar synchronisation.
This time, to minimise the scope for synchronisation errors, rather than merging my work calendar into my home calendar, I decided to set up another Google Calendar to mirror the Exchange one I use for work. In addition, the process was simplified as Google now has a synchronisation product (Google Calendar Sync) which can handle the Exchange/Outlook-Google side of things and I am no longer using Entourage or Exchange Server at home.
The whole thing looks something like this:
As can be seen in the diagram, I actually have three calendars:
- My work calendar exists on a corporate Microsoft Exchange server (accessible via Outlook Web Access but primarily used with Outlook).
- I’ve also created a Google Calendar to hold a copy of this “work” calendar in the cloud and Google Calendar Sync does the magic to keep the two in sync.
- Finally, there’s my “personal” calendar, which lives at Google Apps.
Google Calendar sync is set up for a 2-way sync and, even though I can synchronise as frequently as every 10 minutes, Outlook performance suffers whilst the sync is taking place so I have it set to synchronise hourly. The main drawbacks with this approach are: the need for a client helper application; the 1:1 nature of the synchronisation (i.e. you cannot sync with multiple calendars); and the inability to set synchronisation schedules (or even to control the date range for synchronisation) – on the other hand, it’s free.
In Google Calendar, I have given my Google Apps account access to my “work” calendar, which means that I have full read-write access to it from anywhere that I use Google Apps. That access could be via a browser, of using native applications on my iPhone, MacBook, or another device (e.g. a Windows PC). Basically, my work calendar is visible everywhere.
My “personal” calendar is… personal. I can access it directly from any of the devices that I use for accessing Google Apps but I don’t want my colleagues to know that I have certain appointments and one thing I found with the Google Calendar Sync (luckily I spotted it early) was that appointments marked as private in Outlook were visible once they got to Google Calendar. I still need to think about how to pass my personal free/busy information back to Outlook/Exchange at work but, for now, my “personal” calendar exists in Google Apps and is visible in my “work” Google Calendar account but I don’t sync it back to Outlook. Basically, if I look at Outlook, I see work appointments but if I open a browser and got to the Google Calendar, I can see work and personal information.
What does it all look like?
In this screen-shot of Outlook 2007 connected to my corporate Exchange Server, my “work” calendar is visible but there are no appointments from my “personal” calendar:
Viewing either of the Google calendars in a browser (in this case it’s Safari on a Mac) shows my “work” and “personal” calendars using different colours:
I can also subscribe to these calendars using the iCalendar protocol from Apple iCal, Windows Calendar (or another desktop client):
On the iPhone, I can use either the built in calendar application or a browser application (I prefer the browser version as the iPhone Calendar assigns different colours to the various calendars):
You may notice that I also subscribe to a public calendar which provides the details of UK public holidays. Doing this means that the public holidays show up in my calendar using a different colour to the other calendars but there are other calendars that I could subscribe to – for instance sports calendars (e.g. the Northampton Saints fixture list) – or anything that uses the iCalendar format described in RFC 2445.
Summary and other points of note
In all, this solution seems to be working remarkably well for me and provides a suitable level of abstraction between work and personal calendar details whilst still letting me (and my family – or anyone else that I share my calendars with) see everything that I’m up to. I still need to work on getting personal free/busy details to populate my “work” calendar but, other than that, I’m pretty happy with the solution – and all of the software involved is free (apart from Outlook and Exchange Server – for which the licenses are provided by my employer).
I’m using Google’s technology but I could also have used Microsoft products, as Sarah Perez describes with Windows Live Calendar and the Outlook Connector. Either should work – it’s just a matter of preference – and as I was already using Google Apps for one part of the solution, adding Windows Live Calendar into the mix seemed to over-complicate things slightly for me.
Finally, this information may be useful when diagnosing problems: