Syndication of rules versus syndication of data

To follow up on last week’s item about parsing the kinds of dates and times that people actually write, Google Calendar’s Quick Add feature looks like the clear winner. Here’s a test page with expressions like:

As David French pointed out, Google Calendar’s Quick Add gets this right. Or anyway, close enough. There seems to be a small bug that pokes an instance of the event into today’s slot, whether or not today is a 3rd Saturday. But otherwise it works great.

I doubt think anything we’ve mentioned so far can touch that, though I’d be happy to be proven wrong.

Meanwhile, the ability to capture recurring events like ‘Third Saturday of Every Month, 10 – 11:30 am’ for my aggregated community calendar has raised a new question. When I use Google Calendar for this purpose, its iCal export doesn’t enumerate the series, it defines a rule:

When I pull that event into elmcity.info/events, the RRULE (recurrence rule) only fires once each time the feed is fetched. And that’s fine. I don’t necessarily want to see these recurring events on the the calendar into the far future.

But while I can syndicate these events directly from Google Calendar into elmcity.info, I would rather route them through Eventful.com. The reason is social not technical. Although I’m herding almost all these events into my aggregator for the time being, I want their rightful owners to claim them at some point and take care for them thereafter. Eventful is better suited for the kind of commons-based peer production I’m hoping to encourage.

But, I don’t see how to inject dynamic rules, rather than static events, into Eventful. You could run the rule yourself, then poke the generated events into Eventful, but that’d create maintenance woes when events are rescheduled, modified, or cancelled. I’d rather syndicate the rule than the data.

In the iCalendar (RFC2445) spec, the RRULE isn’t a script that gets run by some calendar server, it just describes the rules and exceptions. So, your program which ingests the iCal data would have to “expand” it.

One thing to attempt: create a new calendar in Outlook, open the .ics file, then export all to iCalendar – I _think_ Outlook will “expand” it.

Will Eventful import iCalendar? Seems like it ought to, since they are members of CalConnect (http://www.calconnect.org) – the consortium trying to improve calendar interoperability (Microsoft is a member too, I believe)

I’m working on a prototype event aggregator for the purposes of promoting event syndication. I’ve some research in this area, and wondered if you had pointers to information in the area of event syndication. What I’ve got so far is a few rdf namespaces one coult use to extend an Atom feed and a prototype that reads and caches Google Calendar feeds (working on a search engine). I plan to add the ability to parse ical “feeds” since it seems more events are available as an ical file than as atom/rss, but really, importing an ical file should work just as well… I’ve seen that Google Calendar will re-syndicate an Ical file as an atom feed.