Re: [Ietf-caldav] I-D ACTION:draft-dusseault-caldav-11.txt (fwd)

Jay Batson <batsonjay@plumcanary.com> Tue, 18 April 2006 12:36 UTC

Return-Path: <batsonjay@plumcanary.com>
X-Original-To: ietf-caldav@osafoundation.org
Delivered-To: ietf-caldav@osafoundation.org
Received: from laweleka.osafoundation.org (laweleka.osafoundation.org [204.152.186.98]) by leilani.osafoundation.org (Postfix) with ESMTP id 3C9ED7F6DC for <ietf-caldav@osafoundation.org>; Tue, 18 Apr 2006 05:36:05 -0700 (PDT)
Received: from localhost (localhost [127.0.0.1]) by laweleka.osafoundation.org (Postfix) with ESMTP id 2EB6A14226F for <ietf-caldav@osafoundation.org>; Tue, 18 Apr 2006 05:36:05 -0700 (PDT)
Received: from laweleka.osafoundation.org ([127.0.0.1]) by localhost (laweleka.osafoundation.org [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id 24933-05 for <ietf-caldav@osafoundation.org>; Tue, 18 Apr 2006 05:36:02 -0700 (PDT)
Received: from plumcanary.com (sync.plumcanary.com [216.154.222.73]) (using TLSv1 with cipher DHE-RSA-AES256-SHA (256/256 bits)) (No client certificate requested) by laweleka.osafoundation.org (Postfix) with ESMTP id 00D78142269 for <ietf-caldav@osafoundation.org>; Tue, 18 Apr 2006 05:36:01 -0700 (PDT)
Received: from [10.0.0.8] (AMarigot-102-1-2-109.w81-248.abo.wanadoo.fr [81.248.11.109]) by plumcanary.com (8.12.11.20060308/8.12.10) with ESMTP id k3ICZqoh014866; Tue, 18 Apr 2006 08:35:52 -0400
In-Reply-To: <1145343520.26786.36.camel@hed034-145.research.nokia.com>
References: <D58B890CEBB86771C83E8401@Cyrus-Daboo.local> <443FAB85.8030503@gmx.de> <7246CAD3-9329-4B34-8D23-08B196E80EDE@osafoundation.org> <443FEF47.3050406@gmx.de> <5FD8AADA-F91A-4B1F-9453-01178901DB6F@osafoundation.org> <443FF7B9.3050801@gmx.de> <7D5DE367-5FD8-4398-849D-2158EF6BC256@osafoundation.org> <443FFE81.6010605@gmx.de> <CD95571B-E80E-4DA4-A522-23C0647CF6B6@osafoundation.org> <4440AC2D.2050802@gmx.de> <1145343520.26786.36.camel@hed034-145.research.nokia.com>
Mime-Version: 1.0 (Apple Message framework v749.3)
Content-Type: text/plain; charset="US-ASCII"; delsp="yes"; format="flowed"
Message-Id: <553FF59D-A154-4AA9-956C-D76C242D43A4@plumcanary.com>
Content-Transfer-Encoding: 7bit
From: Jay Batson <batsonjay@plumcanary.com>
Subject: Re: [Ietf-caldav] I-D ACTION:draft-dusseault-caldav-11.txt (fwd)
Date: Tue, 18 Apr 2006 08:35:54 -0400
To: Jari Urpalainen <jari.urpalainen@nokia.com>
X-Mailer: Apple Mail (2.749.3)
X-Virus-Scanned: by amavisd-new and clamav at osafoundation.org
X-Spam-Status: No, hits=-2.6 tagged_above=-50.0 required=4.0 tests=BAYES_00
X-Spam-Level:
Cc: CalDAV DevList <ietf-caldav@osafoundation.org>
X-BeenThere: ietf-caldav@osafoundation.org
X-Mailman-Version: 2.1.5
Precedence: list
List-Id: Discussions on Calendar Access protocol based on WebDAV <ietf-caldav.osafoundation.org>
List-Unsubscribe: <http://lists.osafoundation.org/mailman/listinfo/ietf-caldav>, <mailto:ietf-caldav-request@osafoundation.org?subject=unsubscribe>
List-Archive: <http://lists.osafoundation.org/pipermail/ietf-caldav>
List-Post: <mailto:ietf-caldav@osafoundation.org>
List-Help: <mailto:ietf-caldav-request@osafoundation.org?subject=help>
List-Subscribe: <http://lists.osafoundation.org/mailman/listinfo/ietf-caldav>, <mailto:ietf-caldav-request@osafoundation.org?subject=subscribe>
X-List-Received-Date: Tue, 18 Apr 2006 12:36:05 -0000

Without (being capable of) expressing a solution preference, I want  
to make sure the authors have sufficient "evidence on the list" that  
-- as part of the basic requirements -- CalDAV must provide an  
acceptable, efficient way for calendaring clients to be capable of  
"offline use using cached calendars & change detection-resolution (on  
reconnect)" mentioned by Julian.

This is, as you're all painfully aware, a difficult thing to do  
efficiently.  There are obvious tradeoffs:
- Good:  Client-side detection of changes, & conflict resolution,  
scales well (by moving the processing to the client);
- Bad:  If designed badly, client-side detection of changes can lead  
to a significant amount of network traffic to obtain necessary  
information from the server to perform the sync / resolution.  There  
are still a significant number of places where CalDAV (and HTTP) are  
going to be used over dial-up where you can't simply assume "free,  
high-speed bandwidth" for all the client/server interactions.
- (Of course, server-side resolution has the opposite problems).
- Version tags are good, and historically many products have been  
built using this method.  The devil-in-the-details question is always  
"How granular should the version tags be?  Per-field, per-object  
(e.g. VEVENT), or per-Calendar?"  Again, with processing / bandwidth  
tradeoffs being the obstacles.

I'm technical enough to know the problem, and need, exists, and have  
been involved at an engineering-management level with two commercial  
products that have solved the problem (MeetingMaker, and Chirp).  So  
I know it can be done; but you're better off not asking me to design  
the solution.  I'm not *that* technical.  :-)

In summary, my thoughts on the requirements:
- Permit changes to DB on either side (client/server) while clients/ 
servers are not connected;
- Ability for one side (client or server; probably client in the  
context of CalDAV) to detect which objects (events, todos, ...) to  
detect modifications made at the other end while disconnected;
- Ability for one side (ditto) to inform the other of changes made  
while disconnected;
- Ability for the side doing the detection/informing to perform user- 
directed conflict resolution, and set the DB on both ends to  
contained the result.
- Do the detection/informing/updating in a bandwidth-efficient manner;

Cheers
-jb

On Apr 18, 2006, at 2:58 AM, Jari Urpalainen wrote:

> On Sat, 2006-04-15 at 10:17 +0200, ext Julian Reschke wrote:
>> Lisa Dusseault wrote:
>>>
>>> On Apr 14, 2006, at 12:56 PM, Julian Reschke wrote:
>>>
>>>>> happen, some clients might always do a GET (poor performance) and
>>>>> others might always not (poor interoperability).
>>>>
>>>> Just tell clients to do conditional GETs with the cache  
>>>> validator they
>>>> got upon PUT. The client may not have the same content octet-for- 
>>>> octet
>>>> as the server, but besides that I see no problem (yet).
>>>
>>> Yes, but that's exactly it, there's confusion about what the cache
>>> validator they got upon PUT means, or in what cases the server is
>>> allowed to return it.   Many clients cache calendar items for  
>>> offline
>>> use, and if the server has added its own custom properties or  
>>> modified
>>> data, that may well need to be available offline as well.
>>
>> Currently, there's no way to find out. If this is a requirement,  
>> CalDAV
>> will either have to rely on draft-whitehead-http-etag solving that
>> problem, or come up with its own solution.
>>
>> I'd prefer the former approach, because solving this once and for all
>> HTTP based specs certainly is better.
>>
>> If CalDAV wants to do its own thing, it must make sure that it  
>> doesn't
>> contradict other specs, on which it builds or that servers may  
>> want to
>> implement in parallel with CalDAV. A safe way to do that for now  
>> would
>> be to add a new response header that contains just that piece of
>> information, such as:
>>
>> 	X-Content-Rewritten: "T" / "F"
>>
>> Best regards, Julian
>
> We had similar ambiquities/difficulties with ETags in XCAP, where  
> adding
> new headers were not the preferred way to solve this kind of issues.
> That said, as I have also previously said that 5.3.4 section was
> somewhat difficult to understand and incorrect (rfc2616 reference  
> and no
> clear why reasoning of ETag behavior), I agree with Julian that a new
> X-header or a normative reference to draft-whitehead-http-etag is a
> better way to solve this issue, and certainly the latter option the  
> best
> one.
> br,
> Jari
>
> _______________________________________________
> Ietf-caldav mailing list -- Ietf-caldav@osafoundation.org
> See http://ietf.webdav.org/caldav/ for more CalDAV resources
> http://lists.osafoundation.org/mailman/listinfo/ietf-caldav

-------------
Jay Batson
batsonjay@plumcanary.com
+1-978-824-0111 (w)
+1-978-758-1599 (m)