My boss came to me this morning with an interesting conundrum – could we come up with a push-compatible synced calendar solution for the company computers and mobile devices, as free as possible, without having to run an Exchange server. The stipulations were that it had to be push-compatible, dynamically synced and had to allow the continued usage of private calendars on mobile devices (namely the iPhone). There were many half-way solutions that involved subscriptions to private calendars and iTunes syncing, but we wanted something a bit more on-demand and universal.
Our first thought was to make use of the (in this case, rather lacking) capabilities of Leopard Server running on our office Xserve – this was, unfortunately, the first stumbling block; as Leopard Server’s CalDAV implementation in iCal Server lacked the ability to push any changes made down to our devices.
Several hours of research, dead-ends and spurious theories later we came up with the solution – iCal and iPhone calendar harmony, with a little help from Google and an excellent (and free) service called NuevaSync.
1. Backup
As always, back up your current calendars and settings – that includes your mobile device. Changing your current calendar setup will inevitably result in losing some data, especially on the iPhone where all current calendar data is lost when switching to a new one in the process outlined below.
2. Create your calendar
The first step is to create your shared, collaborative calendar. This is done with Google Calendar, namely as it’s the easiest calendar program to integrate into various client solutions (including the following ones), with the added benefit that you can guarantee yourself access on-the-go with Google’s own web applications. You must however be prepared to hand out the login credentials of the Google account used to create the calendar – as the following steps require that level of access. The easiest thing to do is to create a unique Google account specifically for your shared calendar.
3. Sync it with your computer
Google publishes private “feeds” from within Google Calendar that allow you to view the calendar if it’s not set to public (which would rarely be the case), but these are read-only and offer limited flexibility. For that we turned to Google Calaboration, which implements CalDAV to support real-time, dynamic calendar syncing. Google currently supports iCal v3+ (Leopard onwards) and Mozilla Sunbird, which was cross-platform enough for us.
Sunbird integration is simple as per the instructions, and iCal setup involved simply downloading an application from the above link, entering your Google account name and password (as mentioned above) and selecting the calendar to be synced – this creates a new calendar entry in iCal, that will dynamically sync with your Google calendar in real-time.
4. Add the calendar to NuevaSync
As mentioned before, NuevaSync is an incredibly handy (and more importantly, free) service that is crucial to creating the push-compatible calendar environment we need. This is because it takes your Google calendar and runs it through an Exchange server complete with ActiveSync capability, which will push any changes to your mobile device as long as it supports it (including the iPhone with software update 2.0 and above). Creating an account and adding your calendar with NuevaSync is easy, and well documented at their site. Once you’ve done this, you’re ready to add your calendar to your mobile device. In this example, we’ll use an iPhone.
5. Adding the calendar to your iPhone
As we mentioned before, NuevaSync makes use of Microsoft Exchange functionality, so we added a new Microsoft Exchange account to the iPhone by going to Settings -> Mail, Contacts, Calendars -> Add Account… This will give you a list of account types, and obviously “Microsoft Exchange” is the one we’re looking for.
You’ll then be presented with a list of options, the meaning of each in relation to your NuevaSync/Google Calendar accounts is documented on the NuevaSync site, but in brief Email is your Google accounts email address, Server (which may not appear until you’ve clicked the “Next” button after entering the other account information) is www.nuevasync.com, Username and Password are your NuevaSync details and Description can be anything you like.
Once you select “Next” you can turn off Email and Contacts and turn on Calendars for the new account, and you may be prompted to delete your existing calendar data if some exists on your iPhone. As you’ve already backed up your data anyway, you can safely accept this. Voilà, you should have a fully synced, push-compatible calendar on your iPhone tied to your Google Calendar account.
6. Private calendars, too
Our other stipulation was that we had to also support staff members’ private calendars (as their phones are necessary to organise all aspects of their life, not just work) without updating the shared collaboration calendar. Unfortunately, as far as we can tell, this is (currently) the only non-free area with regards to our setup. Once Exchange calendar syncing is turned on on the iPhone, it will no longer allow you to sync your calendars with iCal, and only one Exchange account can exist on the iPhone, barring any multiple NuevaSync/Google calendar options. Our solution to this was to use MobileMe, which it turns out was a fairly convenient solution – the iPhone allows Exchange and MobileMe accounts to coexist, and MobileMe will push any iCal calendars (excluding our Google one) to your iPhone and vice-versa. The Family Pack version of MobileMe appears to be the most cost effective solution – it supports 5 accounts, each with push calendar ability, working out at £17.80 per staff member.
So there you have it! iCal to iPhone shared, collaborative, push calendar ability with cross-platform support additionally with private calendars with some help from Google, NuevaSync and MobileMe. At least until OS X Server 10.6, anyway…
List of caveats:
- It’s not completely free with regards to a Mac/iPhone setup, but it’s damn closer than with Microsoft Server and Exchange licensing thrown into the mix.
- The calendar isn’t truly collaborative, as it’s effectively multiple users editing the same calendar. This means that any events are editable by anyone, and it’s hard to keep track of who added what. Thus it’s only really effective for smaller organisations.
- There may be additional roadblocks with regards to other mobile platforms, including Android and Symbian. As we’re a company largely devoted to Apple’s hardware (at least amongst those requiring push calendar support) I’d appreciate any comments/feedback on other mobile platforms.
Tags: Apple, calendar, collaboration, google, ical, iPhone, mac, mobileme, nuevasync, push




