I am currently using my experience with milonga.be to build a similar site for Tango in Bulgaria. One of the major components of the site is the tango calendar. In this case I have chosen not to use a special iCal visualisation tool (more on that later in a series posts on Tango2.0), but just the standard Google Calendar IFRAME-based widget.
It’s not a bad widget, but it’s too limited. You can only display “Day/Week/Month/Agenda” style, the colors and fonts are fixed and it does funny stuff for events that continue after 12:00AM (which tango events regularly do, believe me).
I’ve already talked about the fact that iCal is a sissy format and that Gcal needs some more features. I was just thinking that it would be nice if some company would jump on that and provide the whistles and bells for iCal/vCal feeds (like those of Google Calendar), just like Feedburner did with RSS/podcast feeds (and they got bought by Google, so maybe their idea wasn’t half bad). So I introduce the following concept: CalendarBurner (since the Calburner/iCalburner domains are taken).
- takes any iCal/vCal feed as input – can also interpret hCalendar and whatever other calendar format might exist (there must be at least 1 XML based format, right?)
- it knows about Gcal, Upcoming, Apple iCal and other hosted calendar applications
- it can ‘explode’ calendars: convert “every Thursday from X Jan to Y July, but not in May” to N individual events. Calendars where each event is non-repeating are easier to process. (E.g. in Google Calendar, a weekly event that goes on until Dec 14th is interpreted as “inclusive” that Dec 14th date. If you feed that iCal feed into PHPiCalendar, it interprets this repeating event as “before” Dec 14th, so it stops at Dec 7th. With an ‘exploded’ calendar, there is no ambiguity)
- It can visualize a calendar as an IFRAME, with a JS widget, through RSS feeds … and every time fully customisable in colors, fonts, links, order …
- Google Calendar has an RSS feed but this shows the events with the date they were created, not when the actual event takes place. It is one way of showing things, but you also need ‘most recent past events’, ‘next 10 events’ …
- It caches calendar info, so that a particular popular calendar does not crash when consulted by too many people.
- it uses easy URLs:
- it knows about client applications: when fed into Outlook, iCal, Sunbird, … it uses the features of those programs
- it allows for filtering, tagging, merging … (the “Remix” part of my Get/Remix/Deliver proposal)
- it gives you stats on subscribers, clickthrough, popular events …
- it links with Google Maps
- … (any ideas?)
It would really be nice if some innovative company would jump in this void. With an appropriate freemium model I’m sure it would take off and make calendaring an easier task to do.