Sync All Your Calendars

Sync All Your Calendars

All this talk recently of browsers and email clients has distracted me from another problem that I’ve been struggling with for several years now:

How do I keep all my calendars in sync?

It sounds like a simple question, and in theory the answer should be simple. However, I learnt many years ago that if my gut feeling was “The answer should be simple”, then I knew I had a late night coming.

There are lots of well established systems that are designed for this very task: Microsoft’s Exchange Server, Google Calendars, CalDAV, GroupDAV and so on. Then there’s the client software to talk to those servers: Microsoft Outlook, iCal, Sunbird/Lightning, Windows Calendar … the list goes on. In theory all you have to do is pick a server technology and a supporting client, and you’re laughing. In fact, fellow blogger Rich B already has a good article on this … but this is where my problem begins…

For many years I’ve used my calendar at work to organise both my work and home life. After all, it’s no good having that information in two separate places if you’re going to organise your life! Our IT department uses MS Exchange Server on their network to provide us with eMail, calendars, to-do lists and so on. When we’re at our desks we use Outlook, and when we’re on the move they provide us with access to an Outlook Web Access (OWA) URL. The OWA is a limited web interface that provides you with basic access to emails and calendars – but its pretty grim. Thankfully the OWA also allows Windows Mobile devices and iPhones to sync their own calendars, contacts and emails with the server, so there’s as far as keeping in touch on the move – I’m happy.

The problem has always been once I get home. A mobile device such as the iPhone is useful for viewing and creating the odd appointment – but I quickly get bored when it comes to entering or updating my personal diary. This is made slightly worse by the iPhone’s less than perfect Exchange sync’s which sometimes miss random appointments. What I needed was a way to access that calendar at home. The problem is, apart from the OWA, there was no way to connect directly to the Exchange Server at work – from home … and even if there was, I didn’t particularly want to use Outlook. I’ve grown very fond of Thunderbird and Sunbird for my email and diary.

To add to the confusion, I also wanted a way for my wife and family to share my calendar. My parents and I run a family business, and until now we’ve shared diaries by sitting down every 6 months and copying them out!

So, the basic problem is this: I’m a stubborn ass and want to use Outlook at work, Sunbird and home, calendar and contacts on my iPhone, and have everything synced … oh, and be able to share my personal diary. There must be a way!

Well, it turns out there is. Where I’ve been going wrong all these years is in trying to get the various clients to talk to the Exchange Server. What I really needed was a middleman. A nice, free, online server that supports an open sync format such as CalDAV … and that middleman is Google Calendar.

If I threw Google into the equation, suddenly there was the solution I’d been looking for. Google doesn’t offer any way of syncing your calendar directly with an Exchange server – but they do offer a desktop took to automatically sync an Outlook calendar with your Google Calendar. The sync works two ways, so changes I make to Google Calendar are pushed back to Outlook, which in turn updates the Exchange Server.

Even better, since Google supports CalDAV, I could use my favourite calendar app Sunbird to subribe to my Google calendars.


This setup gives me the best of both worlds: I get to keep my work diary and sync with my iPhone just as I always have. I also get to create additional diaries on Google Calendar (in my case a “Personal” and “Freelance” diary which I can share with my family). Those additional calendars aren’t sync’d back to Outlook, which is ideal since they’re not work related. The only problem this creates is with the iPhone, since it doesn’t receive any of the appointments in those non-work diaries. That’s not the end of the world though, as Google has a decent enough web-app for the iPhone to access the online calendars directly.

So there you have it: After all these years I can finally view all my calendars in one place from home, or anywhere for that matter. It also neatly solves another one of the sync problems I had between my desktop and laptop PCs. Both of them pull their calendars down from “The Cloud” now, so there’s no need to worry about sync.

Given that there’s so many exchanges of data going on (Exchange <> Outlook <> Google <> Sunbird … and back again), I’m not 100% sure this is a foolproof plan. I’ve not experienced any problems with appointments yet, but I wouldn’t be surprised if the odd one cropped up. Having said that, I was pleasantly surprised how quickly everything just worked, particularly once I’d got over the MS Exchange hurdle. It seems once you’ve got that monster out of the equation everything else is downhill!

So, with calendars well and truly sorted – I’m onto my next challenge: Contacts. Rich B has already made some progress on this front, so I hope to steal his work and present it as my own. :o)

Watch this space!