The launch of Upcoming.org seems to have rekindled some interest in calendaring standards, stoked by a post from Ray Ozzie, and the Calendar Fiasco, by Jon Udell. (also see eric’s collection of upcoming.org links)

Jon is right, the state of calendaring standards is a fiasco. There are a couple of reasons for that. I think the two key factors have been:

  • the CALSCH working group, like many people, tried to solve the scheduling problem, with business use as the target use case, versus just building some basic calendar building blocks. Despite this focus iCalendar still works pretty well as a basic building block. However the 7 years since it was released have fundamentally changed the landscape (like the standardization on XML), changes CALSCH hasn’t been able to keep up with or respond to.
  • Microsoft. Aren’t they always the problem? A huge amount of time, energy, effort and tears has been spent trying to build a calendar tools that work with Outlook, and Exchange. Its a nightmare, even when MS supports standards, they do it brokenly, and the Outlook/Exchange combo has been specifically engineered to look out alternatives. Anyone who navigates the treacherous waters of MAPI, and Outlook’s various modes feel entitled to be paid for their efforts, and rightly so.

Apple, a Hope Which Fell Short

Apple really did a great job of reviving interesting in the iCalendar spec, and calendaring, and calendaring standards in general. They combined a pretty interface with a modern implementation of the standard, and a good enough, worse is better network protocol that worked over HTTP, and integrated with the Web, and web services.

However, they pulled up short. Where they could have pushed forward and set a quick and dirty standard for calendar sharing over HTTP that bypassed the byzantine, perpetually under construction CAP, they failed to implement a real, two way, pub-sub protocol. Presumably to drive people to use their .Mac premium service, and iSync application. Disappointing really, a very understandable, uninspired, profit driven decision. I’m sure Microsoft would be proud.

Ray’s Questions

Ray asked a few questions in post, probably rhetorical, and designed to draw attention to the daunting absence of good work being done in this field. However I’ll take a stab at answersing them. (oh, looks like Libby answered them as well)

  • Has a method to embed iCal into XML ever been approved or agreed upon? If so, let me refer to it as xCal. Yes, xCal existed in draft form. Calsch decided to let it die, according to Doug Royer, “because there is no reason to have 2 standards for the same thing.” I’m inclined to also point to an certain hostility towards things web, and XML that I’ve seen over the years on the Calsch mailing list. There was even a parser for it, for a while.
  • Has a method to embed xCal events/etc ever been suggested as a viable item type for RSS? The mod_event module was proposed in May, 2001, and is a simple, straightforward syntax for marking up an RSS feed to indicate event information. Many peoples’ reaction to seeing mod_event is to start trying to lard in the iCal syntax. I think this misses the point of an RSS event feed, a need which, in conjunction with other RSS modules, the mod_event serves very well.
  • Has anyone built websites that publish venues’ event calendars in such a format for subscription/aggregation? Protest.net does, and has for quite a while. I know a handful of other projects that are in prototype or various stages of completion.
  • Has anyone built an Outlook or Notes adapter that publishes personal or team calendars to such a feed, OR
  • Has anyone built an RSS aggregator that can aggregate multiple calendar RSS feeds into a desktop or web calendar UI? Not that I know of. But remind me to get back to the question of web calendar UIs.

    Magpie does include basic support for mod_event, and I’ve built a couple of scripts using XML::RSS and DateTime::Format::W3CDTF.

  • Has anyone built an RSS aggregator that can aggregate multiple calendar RSS feeds into your Outlook or Notes personal calendar? See my earlier point about Microsoft being one of the two key factors behind the calendar fiasco.

There Are Other Hammers

That said, I don’t think RSS is a particularly natural fit as transport for all calendaring and scheduling information. As Jon said, “Stop punishing RSS for its success”. RSS, and an RSS event feed works wonderfully well for public event calendars, and as a notification feed. It does not, and will not, map well to representing someone’s personal calendar in all its, repeating, complex, conditional, glory.

A Brief Note on Web UIs for Calendars

Close your eyes, visualize a calendar, what do you see? You see a page with rows and rows of boxes, a wall calendar, a month-at-a-time view. Paper is wonderful medium, but it does have some limitations. Its poor at interactivity, especially delivering context sensitive content based on the current date. The wall calendar is a clever hack to get around this. On the web we aren’t strapped with papers limitations, don’t translate medium specific hacks onto the web, okay? ### Next Steps?

Calendar standards really lost an opportunity when iCal.app didn’t go far enough, a standards based calendar app would have catapulted the whole problem forward. Maybe Chandler will present another opportunity. Outlook certainly is never going be where innovation happens, and my understanding is that the iCal.app team are working on other projects, the Mozilla calendar project has stalled multiple times, and looks primed for another stall, so in the meantime the Web is our innovation space. ### Event Auto-discovery

I think one of the most useful interesting things we could do would be to start standardizing on an event auto-discovery standard, modeled on the RSS auto-discovery standard. I’ll post more on this soon.