Contacts API update


I've just updated the Contacts API specification [1] following the
discussions that were held in [2]. 

I have highlighted a number of notes and issues in this version of the
specification and in order to progress it will be useful to discuss on
the mailing list first before continuing.

I would like to add a couple of significant requirements to this API.
Whether or not these need to be included as requirements in the umbrella
document or just as updates to the API spec are debatable.

1./ The Contacts API MUST be asynchronous.

There is a significant case for making this API asynchronous due to the
agnosticity of implementation. We have talked about this API being an
abstract representation of an Address book and there is no reason why
the underlying implementation cannot interface with e.g. cloud based
address book sources, in which case the need for request/response calls
denotes a need for asynchronous implementation.

2./ Contact attributes in the Contacts API MUST be a 1:1 mapping to
vCard specification properties.

We need more discussion around the attributes that should be provided by
the Contacts interface. This has been kicked off in [3] and [4] though
no response has been received. I'm bumping [4] as the diff between the
current attributes and the properties available in the vCard spec [5]. 

While all attributes will be defined and available for use by any
implementation, only a small subset of these attributes MUST be
supported by all implementations. These mandatory attributes will be the
same as those defined in vCard.

Adding mandatory attributes will then require exceptions (if we keep
things sync) or errors (if we go to async as per 1. above) to handle the
case that mandatory attributes are not present and/or other attributes
are malformed.








Received on Thursday, 22 October 2009 10:45:12 UTC