vCal logovCalendar: The Personal Calendaring and Scheduling Exchange Format

Version 1.0

A versit Consortium White Paper
January 1, 1997


Personal Data Interchange (PDI) occurs every time two or more individuals communicate, in either a business or personal context, face-to-face, or across space and time. Such interchanges frequently include the exchange of informal information, such as business cards, telephone numbers, addresses, dates and times of appointments, etc. Augmenting PDI with electronics and telecommunications can help ensure that information is quickly and accurately communicated, stored, organized and easily located when needed.

Personal information, by nature, is complex and diverse. Currently, proprietary standards exist to structure some types of PDI information, but no single, open specification comprehensively addresses the needs of collecting and communicating PDI information across many common communication channels such as telephones, voice-mail, e-mail, and face-to-face meetings. The versit Consortium developed a comprehensive family of PDI technologies based on open specifications and interoperability agreements.

The traditional calendaring and scheduling information found in paper dayplanners and calendars have been captured in a flexible, electronic format in the vCalendar specification. This may include digital image and audio data. This multimedia is captured within the vCalendar in a format defined by accepted international and industry standards.

The versit Consortium was a multivendor development initiative of the communication and computer industries, founded by Apple, AT&T, IBM and Siemens. The versit vision was to enable diverse communication and computing devices, applications and services from competing vendors to interoperate in all environments. To this end, the versit parties jointly defined and supported open specifications. These specifications are made freely available to any interested party. The versit Consortium disbanded at the end of 1996 after handing over control of vCard to the Internet Mail Consortium.

The Personal Calendaring and Scheduling Exchange Format

The versit Consortium completed the definition of such a specification that allows for the open exchange of PDI information typically found in calendaring and scheduling applications. The specification defines a format for personal calendaring and scheduling information, or vCalendar. The vCalendar format represents a major industry effort to provide groupware interoperability between electronic messaging services, calendaring and scheduling applications such as Personal Information Managers (PIM), group scheduling applications, enterprise calendaring applications and emerging Internet calendar publishing services.

The vCalendar specification is suitable as an interchange format between applications or systems. The format is defined independent of the particular method used to transport it. The transport for this exchange might be a file system, point-to-point public switched telephone networks, wired-network transport, or some form of unwired transport.

A vCalendar is intended to be used for exchanging information about event and todo types of calendaring and scheduling entities. An event is a calendaring and scheduling entity that represents a scheduled amount of time on a calendar. For example, it may be an activitiy, such as a one-hour department meeting from 8 a.m. to 9 a.m., tomorrow. A todo is a calendaring and scheduling entity that represents an action-item or assignment. For example, it may be an item of work assigned to an individual, such as "turn in travel expenses today".

In today's business environment, this information is typically kept on a paper-based day-planner or calendar. More and more, this type of information is being also managed within electronic Personal Information Manager or group scheduling products. It is appropriate, then that this specification define this information in terms of a paradigm based on calendaring and scheduling event and todo entities.

Prior to the introduction of the vCalendar specification, users of such applications typically had to re-key the original information, often transcribing it from paper day-planners, scraps of paper or electronic mail messages. With the advent of the vCalendar specification, this information can be exchanged in an automated and consistent fashion.

The basis for the data types supported by this specification have their origin in openly defined, international standards. In addition, this specification has included capabilities based on enhancements suggested in numerous public demonstrations of vCalendar exchange using the Internet's World-Wide-Web, infra-red data transport, electronic messaging systems, and local area networks.

Leverages Existing Standards

The definition of the vCalendar Specification made use of a number of existing standards.

The calendaring and scheduling semantics defined by the X/Open and X.400 API Association (XAPIA) Calendaring and Scheduling API (CSA) was heavily referenced for the capabilities that are defined by vCalendar. Every attemp was made to make it possible to map the CSA functions into and out of an instance of a vCalendar.

The vCalendar specification also captures date and time information. The specification of all such values in a vCalendar are defined in terms of the international standard for representation of dates and times, ISO 8601. The use of this standard assures communication throughout all parts of the world; even those that may use different date, time, and time zone formats.

The format used in the vCalendar specification for identifying languages and character sets is based on existing ISO and IETF standards.

The syntax used in the vCalendar specification is based on the grammar defined by the Internet STMP and MIME electronic mail standards. Use of this syntax facilitates the transfer of vCalendar objects within MIME based electronic messaging services.

Application To PIM and Calendaring and Scheduling Products

The vCalendar specification is needed to address the requirements for an interchange format for the calendaring and scheduling data type or object.

Today, Personal data applications such as Personal Information Managers (PIM) often provide an import/export capability using Comma Separated Value (CSV) or Tab Delimited Files (TDF) formats. However, these solutions do not preserve the intent of the originating application. When a CSV and TDF format is used by a PIM, the meta-data or semantics of the originating object are only apparent to a similar version of the originating application.

The reliability and complexity of the exchange of data between PIM and calendaring and scheduling applications is greatly improved by the adoption of an industry-standard specification for a calendaring and scheduling interchange format, such as the vCalendar specification. IMC is encouraged by the growing number of leading PIM, calendaring and scheduling, and electronic messaging vendors that have already indicated their intent to support the vCalendar specification.

Impact of vCalendar on Your Desktop

When integrating vCalendar support into an application, an implementor must consider a number of user interface implications. Most applications provide some levels of support for interacting with other applications. This is usually accomplished in three ways. These include the File System, the Clipboard, and Drag/Drop techniques. The full potential of the vCalendar technology can be better utilized by an application that supports the vCalendar specification in each of these user interface forms.

Applications integrating support for the vCalendar specification will provide support for importing and exporting vCalendar objects from the operating system's file system. In operating systems that support file types, this means that a standard file type can be used to distinguish the vCalendar objects. Applications will use the file system capabilities to support the FileOpen and FileSaveAs, or their equivalent function, of a vCalendar object in much the same way that graphics application today use a metafile format to import and export computer graphics objects.

Applications integrating support for the vCalendar specification will also provide user interface capabilities for exchanging vCalendar objects through the operating system's clipboard. The clipboard is a memory-to-memory transfer capability that is supported in most operating systems. This user interface form greatly enhances an end-user's ability to communicate data between desktop applications. The vCalendar specification standardizes the way that its personal data is identified on clipboard. This allows all applications to make use of the operating system's clipboard capability to support the Cut, Copy, and Paste, or their equivalent function, of a vCalendar object.

A recently accepted user interface form for communicating data between desktop application is by use of a drag/drop metaphor. The vCalendar specification standardizes the way vCalendar information is identified to the drag/drop protocols of an operating system This allows all applications to make use of the operating system's drag/drop capability to enable the application to drag or drop a vCalendar object between desktop applications.

A combination of these three user interface forms enhances the utility of any desktop application. Enabling these user interface forms to handle vCalendar information can turn your desktop application into a powerful personal data tool.

Application Use of the vCalendar Format

The vCalendar has direct application to way users utilize calendar information on the Internet network. Organizations can also use the vCalendar format to automate the publication of calendar information from their homepages. The vCalendar can be used to send calendaring and scheduling data in an electronic mail message. Additionally, the vCalendar can be used in wireless transports such as infrared for transferring calendaring and scheduling information between meeting attendees.

The vCalendar format can be used to publish calendaring and scheduling information between a World Wide Web (Web) homepage server and a web browser client application. Once received by a workstation, the calendaring and scheduling information can be easily transferred into a PIM or group scheduling application and used to update its owner's calendar.

The vCalendar can also be used as an electronic mail attachment type for calendaring and scheduling information. A distribution list of individuals can be sent a vCalendar attachment to a MIME electronic mail message. Existing electronic mail products can exchange vCalendar information today, without any modifications. A recipient receiving a vCalendar attachment can transfer the calendaring and scheduling information to their PIM or group scheduling application.

The versit PDI Team is working with the Internet Engineering Task Force (IETF) to begin a program of work on Internet calendaring and scheduling standards. This work is designed to be used to transport calendaring and scheduling information across existing or emerging Internet transfer protocols such as that used by MIME based electronic mail services. The vCalendar specification is being contributed to the IETF working group being formed to define these Internet calendaring and scheduling standards.

Another application of the vCalendar is as a format for transferring calendaring and scheduling information over an infrared, wireless transport between Personal Data Assistants (PDA) and portable, laptop computers. At a meeting, a user can schedule a follow-up appointment using a PIM application and "beam" the calendar event as a vCalendar object between other meeting participants. This provides a point-and-shoot, real-time update to individual work group calendars.

Broad Industry Support

The definition of the vCalendar Version 1.0 Specification was based on input from a broad segment of the computer industry. Organizations participating in the review and comment on the specification included Attachmate Corporation, Automatrix, Clearblue Networking Systems, Creative Networks, CS&T, The Drummond Group, Hewlett-Packard, IBM Corporation, Iris Associates, Lockheed Martin, Lotus Development Corporation, Lucent Technologies, Microsoft, Microsystems Software, Netscape Communications Corporation, Now Software, Novell, ON Technology, OnTime, Oracle Corporation, Provident Life and Accident, Salutation Consortium, Siemens, Starfish Software, Sundial Systems, SunSoft, University of Michigan.

For more information on vCard and vCalendar, please contact
the Internet Mail Consortium at
More information about the Internet Mail Consortium
is available from the IMC Web site.

vCard and vCalendar are registered trademarks of the Internet Mail Consortium.