Overview

Calendar data

A calendar is all data. To be able to talk about your calendar with others, you're going to have to agree on a data format. In fact, just so you can change your calendaring software without too much trouble, a standard data format would come in handy.

So the first thing the CALSCH WG did was to create a standard data format, the Internet Calendaring and Scheduling Core Object Specification [iCal].

Scheduling

Okay, so now we know we have a format to store our appointments. But if your boss wants to take you to lunch to discuss some things, he's going to need to have his calendaring application tell yours about the appointment. For this you need to agree on several more things than just the data format.

The first thing you need is to speak the same language. If you only speak English, and your boss only speaks French, both of you would have big problems finding out what exactly the other wanted, even if you were both talking about when and where to have lunch (the data).

So, now that you've been forced to learn French, you may have another problem. Your boss is trying to call you to arrange the lunch, but he's calling your fax number. This shows that the second thing you need to agree on is the medium you will be talking over (i.e. voice phoneline).

There are also standards for these things when you're doing your scheduling over the Internet. The language the CALSCH WG has agreed on is called iCalendar Transport-Independent Interoperability Protocol[iTIP].

Just like your boss has several media to choose from, there are also several transport media for iCalendar:

iCalendar Message-based Interoperability Protocol [iMIP]

Allows you to schedule your appointments through email messages.

Calendar Access Protocol [CAP]

This is among other things a real-time transport for scheduling. It's like IMAP is for mail servers, if you're familiar with that. It's currently an Internet Draft; it's on the way to being a standard, but it's not there yet.