[calsify] VAVAILABILITY and priorities

Evert Pot <me@evertpot.com> Tue, 14 July 2015 04:13 UTC

Return-Path: <me@evertpot.com>
X-Original-To: calsify@ietfa.amsl.com
Delivered-To: calsify@ietfa.amsl.com
Received: from localhost (ietfa.amsl.com [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id 4C8221A8ADD for <calsify@ietfa.amsl.com>; Mon, 13 Jul 2015 21:13:31 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -0.001
X-Spam-Level:
X-Spam-Status: No, score=-0.001 tagged_above=-999 required=5 tests=[BAYES_50=0.8, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, RCVD_IN_DNSWL_LOW=-0.7, SPF_PASS=-0.001] autolearn=ham
Received: from mail.ietf.org ([4.31.198.44]) by localhost (ietfa.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id DyXpyZS65rah for <calsify@ietfa.amsl.com>; Mon, 13 Jul 2015 21:13:29 -0700 (PDT)
Received: from out1-smtp.messagingengine.com (out1-smtp.messagingengine.com [66.111.4.25]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id 19F4D1A8ADE for <calsify@ietf.org>; Mon, 13 Jul 2015 21:13:28 -0700 (PDT)
Received: from compute4.internal (compute4.nyi.internal [10.202.2.44]) by mailout.nyi.internal (Postfix) with ESMTP id F286F202C3 for <calsify@ietf.org>; Tue, 14 Jul 2015 00:13:27 -0400 (EDT)
Received: from frontend2 ([10.202.2.161]) by compute4.internal (MEProxy); Tue, 14 Jul 2015 00:13:27 -0400
DKIM-Signature: v=1; a=rsa-sha1; c=relaxed/relaxed; d=evertpot.com; h= content-transfer-encoding:content-type:date:from:message-id :mime-version:subject:to:x-sasl-enc:x-sasl-enc; s=mesmtp; bh=ppA coWbKGGvot3ycAd6DTB+9zc0=; b=LAYBLBtKIef2HK08Y1O61OxGKnRJPy055Bs mzYYR15f611BQNyyuEpwSNk8HvH4XtdgPLwEJ61l29Z1cYtpS5lkRQ4ZkwZWf/GO FhFH3dxZuvgrQEAqe+G+IxNwfnuNq4FgNWxDHSzyiirsHFNJfaS8yhNPKeGaZ0pq EAansGg4=
DKIM-Signature: v=1; a=rsa-sha1; c=relaxed/relaxed; d= messagingengine.com; h=content-transfer-encoding:content-type :date:from:message-id:mime-version:subject:to:x-sasl-enc :x-sasl-enc; s=smtpout; bh=ppAcoWbKGGvot3ycAd6DTB+9zc0=; b=qjzgm bGXAdqupRcR/RrRIugMp1Ms71Ymi19LyZV2PACby2r+UGwM7pCZ4wnkjFD2Q6bC4 JNihdw+mnq7dCsjBP1zw6/SXssKTbgNkEOX8sePqLPFZXTQmB/awuM+GYKxNWEVc 2qPcMou9VRqJoCvejRvTdKQLObV5VEGQM4X3Bo=
X-Sasl-enc: fjrKFwc6EZD9t9TqoBvD9W7tsXNYjFblU+33e9zHdeHe 1436847207
Received: from Pasta.local (cpebc4dfba28f23-cmbc4dfba28f20.cpe.net.cable.rogers.com [174.113.241.175]) by mail.messagingengine.com (Postfix) with ESMTPA id 8E48668012C for <calsify@ietf.org>; Tue, 14 Jul 2015 00:13:27 -0400 (EDT)
Message-ID: <55A48C66.30905@evertpot.com>
Date: Tue, 14 Jul 2015 00:13:26 -0400
From: Evert Pot <me@evertpot.com>
User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.10; rv:31.0) Gecko/20100101 Thunderbird/31.7.0
MIME-Version: 1.0
To: calsify@ietf.org
Content-Type: text/plain; charset="utf-8"
Content-Transfer-Encoding: 7bit
Archived-At: <http://mailarchive.ietf.org/arch/msg/calsify/RZ0EEzCma0Xhoj9_E7Un-ItpPGk>
Subject: [calsify] VAVAILABILITY and priorities
X-BeenThere: calsify@ietf.org
X-Mailman-Version: 2.1.15
Precedence: list
List-Id: <calsify.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/calsify>, <mailto:calsify-request@ietf.org?subject=unsubscribe>
List-Archive: <https://mailarchive.ietf.org/arch/browse/calsify/>
List-Post: <mailto:calsify@ietf.org>
List-Help: <mailto:calsify-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/calsify>, <mailto:calsify-request@ietf.org?subject=subscribe>
X-List-Received-Date: Tue, 14 Jul 2015 04:13:31 -0000

Hey guys,

I'm in the process of implementing VAVAILABILITY into sabre/dav. We are
interested in the specification and it solves a real need.

So far the specification looks pretty great, but if I'm interpreting it
correctly, I do have some concerns:


### non-unique priorities

The current draft states[1]:

> If
> two or more vavailability components have the same PRIORITY value,
> then their AVAILABILITY components which fall within the date range
> of interest are combined.  It is up to the creator of such components
> to ensure that combining them produces a consistent and expected
> result.

This basically leaves it up to the implementer to decide how to
interpret the result, and could leave to inconsistencies. I don't know
for instance which BUSYTYPE to take as the default.

The difference is subtle, but could lead to frustrations in the future.
I would want to suggest one of three solutions:

1. Force uniqueness of the value of PRIORITY.
2. Take the order in which the VAVAILABILITY component appears as
   significant, and treat the ones that appear later as a slightly
   higher priority. (assuming people will generally want to append)
3. Remove PRIORITY altogether and *only* use the order of components as
   their priority.


### Order of AVAILABLE

Similar to VAVAILABILITY, multiple AVAILABLE components within a single
VAVAILABILITY can also generate conflicting, overlapping results.

The way I'm currently processing this is simply by using their specified
order, and treat the last AVAILABLE component as "most significant".

I feel that it would be good to *if* this is the intended behavior, that
this is also specified.


### Cosmetic: casing

I noticed there's a lot of variation in the document in how
VAVAILABILITY (or vavailability or Vavailability) is written.


### Question: relation to VFREEBUSY

Both VAVAILABILITY and VFREEBUSY address a similar use-case, the ability
to indicate when somebody is available or busy.

VAVAILABILITY does this much better because it can use recurrence rules,
but VAVAILABILITY is not great for marking off small parts of the day
(when there's an event for instance).

What do I do if I want to publish my availability information that:

* Is timezone and recurrence aware
* Can also block off specific timeslots

I feel that it's very useful for say, a dentist to be able to publish
office hours as well as which timeslots are already booked off. Could I
just create a single document that has both VFREEBUSY and VAVAILABILITY
components?


Cheers and well done =)

Evert


[1]:
https://tools.ietf.org/html/draft-daboo-calendar-availability-05#section-4