Monday, March 3, 2008

Wirelessly sync iCal calendars to your BlackBerry

I like my technology best when I have to deal with it least. For the last year, I had been swimming nicely with a v360 that would automatically sync with iCal and Address Book on my Mac. But then I threw caution to the wind and upgraded to a BlackBerry Pearl. I loved the bigger screen, push email, internet access, blah blah blah... but there was zero iSync support for the Mac. Zero bluetooth sync support period. I was crushed.

"You mean I'm going to actually have to plug in to the computer to sync my calendar?!" I thought in a burst of geekalicious self-pity. I mucked about with PocketMac, but I was absolutely opposed to paying for the Missing Sync software. There is no way in hell I'm going to pay that much for software that gives me the ability to do something other people can already to for free--and won't even do it wirelessly.

I'm a busy guy. And when I say busy, I mean lazy. I usually forgot to plug in to sync my calendar, and as a result often had a lot of scheduling conflicts when I relied on my BlackBerry for info. I googled far and wide for a solution, but came up with nada. So I finally got around to doing something about it myself, and I came up with a solution that works well for me. Maybe it'll work for you, too.

(A few caveats before we begin: This only works for calendar info, not contacts. You'll still need PocketMac for that. And as far as I know, this only works one way, from iCal to the BB. I haven't worked out a way to sync back from the BB to iCal. I personally don't need this ability, but I know many others will. Also, because we're jumping through a few different hoops here, the transfer isn't instantaneous. I haven't actually timed it out, but any changes I've made in iCal seem to take anywhere from several minutes to an hour or so to make it onto the BB. You can force Google Sync to re-sync whenever you wish, which sometimes helps, but the delay seems to lay in the iCalx > Google connection. For me, an hour or so delay is better than no transfer at all, but of course YMMV. If you have any better solutions or ways to improve this process, please leave a comment below.)

Still with me? Okay, for this process, you'll need:

- iCal (free)
- an iCal Exchange account (free)
- a Google account (free)
- Google Sync for BlackBerry (free)
- a BlackBerry (not so free)

Step 1 - Sync iCal with iCalx

Once you set up your iCalx account, grab the link to publish a public calendar from iCal to iCalx. It'll look something like:

http://icalx.com/public/[yourusername]/

Open up iCal and select the calendar you want to publish. Choose "Calendar > Publish..."



Enter the info as shown above. Make sure to choose the private server option and click "Publish changes automatically." Click "Publish" and head on over to iCalx.

Step 2 - Sync iCalx with Google Calendar


Go to your account page, and control-click (or right click, if you can) on the .ics link next to the calendar you just uploaded and select "Copy Link". Now it's time to head over to Google Calendar.


Just below the mini-month calendar on the left, click "Add" and select "Add by URL." Plug in the calendar address you copied from iCalx, and click "Add."

If it worked, the name of the new caledar on the sidebar will change from the long address you pasted to the name you gave the calendar in iCal. This could take anywhere from a few seconds two a minute or so. Any longer than that, and something may have gone wrong along the way. It's happened to me a couple of times, and simply repeating the last step usually clears it up for me.

Repeat this entire process for each calendar in iCal you want to sync to your BlackBerry. After that, the hard part's over. Time to pick up the BlackBerry.

Step 3 - Sync Google Calendar with the BlackBerry

If you haven't already, point your BB browser to google.com and download Google Sync. Enter your account information, and then select the calendars you want to sync to the BlackBerry. Tell it to sync, which could take a few minutes, depending on how many calendar entries there are to transfer. I don't have a screenshot, but my settings look something like this:

When to sync: Automatic
On Conflicts: Server Wins

That's it! Now whenever you make a change in your iCal account, it will automatically update the iCalx account, which will automatically update the Google account, which will then automatically sync to your BlackBerry. Best of all, you don't have to plug anything in, and you don't have to spend any more money. Huzzah!