ACTION-19 contact api review / feedback

I spent some time looking at the iPhone, Android, Blackberry, Nokia
and Palm implement access to and interaction of contacts. If there is
a better, automated or more formal approach for sharing a review pls
excuse my ignorance!

Currently the interface looks like this:

must enable listing all available address books on the device;
must enable listing all contacts in the address book(s);
must enable reading the details for a contact;
should enable creating a new contact;
should enable updating a contact;
should enable deleting a contact;
should enable filtering the list of contacts to search for a subset.

(http://dev.w3.org/2009/dap/api-reqs/Overview.html#contacts)

And there are two issues raised:
1.) use cases for supporting multiple address books
2.) use cases for groups

Most of the platforms have an address book type interface and

Groups can be very useful and, one use case in particular, would be to
support subsets of your contacts. For example: Friends, Family, Work,
Work Friends. Very helpful for filtering messages and knowing whom is
appropriate for that next chain email you need to send out.

I would like to recommend: MAY enable the ability to CRUD groups of contacts.

Something we ran into with PhoneGap was the need to paginate results.
Some of the platforms support this out of the box. Others don't seem
to be worried about any user experience lag related to painting 5000+
contacts to a mobile screen. At any rate, loading 1000's of contact
object literals into an array was rather cpu intensive. I would like
to recommend:

SHOULD provide an interface for pagination of contacts listing.

And finally I'd like to raise an issue. If we offer the idea of
pagination then it wouldn't be too far to assume that a search
interface should be offered. Thoughts?

In summary:

MAY enable the ability to CRUD groups of contacts.
SHOULD provide an interface for pagination of contacts listing.


* * *

Not to get ahead of ourselves but on the topic of Contacts...

During my travels I came across the rather beautiful Google Contact
API (not to be confused with the Android Contacts ContentProvider):

gContact:billingInformation
gContact:birthday
gContact:calendarLink
gContact:directoryServer
gContact:event
gContact:externalId
gContact:gender
gContact:groupMembershipInfo
gContact:hobby
gContact:initials
gContact:jot
gContact:language
gContact:maidenName
gContact:mileage
gContact:nickname
gContact:occupation
gContact:priority
gContact:relation
gContact:sensitivity
gContact:shortName
gContact:subject
gContact:systemGroup
gContact:userDefinedField
gContact:website

Some nice stuff there once you get past the namespace. Also nice is Palms take:
http://developer.palm.com/index.php?option=com_content&view=article&id=1701

My takeaway? We need to provide a schemaless object literal and not
try to think too hard on all the possible properties a contact could
potentially have.

* * *
Thanks everyone!

Received on Wednesday, 7 October 2009 01:42:57 UTC