- From: Rich Tibbett <rich.tibbett@gmail.com>
- Date: Tue, 21 Sep 2010 12:57:04 +0200
- To: Dominique Hazael-Massieux <dom@w3.org>
- Cc: public-device-apis@w3.org
- Message-ID: <AANLkTinambiYc0wBjjAShzmz7OhbvMaD=Ro9_jrkidnF@mail.gmail.com>
On Wed, Sep 15, 2010 at 11:47 AM, Rich Tibbett <rich.tibbett@gmail.com>wrote: > On Wed, Sep 15, 2010 at 11:04 AM, Dominique Hazael-Massieux <dom@w3.org>wrote: > >> Le lundi 13 septembre 2010 à 16:28 +0200, Rich Tibbett a écrit : >> > I've created a new draft of the Contacts API based on feedback >> > received to date: http://dev.w3.org/2009/dap/contacts/ (Ctrl+R to >> > refresh may be required) >> > >> > There will still be a number of items that will require further work >> > in light of the ongoing discussions related to formats. Your feedback >> > on the latest draft would be most appreciated. >> >> I've brought a few editorial changes directly in the document itself, >> mostly to take into the account the fact that the spec is now only about >> find() (and no longer about save() and remove()). >> > > Thanks. All the changes are good. > > >> >> Some comments from a quick new review: >> • why do we have both "limit" and "multiple" in ContactFindOptions? >> wouldn't limit=1 be equivalent to multiple=false? >> > > 'multiple' is taken from the input file model: > http://dev.w3.org/html5/markup/input.file.html > > I wonder whether we could remove 'limit' as it doesn't render in the > resulting contacts picker and could be confusing if the contacts picker > suddenly stops you from selecting more than X contacts to share. Also, we > probably don't need an upper limit on reflection. > >> >> • you imported startDate/endDate for the organization data; while I can >> see it being useful in a social network, that seems somewhat of an >> overkill for an addressbook; that said, it probably doesn't hurt to have >> it included if that facilitates interoperability >> > > It actually doesn't facilitate interoperability. > > The Portable Contacts draft re-invents the organisations element from the > corresponding vCard organization component. I'd suggest we go with the vCard > format for organization and let any portable contacts specific fields be > defined as extensions to the spec (and let them live and die based on > implementation design choices). > > >> >> • I wonder if xs:dateTime is the best format for the updatedSince option >> in ContactFindOptions; shouldn't we using the EcmaScript Date interface >> instead? >> > > We should use the Date interface here. I will change this. > > >> >> • rather than “complex”, I would use the word “composed” to qualify >> attributes that are not directly accessible >> > > It makes more sense and I will define the meaning of composed to be 'an > object or array' rather than a simple DOMString-like attribute. > > >> >> • I don't recall any discussion on the search sorting algorithm; was >> this inspired from a similar algorithm somewhere else? I'm not sure the >> API should impose anything on sorting, I would prefer leaving this to >> external libraries >> > > Search sorting is increasingly becoming unwieldy and a pain. I'd be in > favour of dropping this proposal. Each contact element has a unique id > element and so the resulting order of search results shouldn't be as > important. > > It might be something we want to revisit later on but I'm happy to remove > this. > > >> >> • requiring (with a MUST) an ill-defined "loose-matching policy" seems a >> bit strong; I would turn that into an implementation advice; the MUST >> can probably still be applied to the fact that implementations need to >> apply the search to all the attributes being retrieved; likewise, I >> would demote the normativeness of the compatibility caseless requirement >> for partial value match >> > > I will change this accordingly. > > >> >> • the search filter algorithm says on successful match that “that >> Contact object must be returned as part of the resulting >> ContactFindSuccessCB” — that’s a bit misleading given that the user may >> or may not choose to include that contact in the data that is provided >> to the application; > > > This will be tightened up. > > >> as far as I can tell, the search filter is more a >> hint to allow pre-filtering the list of contacts from which the user >> will select what to send to the app; > > > That is the intention, yes. > > >> I think this means also more or >> less dropping (or turning into purely advisory material) the rules for >> processing search filters; >> > > When searching across all the different fields it might be useful to know > where matching priorities lie. > > >> >> • I'm not sure to understand why “The id attribute must always be >> implicitly searchable”; if it really MUST, it should be included in the >> example of fields that needs to be searched just after that sentence >> > > In the case that a web app has previously gained access to a user's address > book they may want to target a specific contact object - hence the id > attribute is implicitly searchable. I will clarify this in the spec based on > your suggestion above. > > >> >> • I think people tend to prefer vendor prefixes to X prefixes for >> extensions, as they avoid conflicting extension names; any reason why >> you chose "X"? >> > > I have no preference on this and would like to allow either. "X" prefixed > extensions would be useful for attributes that have been agreed between > implementations or groups but not standardised. Vendor prefixes would be > useful for experimental or implementation specific extensions. Perhaps I > should loosen the wording or include a note about prefixes. > > > Very helpful feedback Dom. Thanks. > > - Rich > Hi Dom, I've updated the Contacts spec inline with this feedback. The relevant CVS diff is here: http://dev.w3.org/cvsweb/2009/dap/contacts/Overview.html.diff?r1=1.86&r2=1.87&f=h Please take a look and let me know if there are still any items that you would like me to address further. Thanks, Rich
Received on Tuesday, 21 September 2010 10:58:03 UTC