Friday, April 14, 2006

The iCal Effect

The iCal standard allows sharing of events and calendars. The standard has been around for many years and has been popular with Apple users but the new Google Calendar will become the first popular cross-platform system to support the standard. While several sharable calendars already exist, we should see a dramatic growth in the use of this standard.

How would I like to see the iCal standard work in our community?

  • Academic Departments can put their seminar calendar in the iCal format. No longer would I have to subscribe to email list to see events and then have to enter the events that I care about into my calendar manually.
  • Any email that announces an event or meeting should have an attachment I can click that adds it to my calendar.
  • Conferences could create calendars listing the important dates (submission, notification, proceedings version, registration) as well as the dates of the conference, perhaps even having the schedule of talks in iCal format with links to the papers. (I don't think iCal supports links but hopefully some later version will).
  • One might also want a theory iCal calendar listing all conferences but this would likely have too much information to be useful.
  • I have wasted much time trying to schedule meetings. Ideally I'd like a system that searches everyone's calendars and finds a common free time.
  • As with many standards there are some great applications not initially anticipated but will develop over times.
Google with this Calendar and also their Talk program embrace standards where other related companies have not. Early standards like FTP, SMTP (email), HTTP, and HTML have allowed the Internet to grow to the force it is today. The RSS standard has allowed sharing of information in unprecedented ways. The iCal standard will help us save time scheduling time.


  1. I have wasted much time trying to schedule meetings. Ideally I'd like a system that searches everyone's calendars and finds a common free time.

    Isn't that an NP-Complete problem? :)

  2. This is probably obvious, but it's NP-Complete to schedule a set of meetings for a minimal number of time slots even in the case where a person is in at most two meetings. Then each meeting can be seen as a vertex and each person can be seen as an edge, and it's equivalent to finding a minimal coloring for an arbitrary graph. On the other hand, simply finding an open timeslot for a single meeting is not hard.

  3. This is an example where there is a difference between the usual polynomial/exponential distinction in complexity theory and a practical application.

    Chances are, there are fairly strict bounds on when people want to schedule meetings, e.g. they must occur in a particular week. There will also be bounds on the number of meeting participants, i.e. it is not useful to schedule incredibly frequent meetings between large groups of people.

    There will therefore be quite tight limits on the graph size and number of colors, so an exhaustive search would probably work fine in practice.

  4. need to schedule a meeting ....

    i'm not associated with it but it's tight

  5. Common graduate student mistake: Generalize the problem enough until it is NP-complete, and then claim that thus there is no efficient solution to the problem.

    When I worked at Sun we all used dtcal and it had great coordination with emails and viewing other schedules. It's somewhat amazing to me that calendar programs haven't gotten much better yet. Including that very feature Lance desires.

  6. Here at Brown CS we already have an iCal feed available that is automatically updated for department events. It was originally conceived mainly for Mac users, but works nicely with Google calendar. It was pretty easy to write the script to generate the feed (from the department's events database) using the Python iCalendar library (there's also support in Perl, etc). Now I can ignore all those emailed seminar announcements...

  7. Funny that I learn about Brown's iCal feed from Lance's blog!