Update 2009-08-22: Two new(ish) changes to report! The first is that with the release of iPhone OS 3.0, it is now possible to subscribe to Internet calendars directly from the device. The second is that NuevaSync now offers a premium service which includes push e-mail and up to 50 calendars. I’ve updated my post accordingly.
Update 2009-02-26: I’ve added the steps to set up synchronization using Google Sync to the post.
Update 2009-02-14: Google now provides wireless synchronization capability directly. The instructions for setting it up are here.
I’ve been using a great free service called NuevaSync to wirelessly synchronize my Google calendar and contacts with my iPhone. It’s essentially a proxy to Google’s contacts and calendar services that allows you to synchronize them with any device that supports the Microsoft ActiveSync protocol, including the iPhone and Windows Mobile devices.
When the service first launched, you could only synchronize with Google calendars which you had read/write access to. Recently, however, they have enabled syncing with read-only calendars. This includes services which publish an iCal feed which you have subscribed to in Google Calendar. And since Facebook Events provides an iCal feed, you can subscribe to it in Google Calendar and have the events show up in your iPhone calendar.
Add your Facebook Events to Google Calendar
The first thing you need to do is subscribe to your Facebook Events iCal feed in Google Calendar. In the Facebook Events page, click on the “Export Events” link. It will display the link to the iCal feed. Right-click the link and copy it to the clipboard.
I’m assuming you have a Google account. If you don’t, you’ll need to get one. Open up Google Calendar and click on the “Add” link under “Other Calendars” on the left-hand side, then select “Add by URL”. Paste in the link you copied earlier and click “Add”.
Set up synchronization
Now you need to choose whether to synchronize using Google Sync or NuevaSync. The free version of NuevaSync allows you to sync up to eleven calendars, whereas Google Sync only allows five. For $25/year you can upgrade to the premium version of NuevaSync, which adds push e-mail (for Gmail, AOL or IMAP) and up to 50 calendars. More details about NuevaSync’s services are available here.
Note that your existing calendar and contacts will be erased when you set up synchronization. You can sync your address book with Google Contacts through iTunes to ensure that all your current contacts will be retained when you set up sync. You may be able to do the same with the calendar by syncing it with Outlook and syncing that with Google, but I haven’t explored this.
Option A: Set up Google Sync
The instructions to set up synchronization with Google Sync are here. Once you have completed that, go to http://m.google.com/sync on your iPhone, select your device from the list, and select the Facebook calendar, along with any other calendars you wish to sync.
Option B: Set up NuevaSync
First you will need to create an account on the NuevaSync site. Once you have done that, just follow their instructions for setting up synchronization on your device.
Once you’ve got your iPhone set up to synchronize with NuevaSync, go into the calendar setup on the NuevaSync status and setup page and check the box next to the Facebook calendar link. Your Facebook events will appear on your device shortly.
Alternate method: Subscribe to the iCal feed directly from the device
For most people, the method I document above is the best way to have your Facebook events show up on your iPhone’s calendar. The events will also show up on your Google Calendar, and it uses push synchronization to update your phone, which should improve battery life. If, however, you prefer not to sync your Google Calendar with your iPhone, or you already sync your iPhone with a corporate Exchange server, there is another way to do it. With the release of iPhone OS 3.0, it is now possible to subscribe to a calendar feed directly from the device. This blog post gives a great overview of the general process. For the Facebook event feed specifically:
- Visit the Facebook Events page
- Click “Export Events” at the top of the page
- Copy the URL and send it to yourself in an email
- Open the email on your iPhone and copy the link
- Go into Settings > Mail, Contacts, Calendars > Add Account… > Other > Add Subscribed Calendar, paste the link into the Server text box and tap Next
- Change the description to “Facebook Events” (or whatever you like) and tap Save