You need a current, CSS savvy, version Web browser to view it. Much as I hate telling users which browser to use, I simply do not have the time to implement several versions of my Web documents. There are several good reasons to upgrade.

Group Scheduling

This document is the result of investigations in current formats for group scheduling. It originated in the realisation that the First Class groupware system used at DSV has serious flaws in usability. The flaws include, but are not limited to, support for modern file-exchange formats. That said, I will not cover usability analyses here, only suggest some recommendations on file exchange.

Why Group Calendars?

There are several reasons for using electronically shared calendars. In our case, the two most manifest ones are to simplify arranging meetings, and to allow users to post events such as seminars to public calendars.

Problems With Group Calendars

Group calendar systems fail for different reasons, many of which may be traced to the issue that "[they fail] invariably because they have ignored the social needs and behaviour of their users" (Alan Dix et al, 1993 ch 6). This problem has been known since 1993 (and earlier), but it still remains.

In an office, there are several uses of ordinary pen and paper calendars, and there are different calendars for different uses. Variations between calendars depend on the degree of visibility to others. A wall calendar may be used for dates and times that several people share. Your pocket work calendar may or may not be the same as your personal calendar. The wall calendar is visible to all, while you may not want your coworkers to see everything in your private calendar. The point of an electronic calendaring system, then, is to bring these different types of calendars together, so that for example meetings on the shared calendar may be more easily booked.

Thus, one problem with sharing calendars is privacy. How can we share calendars and still keep our personal data private? Another problem is degree of control. How should meetings be booked? Can someone else just enter a date in your calendar, booking a meeting without your consent?

A third problem concerns user choice. Who decides what software a user may or may not use? In some work environments, this is solved by simply enforcing a "standard" suite of software that all must use. The university is not, and cannot be, such an environment. People here like to have a choice between desktop calendars, and we use different kinds of palmtop computers that we connect to our desktop calendars.

The Perfect Solution

In an ideal world, there are solutions to these three problems. Most calendar systems can be used to synchronize with palmtop computers. Those that do not have this facility can be written off immedeatly. This leaves us with the questions concerning meeting bookings and announcements. The two formats iCalendar and Freebusy allow us to exchange data between and within calendar systems for these two purposes. The third problem above, choosing between software vendors, is thus removed by iCalendar and IFB. Each user simply chooses any application that has the features he or she needs, the only restriction being that iCalendar/IFB are among these features. This is in essence no different than it is for other Internet applications such as e-mail or the WWW. One can choose among a variety of calendar applications, just like one can choose among e-mail clients and Web browsers.

First, how to manage the electronic equivalent of a wall calendar is solved by the iCalendar format. The person who wishes to arrange meetings simply makes a special calendar file for these meetings, and publishes this on her WWW site. Those who wish to participate in the meetings subscribe to that calendar, and receive it in their work/personal calendars. There are several such calendars that are available globally, for example calendars for sports teams, TV, etc. Course schedules are of course one application that is ideal for this kind of publishing. A list of globally available iCalendars are available at iCalshare. It is also possible to translate iCalendars to HTML for viewing in a Web browser.

Sometimes, merely publishing is not enough. There may be a need to actually book meetings and check who is available. One solution to this is that everyone publish their own iCalendar files and make them available to all other users. The scheduling application looks through all calenders, and helps suggest a time for the person who wants to book the meeting. Either a request for meeting or a booking is sent out, preferably via ordinary e-mail which can be read by each user's calendar application. The choice of request or booking is of course still a question of efficency, privacy and intrusion.

Fortunately, a solution exists. The Internet FreeBusy format, IFB, only publishes times, dates and availablility. The availability can take four values: Free, Tentative, Busy, ReallyBusy/Out of Office. Thus, there is a simple way to tell people at what times you are available without revealing too much about your personal life.

The Real World

And now, the bad news. There are not many applications that support these three features completely (Palmtop sync, iCalendar, IFB). On the positive side, most manufacturers are working towards supporting them. Also, there are stand alone applications that translate from iCalendar to IFB, which may solve the problem for some. Here is a list of calendar applications and what features they support. Please email me if you have any changes or updates to this table. For instance, I have only looked into sync with Palm devices, because that is what I use.

Calendar application Operating System iCalendar FreeBusy Sync
First Class All In development
No No
Mozilla 1.6 All Yes No In development
Palm Desktop Windows
Mac OS X
Partial No Palm
KOrganizer 3.1.1 Linux Yes In development Palm
Outlook 2003 Windows
Partial, can import
but not subscribe.
Yes Yes
Evolution Linux Yes Yes Palm
iCal MacOS X Yes ? Yes

Recommendations

From the table above it would seem that Outlook currently has the best support on the Windows platform, while Apple iCal would be the choice for MacOS X users, and Evolution for Linux users. Admittedly, Outlook has several faults (vulnerability to virii, incompatible HTML, etc), but for the purpose of calendaring it works rather well, albeit not always as announced (below).

Note that it is possible to translate from iCalendar to FreeBusy, via an external application such as Jical. Thus, it is not really necessary to have support for FreeBusy, but it certainly simplifies publishing.

In order to exchange FreeBusy or iCalendar information, you need to publish your files somewhere, for others to subscribe to. The most straightforward way to publish is to your own home directory on the Web. This is easily accomplished in most applications. Then, if you have the location to other users' FreeBusy information in your address book, their FreeBusy information appears in a timeline when you try to book meetings with them. The meeting requests are sent via ordinary email.

The remaining problem then, is how to get other users' FB locations into your address book. In Outlook, this could be done in one of two ways, neither of which seems to work as announced. The first, and best, way would be to automatically "guess" the location based on the recipient's email address. The other way would be to send around yet another file standard, vCards, to eachother. These are electronic business cards, and can contain FB information. This is of course not as hassle-free for the user as auto-guessing would be. A third way is of course to manually enter addresses for FB information

To retrieve iCalendars, the application needs ability to subscribe, thus automatically fetching them from the Web. This is done by entering addresses found for example at iCalshare.

To conclude, I suggest that those who wish to try shared calendars save FreeBusy information in your Web directories, with the filename <username>.ifb (lowercase), and configure your calendar application accordingly. There are instructions on how to this on Microsoft's website. In our case, the default location for finding FB information would be: http://www.dsv.su.se/%7E%NAME%/%NAME%.ifb

%NAME is substituted with whatever comes before the @ sign in an email address, so you also need to make sure that this is really what appears in the From: field when you send invitations. The %7E is the ~ in character in our WWW directories.

Also, it would be interesting to try out iCalendar, if someone organizing meetings wants to publish in that format. Note that Outlook users unfortunately cannot subscribe to iCalendars automatically, but can "import" these manually.

References

Dix, Alan et al (1993): Groupware: In Human-Computer Interaction, Prentice Hall.

Further reading

How to Use the Internet Free/Busy Feature (Microsoft)
Sharing Microsoft Outlook Calendar and Contacts (Slipstick Systems)
Personal Data Interchange (The Internet Mail Consortium)
iCalShare
Kroupware, Open Source groupware developed for the government in Germany.
And, of course, RDF calendar, for the real cutting edge types who think iCalendar is already outdated.