One of the iPhone OS 3.0 features touted by Apple at WWDC was the ability to subscribe to Internet calendars in CalDAV and iCalendar/ICS format. On first testing OS 3.0, I discovered that these calendars could indeed be synchronized from my Mac’s iCal application through iTunes, but that these would not update over the air. However, on closer examination I have discovered that, indeed, iPhone OS 3.0 does allow direct over-the-air subscription to Internet calendars!
Check it out! How To Keep Your Family Activities In Sync With A Shared Google Calendar
This is really a major advancement for the iPhone platform. With 3.0, you have many different calendar synchronization options and can mix and match, using all or none as you see fit:
Local iTunes Sync | Over-the-Air Sync | Read/Write | Invitations | |
---|---|---|---|---|
Exchange ActiveSync | Yes | Yes | Yes | Yes |
MobileMe | Yes | Yes | Yes | No |
Google CalDAV |
Yes | Yes | Yes | No |
iCalendar/ICS | Yes | Yes | No | No |
How to Subscribe to a CalDAV Server (Like Google Calendar)
CalDAV is a powerful open protocol for calendar event synchronization. Lots of services support it, including Google’s free Calendar application, which is part of gmail and Google Apps. It’s a mash-up of WebDAV and ICS and supports two-way synchronization, notes, alerts, and such. iPhone OS 3.0 includes CalDAV as a supported protocol for over-the-air subscription and synchronization, so it can seamlessly synchronize your Google calendar with your phone calendar. Unlike ICS, however, you can create and edit CalDAV entries on the phone and the changes will quickly show up in your Google calendar.
Setting up CalDAV, though hidden, is pretty slick. Follow these steps:
- On the iPhone, select “Settings”
- Select “Mail, Contacts, Calendars”
- Select”Add Account…” under “Accounts”
- Select “Other” at the bottom
- Select “Add CalDAV Account”
- Enter “www.google.com” for “Server” – the iPhone will automatically identify this as a google CalDAV server!
- Enter your gmail user name (e.g. “sfoskett”) or full google apps username and domain (e.g. “[email protected]”) for “User”
- Enter your password for “Password”
- Optionally modify the description
- Select “Next” and you’re done!
The iPhone recognizes Google Calendar – it’s smart enough to “know” that when you enter “www.google.com” as the CalDAV server it needs to correctly format the URL for Google. Other CalDAV server types might need some tweaking, which you can do in the Advanced tab of the CalDAV’s account in Settings.
All CalDAV calendars are bi-directional, meaning you can create or edit entries and they will (eventually) synchronize on both the phone and calendar server. In my tests, items modified on the iPhone showed up almost immediately, while changes made on Google’s calendar server took a few minutes to show up.
Two notes on CalDAV:
- Although the documentation says it’s read-only, my Google Calendar absolutely, definitely, is read/write: I can create and modify appointments in the Google Calendar on the iPhone and it shows up online.
- The “Sync events x weeks back” limit in settings does not apply to CalDAV or ICS! Large numbers of events will cause Calendar to be very, very slow. Beware!
Other popular apps also support CalDAV, including Apple Leopard Server’s iCal Server, Yahoo Calendar, and Zimbra.
I use this capability as a shared family activities calendar. What ideas do you have?
How to Subscribe to an iCalendar Server/.ICS feed
iCalendar is an older calendar subscription format, and many servers offer .ICS feeds of calendar entries. I particularly love TripIt‘s free travel itinerary service, which is available as an ICS feed. iPhone OS 3.0 also includes iCal as a supported protocol for over-the-air subscription, so you can view your ICS feeds right in your phone calendar. Note that iCalendar is read-only, like an RSS feed, so you cannot create or edit items on the phone.
The simplest way to subscribe to an ICS feed is simply to email the link to yourself. The iPhone interprets any URL ending in “.ics” as a iCalendar feed and asks if you want to subscribe. This ensures that the link is typed correctly.
Note: This no longer works in iOS 4.2! Now you have to add it in Settings. See Apple Breaks ICS Calendar Auto-Subscription In iOS 4.2.
If you need to manually set up an iCalendar feed, it’s very similar to CalDAV. Follow these steps:
- Locate the calendar feed you want to use and copy it using OS 3.0’s new copy and paste features
- If you use TripIt, log into your account in the iPhone Safari browser
- Select the “iCal Feed” icon in your main page
- In the popup, select “Subscribe to calendar feed”
- Tap and hold the resulting URL (which begins with “webcal://”) until the “Copy” box appears
- Tap “Copy”
- Go back to the hope screen and select “Settings”
- Select “Mail, Contacts, Calendars”
- Select”Add Account…” under “Accounts”
- Select “Other” at the bottom
- Select “Add Subscribed Calendar”
- Select the “Server” box and tap “Paste”
- Select “Next”
- Optionally modify the description
Updates to the iCalendar feed will now show up in your calendar. These are read only, of course, but it’s awfully nice to be able to subscribe to a TripIt or Dopplr feed or the Red Sox schedule on your phone!
One more time: The “Sync events x weeks back” limit in settings does not apply to CalDAV or ICS! Large numbers of events will cause Calendar to be very, very slow. Beware!