Using iPhone: iCal, CalDAV Calendar Servers, and Mac OS X Leopard
July 21st, 2007
Daniel Eran Dilger
Along with Notes, Apple’s iCal is also getting a major overhaul in Mac OS X Leopard. Here’s a look at how Apple’s iCal and iCal Server relate to other products on the market, and how the iPhone handles calendaring.
Five years ago, Apple announced iCal for Mac OS X 10.2 Jaguar at the summer 2002 Macworld Expo in New York. Prior to its release, there were few available calendar apps that worked well under Mac OS X.
Microsoft’s IMAP-based Entourage email and calendar client shipped with Mac Office 2001. It was offered next to the company’s existing MAPI Exchange Server client, Outlook 2001 for Mac; both only ran under OS 9.
Entourage began working natively under Mac OS X starting with Office v.X in 2001–oddly enough, Office 2001 shipped in 2000–but it was a much weaker Exchange Server client than the Outlook for Mac product it eventually replaced. Beyond Microsoft’s quirky, Exchange-centric calendar client, there were a few other calendar apps that migrated from the Classic Mac environment, including:
• The consumer level Now Up-To-Date & Contact.
• OpenText’s FirstClass business collaboration server.
• PeopleCube’s Meeting Maker calendar server.
iCal was released to show off the new Aqua Mac desktop and introduce a standard-based calendar client on the Mac. In 2002, the new Mac OS X Jaguar was barely out the door as Apple’s mainstream OS, and Apple needed to prove there was a market for native Mac OS X applications. iCal intended to demonstrate how to deliver a clean, modern looking app for the new Mac desktop.
Standards in iCal.
Rather than using a proprietary calendar format, Apple chose the then-new iCalendar format. Developed by the Calendar and Scheduling Working Group of the IETF, iCalendar improved upon the existing vCalendar specification that hadn’t seen wide or enthusiastic adoption.
Engineers from OpenText, IBM’s Lotus, and Microsoft worked together to draft the iCalendar standard, which enables various companies’ calendar products to import and export calendar data, communicate free/busy time, process invitations, schedule events, and handle to-do lists.
Today, most calendar programs strive to provide support for iCalendar, apart from Palm Desktop which has not made any real progress in the last half decade.
Publish and Subscribe.
In addition to being based upon the iCalendar format, Apple’s iCal also brought a new feature into the mainstream by supporting WebDAV calendar sharing. A WebDAV server is a standard web server configured to allow both read and write access and to support collaborative editing.
Support for WebDAV meant that iCal users could create calendars and publish them to a central server; others could subscribe to their published calendar, and received updates as it was edited. This is similar to a feature in Address Book, which can publish a list of contacts that another user can subscribe to, and optionally edit.
Publishing and subscribing to contact and calendar data is a bit like using an RSS feed to follow a web site’s articles, podcast, or photocast, although rather than watching an RSS file to see when its linked information has changed, the subscribed application references a published iCal .ics file (which can be posted to any WebDAV server) or the Address Book record (which it appears can only shared from Address Book using .Mac).
Apple also integrated iCal into its iSync application, which enabled iCal to be synchronized with the iPod, a variety of Bluetooth or USB connected mobile phones, and Palm devices using an iSync conduit.
In 2003, Apple improved upon iSync, adding support for syncing iCal and Address Book data between computers using .Mac.
In Mac OS X Tiger, Apple integrated iSync into the new, system wide Sync Services framework. Rather than pushing a button to sync, the new system used trickle syncing to update data as it changed or at regular intervals. This is similar to Microsoft’s ActiveSync desktop synchronization in Windows.
Plugging Into Sync Services.
Sync Services now syncs iCal and Address Book data, Safari Bookmarks, Keychain items, and Mail accounts and settings, and third party developers can also plug in their own apps into Sync Services. Panic’s Transmit, Microsoft’s Entourage, and Bare Bones Yojimbo are three examples of applications that sync data or preferences using Sync Services and .Mac.
Mark/Space also has a desktop product, SyncTogether, that plugs into Sync Services and takes the place of .Mac to allow direct syncing of data between Macs.
Other devices can also plug into Sync Services to be kept up to date. Mark/Space’s Missing Sync plugs into Sync Services to add support for Windows Mobile devices, the Sony PlayStation Portable, a variety of Palm OS products that do not support Palm’s own Mac client, the T-mobile Sidekick, and Blackberry devices. It also syncs Windows Media Notes data with Mark/Space’s own standalone notes application, Notebook.
The Next Step: Calendar Servers.
So far, Apple’s iCal has solely been a standalone client calendar application that can publish and subscribe to online calendars, or sync with .Mac and mobile devices. It doesn’t sync with a central calendar server, and Apple has never offered a calendar server of its own.
Any company with an existing calendar server, such as Exchange, Lotus Notes, FirstClass, Zimbra, or Meeting Maker typically doesn’t need to use iCal because they already have a calendar client to match their server.
It is possible however to use iCal with Exchange in place of Microsoft’s Entourage client using Groupcal plugin software from Snerdware. It is more difficult to use iCal with any other calendar server because, unlike the interoperable world of email, there has been no common specification for calendar protocols; every vendor rolls its own incompatible system.
Even Apple hasn’t been using iCal. Internally, Apple has long been the largest client of PeopleCube’s Meeting Maker, leaving iCal to languish as a placeholder application. That is about to change with Leopard however.
iCal Server and CalDAV.
With Mac OS X 10.5 Leopard Server, Apple is including iCal Server, a calendar server product that enables groups to set up their own shared calendars and publish free/busy schedules among a group of users.
This new product, like the original iCal client, is based upon open standards. It uses the latest enhancements to WebDAV to support calendaring, a layer referred to a CalDAV.
Because Leopard’s new iCal client is designed to use this open protocol, iCal will also work with any other calendar server supporting CalDAV, and any other CalDAV calendar client will also work with Apple’s iCal Server.
Other CalDAV savvy calendar clients include Mozilla’s Sunbird, OSAF’s Chandler, and even Microsoft’s Outlook with the installation of a third party plugin.
The Aligning Planets Behind CalDAV
Support on the server side is still getting fleshed out, but members of the CalConnect consortium have been working together to develop CalDAV since 2005. It includes representatives from:
• IBM’s Lotus Notes
• Novell Hula
• Oracle Corporate Time
• People Cube Meeting Maker
• Kerio MailServer
• Marware Project X
• Mozilla Sunbird
• Rensselaer Polytechnic Institute’s Bedework Calendar
• OSAF, the Open Source Applications Foundation
• San Francisco startup TimeBridge
Since Apple announced its support last year with iCal Server, the CalConnect group has been joined by Zimbra, Sun, Google, Synchronica, and Scalix, an open source calendar based upon HP OpenMail, and recently purchased by Linux distro Xandros.
Microsoft hasn’t yet joined the CalDAV group, leaving its customers to build their own interoperability. Boeing developed a CalDAV plugin for Exchange Server, while the Open Connector project is working to provide CalDAV support for the Outlook client. Other major clients participating in the CalConnect group include:
• California Institute of Technology
• California State University, Fresno
• Carnegie Mellon
• Dartmouth College
• Duke University
• Massachusetts Institute of Technology
• NASA Jet Propulsion Laboratory
• New York University
• Princeton University
• Stanford University
• University of California, Berkeley
• University of Chicago
• University of Washington
• University of Wisconsin, Madison
Apple’s Open Calendar Server.
Apple has even released its calendar server implementation as an open source project under the Apache 2.0 license, making it easy for shops to set up their own calendar server without requiring them to host it using an Xserve running Mac OS X Server. This means Linux server admins now have a new open, standards compliant calendar server, something that has previously been a weak spot for the platform.
The industry-wide motion to back CalDAV as an open interoperability standard for calendaring will finally make it possible for companies with different systems to share free/busy information and coordinate their scheduling.
It will also open the middle of the playing field now dominated by Exchange Server, which uses its own mess of poorly documented RPC calls to handle calendaring and email. Hopefully, Microsoft will adopt Exchange support for CalDAV; if it does not, it may be trampled in the stampede toward open standards and interoperability.
OTA Email and Calendar Syncing with the iPhone.
Currently, the iPhone only syncs with a desktop calendar, either iCal on the Mac or Outlook on a PC. This works fine for consumers keeping their schedule in sync with the desktop, but does not provide live updates as the user’s calendar changes. In a business environment, a calendar is likely to get regular updates throughout the day, just as email regularly comes into the inbox.
The iPhone syncs its email in two ways: directly with the desktop using a USB dock, and over the air using the iPhone’s WiFi or EDGE network to update email over the Internet, directly with email servers. However, it does not provide over the air syncing for calendar items.
The calendar server world is still fractionalized by proprietary solutions. Most over the air business calendar syncing is done using RIM’s BlackBerry Enterprise Server and Motorola’s Good push server, which both work with Lotus Notes and Exchange.
Microsoft also has its own fledgeling Direct Push add-on service for Exchange Server. All three sync vendors have been badgered by patent troll NTP, which has worked to establish its ownership of the idea of wireless email syncing. These competitors have all sued each other over patent disputes as well.
Desktop Calendar Syncing with the iPhone
Apple has as yet only hinted at providing support for over the air live syncing with its .Mac service, as well as support for something like BES or Good. The iPhone’s calendar currently only handles desktop sync. While multiple desktop calendars can be synced, they all appear on the iPhone to be in the same calendar.
The iPhone’s Calendar interface is simple to use, although it can be easy to complete a calendar item, fail to enter it as “done,” and then dismiss the calendar, only to find the appointment event missing later, because it was never completed. Apple should make it more obvious whether events are completed and entered or not.
Along with events, the iPhone also has an independent multi-time zone clock with a multiple lap stopwatch and countdown timer. There is no support for to-do items on the iPhone yet, an issue that relates to Leopard and the last minute rescheduling of its release. Leopard’s integration with the iPhone ended up postponing a few planned features, including Notes syncing.
When Leopard ships, the iPhone will no doubt gain support for working with CalDAV open calendar servers, including over the air support for syncing with iCal Server, and hopefully also the online calendars at .Mac, Google, and Yahoo.
Some pundits like to scramble up terms to confuse and impress people with their high priestly advice, and device sync is one of the areas where huge amounts of misinformation have distorted the truth.
The next article will looks at syncing over cables, wirelessly to the desktop, and over the air to Internet servers, and how the iPhone stacks up against other products in email, calendaring, contacts, media, and document syncing.
Like reading RoughlyDrafted? Share articles with your friends, link from your blog, and subscribe to my podcast! Submit to Reddit or Slashdot, or consider making a small donation supporting this site. Thanks!