Wednesday Jun 17, 2009

Configuring CalDAV on iPhone 3.0 for Sun Calendar Server

The next release of Sun Calendar Server will be CalDAV-based. It is codenamed "Project Aries". We have a beta instance running internally, and with some tinkering, it can work on iPhone 3.0.

To configure for Sun's CalDAV Server:

  1. Go to Settings > Mail, Contacts, Calendars
  2. Tap "Add Account...", then "Other"
  3. Under Calendars, "Add CalDAV Account"
  4. Enter account information:
    • Server: []
    • User Name: [your username]
    • Password: [your password]
    • Description: [e.g aries]
  5. Tap "Next"

Here, if your CalDAV server is configured only on SSL, you might get a "Cannot Connect Using SSL" error. Just ignore and tap Save. Then edit the new CalDAV account, go into "Advanced Settings", change the port from 8443 to 443, and fix the Account URL to this format:[username]/ (don't forget the trailing slash).

Also see this entry by Arnaud on setting up against non-production CalDAV servers.

Configuring CalDAV on iPhone 3.0 for Google Calendar

Today, the iPhone 3.0 software update finally came out and about the first thing I did after upgrading mine was to check out the new CalDAV and LDAP functionalities.

This is how I configured CalDAV for Google Calendar:

  1. Go to Settings > Mail, Contacts, Calendars
  2. Tap "Add Account...", then "Other"
  3. Under Calendars, "Add CalDAV Account"
  4. Enter account information:
    • Server:
    • User Name: [your username]
    • Password: [your password]
    • Description: [e.g. Personal]
  5. Tap "Next"

That's it! Now you can launch the Calendar app, tap "Calendars", then select the CalDAV calendar. Events can be created or modified on the iPhone and they'll be reflected on the server instantly.

Secondary calendars: This only shows the main calendar. To get your other calendars, you'll need to repeat the above for each (with distinct Descriptions otherwise it'll be confusing), then edit that CalDAV account, and under "Advanced Settings" change the "Account URL". You can get this Account URL by clicking the down arrow next to your calendar at and selecting "Calendar Settings". You should find your Calendar ID next to the XML, iCal, HTML links in the Calendar Address section. Insert this Calendar ID into an URL like so: . You can email this to yourself, then leverage the new copy&paste feature of 3.0 to avoid typos. Why is this so cumbersome? Here's a possible explanation.

Offline access: Works in both directions. Changes are sync'd upon network reconnection.

CalDAV or Google Sync? Either way will give you read/write access to your Google Calendar. A major deciding factor is whether you already have an active Exchange account (e.g. for work), since iPhone only allows one Exchange account at any time, and Google Sync uses Exchange ActiveSync protocol.

[Updated per suggestions in the comments]

Tuesday Mar 17, 2009

CalDAV and LDAP coming to iPhone

Of all the new features Apple announced today in the upcoming iPhone 3.0 update, the two that get me most excited are CalDAV and LDAP support. It's great to see CalDAV come to mobile devices finally; I hope more smartphone manufacturers and developers will follow suit.

Many people wondered why Apple doesn't allow API access to the Calendar app. I had a suspicion it was because they had bigger plans for Calendar, and if they had allowed API access to Calendar data it would have precluded Apple from making these plans happen. Then came ActiveSync support, and now CalDAV. Perhaps Apple will open Calendar API access now?

Unfortunately, there isn't a lot of detail around CalDAV and LDAP yet, so we'll have to wait until summer to find out. I wonder how offline access to a CalDAV calendar will be handled? Will it be read-only, or will changes sync back to the server? Does LDAP integrate well with other iPhone apps like Mail and Contacts? Will it support LDAPS?

[UPDATE Jun 17, 2009] iPhone 3.0 was released today and I posted a few entries related to configuring CalDAV and LDAP:

Friday Aug 29, 2008

Managing Google Calendar from iCal

I use Google Calendar (or GCal as it's often called) at home to share upcoming events such as important dates, weekend plans, medical appointments, travel schedules, etc with my family and this is working quite well. After showing my mom how to use it, she has even eclipsed me to become the biggest calendar user in our family. We subscribe to each other's calendars so we can see who's busy or available at any time. We haven't gotten to the point where we invite each other over calendar though, which is good IMHO, because that's a bit too impersonal. :)

Since I want to see both work calendar and family calendar in one place, I opted to subscribe to them via iCalendar format. This gives me a read-only copy of the calendars in iCal; if I need to create or modify an event, I need to use the web interface. Ideally, I want to be able to manage both work and family calendars directly in iCal.

As if Google heard my wish, they added CalDAV support about a month ago. It was very easy to setup, and has worked fine for me except for a full-day outage about two weeks back. Here's what my iCal looked like before with iCalendar subscription (pic to the left), and here's what iCal looks like after with CalDAV enabled:

Before After

Now I can fully manage my family calendar from iCal. I'm one step closer to my ideal state! My biggest gripe with this setup is that to see my secondary calendars and subscribed calendars, I need to create a separate account for each. It would be much better if they just show up under one account. Is this due to a defect in Apple iCal, Google's implementation, or CalDAV protocol?

For my work calendar to become fully manageable in iCal, I have to wait a bit longer, as CalDAV support is coming to Sun Comm Suite Calendar Server in 2009.

[UPDATE] Here's a more complete list of UX issues with Google Calendar in iCal over CalDAV. Also, the developer of the Google Calendar Provider for Thunderbird/Lightning shared his thoughts.

[UPDATE 2009-06-19] Secondary calendars are indeed accessible if you enable them under the Delegation tab in Preferences > Accounts.

Wednesday Jan 30, 2008

CalDAV on mobile devices

This week marks the end of the weekly SyncML team call we've been having for nearly two years, which signifies a conclusion to the project. Every Sun employee can now synchronize contacts, calendar, and tasks over-the-air to any device that supports the SyncML protocol. It took much longer than anyone on the team expected, but in the end we pulled it off, and in the process, I learned a lot about the troubles with calendar formats, access protocols and synchronization.

Although I have much respect for SyncML for bringing an open standard to a space which has been mostly proprietary, I'm becoming more convinced that CalDAV with a remote calendar is a better protocol than SyncML with a local calendar for bringing calendaring to mobile devices.

I realize CalDAV is not designed specifically for mobile usage, nor is it capable of synchronization, while SyncML is like an arbitrator who settles differences between two parties engaged in a scheduling dispute. But there wouldn't have been a dispute in the first place, if all parties had read/write access to a master calendar on the network. That's what CalDAV does: it employs a client-server model, intrinsically enabling distributed access to centralized data and thereby eliminating the need to sort out differences.

Due to higher chances of data corruption as the number of synchronization devices increases, we have to warn our users if they use, in addition to SyncML, another synchronization method, such as Outlook Connector, Apple iSync, or Palm Desktop, they're assuming risks on their own. We recognize this is not a realistic proposition, but it is a limitation of calendar synchronization.

Even for those who only use one device, and therefore are not interested in synchronization or distributed access, CalDAV still brings advantages over local calendar. By storing your schedules in the cloud, your data is independent of the device, should it ever gets lost, replaced, or stolen, your calendar is still safe and can be easily transferred to the replacement. Another benefit is the ability to share your calendar with your family, friends or clients, and vice versa.

From a business perspective, mobile network operators and internet service providers looking for ways to retain existing customers could offer CalDAV as another feature to incent subscribers to renew service contracts.

With CalDAV adoption gaining traction among major players, I think we will see CalDAV clients being developed on mobile devices in the near future, supplanting SyncML and local calendaring, just like how IMAP is wiping out POP as the preferred way to access Email.

Sidenote: I'll be attending the CalConnect event in Menlo Park next week, Feb 4-8th, as an observer. If any reader will be at the same event, I'd love to hear your thoughts in person!

[UPDATE Feb 1, 2008] Another downside of local calendar is that most mobile devices do not have enough memory to store every event accumulated over the years. CalDAV could solve that by storing the entire calendar on the server where storage is ample, while the mobile client would simply keep an essential subset based on its memory limitation.

Tuesday Nov 27, 2007

Mulberry is back and now open source

mulberry_logoWhile I have never used it, Mulberry is an Email client praised by many power users for its large set of features and standards compliance. The company that made it went bankrupt in 2005, but it's back again and released as open source. I should give it a test drive and write a review.

Sidenote: Mulberry is developed by a very talented Cyrus Daboo who now works at Apple on their CalDAV server.


I currently live in San Francisco Bay Area. For the past seven years, I have been designing and building messaging solutions for Sun.


« July 2016