Re: Registration of media type application/calendar+xml

Keith Moore <> Fri, 10 September 2010 02:50 UTC

Return-Path: <>
Received: from localhost (localhost []) by (Postfix) with ESMTP id 165E93A680A for <>; Thu, 9 Sep 2010 19:50:52 -0700 (PDT)
X-Virus-Scanned: amavisd-new at
X-Spam-Flag: NO
X-Spam-Score: -6.449
X-Spam-Status: No, score=-6.449 tagged_above=-999 required=5 tests=[AWL=0.150, BAYES_00=-2.599, RCVD_IN_DNSWL_MED=-4]
Received: from ([]) by localhost ( []) (amavisd-new, port 10024) with ESMTP id zjM2hQQdfur3 for <>; Thu, 9 Sep 2010 19:50:50 -0700 (PDT)
Received: from ( []) by (Postfix) with ESMTP id BE8D33A6781 for <IETF@IETF.ORG>; Thu, 9 Sep 2010 19:50:49 -0700 (PDT)
Received: from localhost (localhost.localdomain []) by (Postfix) with ESMTP id 9188F1009E; Thu, 9 Sep 2010 22:51:16 -0400 (EDT)
X-Virus-Scanned: by amavisd-new with ClamAV and SpamAssasin at
Received: from ([]) by localhost ( []) (amavisd-new, port 10024) with ESMTP id mD1HCP+-SZy8; Thu, 9 Sep 2010 22:51:16 -0400 (EDT)
Received: from ( []) by (Postfix) with ESMTP id 130551009A; Thu, 9 Sep 2010 22:51:12 -0400 (EDT)
Subject: Re: Registration of media type application/calendar+xml
Mime-Version: 1.0 (Apple Message framework v1081)
Content-Type: text/plain; charset=us-ascii
From: Keith Moore <>
In-Reply-To: <B0EA09C87A5701A94419DB8F@socrates.local>
Date: Thu, 9 Sep 2010 22:51:10 -0400
Content-Transfer-Encoding: quoted-printable
Message-Id: <>
References: <> <> <B0EA09C87A5701A94419DB8F@socrates.local>
To: Cyrus Daboo <>
X-Mailer: Apple Mail (2.1081)
Cc: Alexey Melnikov <>,, Steven Lees <>, Douglass Mike <>, IETF@IETF.ORG
X-Mailman-Version: 2.1.9
Precedence: list
List-Id: IETF-Discussion <>
List-Unsubscribe: <>, <>
List-Archive: <>
List-Post: <>
List-Help: <>
List-Subscribe: <>, <>
X-List-Received-Date: Fri, 10 Sep 2010 02:50:52 -0000

On Sep 9, 2010, at 10:22 PM, Cyrus Daboo wrote:

> Hi Keith,
> (cc'ing Apps area ADs - I believe Peter intends to "sponsor" this draft so he at least should be aware of our discussion here)
> --On September 9, 2010 9:44:07 PM -0400 Keith Moore <> wrote:
>> This was a bad idea when it was first proposed (if I recall correctly)
>> around ten years ago, and it's still a bad idea.
> An XML representation for iCalendar is vital if we are to keep iCalendar relevant in the web-based world. The drive for this work comes from a number of areas - in particular the smart grid effort sponsored by NIST will make use of this as part of the standards suite they are defining.

Somebody needs to talk some sense into those people.  Defining another calendar format will only harm interoperability.  It doesn't save any calendar implementation from needing to implement another parser, because if it wants to interoperate with existing products or be able to read old events it's still going to have to support iCalendar and probably vCalendar also.  So what's the _technical_ (not political) benefit from doing this?

IETF's job is to provide technical leadership, not to follow bad advice.  Instead of caving into them, what we need to do is publish a draft called "Translating Everything into XML Considered Harmful".

>> Whenever you define an alternate representation of something, there will
>> inevitably be skew between the original representation and the alternate
>> representation.
> iCalendar is itself extensible in terms of the addition of new properties and parameters. The trivial mapping of the iCalendar object model to our XML schema allows such extensions to be trivially mapped.

But your document doesn't define what the mapping is.  And your mapping spec (not to mention implementations) will always lag extensions.

>> This remains true even if you define mapping rules between the two (as
>> you do in this document).   The problem with mapping rules, which I
>> believe I pointed out around ten years ago, is that the rules are
>> specific to a particular version of iCalendar.  If either iCalendar is
>> extended, or the XML representation is extended, there's no guidance as
>> to how to map the extended format into the other representation.
> If iCalendar is extended in such a way that it is no longer compatible with the XML mapping, then it would really be a completely new version that would itself not be compatible with the existing iCalendar v2.0. If that happens, well compatibility has clearly been thrown out the window.

Sure, but if that should actually be needed, why do you want to make it even more difficult?    If and when there were a need for an iCalendar 3.0 - i.e. an incompatible change because there was no way to shoehorn the new features into the old format - it might make sense to define _that_ to use XML.

>> In addition, defining a new calendar format harms interoperability even
>> if you can keep the two representations in sync.  The reason is that it's
>> no longer sufficient for a calendar application to support just one
>> representation of calendar data.  In order to reliably interoperate, it
>> must at least able to read both, and it probably needs to be able to
>> write both.  That, and when sending calendar data to other applications,
>> either both representations must be sent, or some way of negotiating
>> which format to use is needed, or the user must be asked to choose which
>> format to export.
> Correct - having two representations can cause problems like this. However, with the advent of HTTP-based calendar protocols, the content negotiation mechanisms in HTTP (e.g. Accept header) can be used to push most of the burden for this on servers rather than clients.

Provided, of course, that HTTP-based calendar protocols are being used.   But currently, all of the iCalendar content I receive is over email.

Even if you have content-negotiation, having two formats still means there are two code paths, which introduces additional opportunities for failure.

>> Please withdraw this proposal, or at least withdraw the types application
>> until the proposal has enjoyed more review.
> Having a MIME type for this representation is critical to enabling content negotiation features.

Let me be clear.  I'm not saying just withdraw the MIME type application.  I'm asking you to abandon the internet-draft also.  Don't introduce an incompatible iCalendar format.  Then you don't need content-negotiation for calendar data.

> I feel strongly that this is a valid and useful proposal and we are already seeing uptake in the form of smart grid work and others.

I don't doubt at all that there are people jumping on the bandwagon.  That's not a sound justification for degrading interoperability of calendar products.

> Whilst this is an individual submission, I would point you to <> which is the product of the vCardDAV working group. That specification defines a mapping of vCard to XML which follows the same basic design of our iCalendar-in-XML work.

One example of bad practice does not justify another.  That is what is known as propagation of error.