The encyclopedia · Software & IT · Technical decision · 1998–2009
iCalendar made every calendar speak one plain-text format, so invites won
IETF's iCalendar (RFC 5545) defined one plain-text format for events and free/busy; Outlook registers .ics and webcal, so the meeting invite became universal.
IETF · Microsoft
The solution
In the 1990s every calendar application stored events its own way, so two people with different software could not exchange a meeting. In 1998 the IETF's Calendaring and Scheduling Working Group produced iCalendar, a data format for representing and exchanging calendaring and scheduling information such as events, to-dos, journal entries and free/busy — independent of any particular calendar service or protocol.
The design choice was ordinariness. An iCalendar file is plain text with the MIME type text/calendar and a simple object structure: BEGIN:VCALENDAR, VEVENT blocks with start and end times, and so on. Any client with a text reader can parse it, which meant no vendor had to license a library or reverse-engineer a rival to participate.
The format rode the meeting invitation. Microsoft's Outlook registers the .ics and .vcs extensions and the webcal:// and webcals:// protocols, and when it opens such a file it interprets it as a calendar folder or a calendar object — turning an emailed invite into an event any Outlook user can accept, edit or counter-propose.
Why it worked
- Plain text means a client can parse it with tools it already has.
- The text/calendar MIME type makes invites flow through email.
- Service independence lets each vendor keep its own calendar app.
- Free IETF publication meant no licensing or patent gates.
What can be applied
An interchange standard wins when the format is boring and universal — plain text plus a registered MIME type — so every vendor can implement it and keep its own UI.
Aftermath
The .ics meeting invite became the way calendars exchange events across vendors; RFC 5545, published in September 2009, remains the standard the format is defined by, and Outlook's .ics and webcal registration shows how deeply it is built into the client.
Sources
- RFC 5545: Internet Calendaring and Scheduling Core Object Specification (iCalendar)
- [MS-STANOICAL]: [RFC5545] Section 8.1 iCalendar Media Type Registration
spotted an error? The archive wants to know.