Merge Robin's latest changes - remove user interaction guideline for navigator.contact.find()
authorJungkee Song <jungkee.song@samsung.com>
Mon, 17 Sep 2012 12:04:25 +0900
changeset 220 c6b56c18ecba
parent 219 ec6aa35ffeae
child 221 a0e074ec7c69
Merge Robin's latest changes - remove user interaction guideline for navigator.contact.find()
contacts/Overview.html
--- a/contacts/Overview.html	Thu Sep 13 20:58:29 2012 +0900
+++ b/contacts/Overview.html	Mon Sep 17 12:04:25 2012 +0900
@@ -25,7 +25,7 @@
               // previousPublishDate:  "2011-06-16",
               // lcEnd:  "2011-07-14",
               // previousMaturity: "LC",
-              edDraftURI: "http://w3c-test.org/2009/dap/contacts/",
+              edDraftURI: "http://w3c-test.org/dap/contacts/",
               wg:           "Device APIs Working Group",
               wgURI:        "http://www.w3.org/2009/dap/",
               wgPublicList: "public-device-apis",
@@ -84,9 +84,7 @@
       <p>
         A set of <a href="#security-and-privacy-considerations">Security and Privacy Considerations</a> are
         presented for the discretion of both implementers of Pick Contacts Intent services and recipients of contact
-        information (i.e. Web applications). This specification provides a set of non-normative 
-        <a href="#user-interaction-guidelines">User Interaction Guidelines</a> demonstrating an example user experience
-        that is compliant with the Security and Privacy Considerations described herein.
+        information (i.e. Web applications).
       </p>
       <p>
         The following code illustrates how to obtain contact information from a user's address book:
@@ -518,199 +516,5 @@
         </p>
       </section>
     </section>
-    <section class="informative appendix">
-      <h2>User Interaction Guidelines</h2>
-
-      <p>
-      This specification is primarily intended to provide the user with the ability to view and control the
-      contact information that may be shared from their unified address book. This annex provides some examples
-      of a conformant user experience that this specification enables.
-      </p>
-
-      <section>
-        <h3>Accessing Contact Information - Example #1</h3>
-
-        <p>
-        A website requests access to a user's address book with the following code:
-        </p>
-
-        <div class='example'>
-          <pre class="sh_javascript">
-   &lt;script type="text/javascript"&gt;
- 
-  function successContactFindCallback(contacts) {
-      // do something with resulting contact objects
-      for (var i in contacts) alert(contacts[i].name);
-      // ...
-  }
-
-  function generalErrorCB(error) {
-      // do something with resulting errors
-      alert(error.code);
-      // ...
-  }
-
-  // Perform an address book search. Obtain the 'name' and 'emails' properties 
-  // and initially filter the list to Contact records containing 'Bob':
-  navigator.contacts.find(['name', 'emails'],
-                                  successContactFindCallback, 
-                                  generalErrorCB,
-                                  { filter: 'Bob', multiple: true }
-                                 );
-                               
-  &lt;/script&gt;
-  </pre>
-        </div>
-
-        <p>
-        As a result of executing this code, the <a>user agent</a> may provide a non-blocking <dfn>contact
-        search notification</dfn> as follows:
-        </p>
-
-        <p align="center"><img src="contacts_notification.png" alt="Contact Search Notification"><br>
-        (<a href="contacts_notification.png">View as PNG</a>)
-        </p>
-
-        <p>
-        If an additional find() operation is called by the current web application before the user has
-        clicked 'Select' or 'Cancel' on the current notification, an error will be invoked with a code of
-        <a href="#widl-ContactError-PENDING_OPERATION_ERROR"><code>PENDING_OPERATION_ERROR</code></a> if that
-        operation was defined with a non-<code>null</code> <code>errorCB</code> parameter.
-        </p>
-
-        <p>
-        If the user clicks 'Cancel', the <code>errorCB</code>, if non-<code>null</code> for the current
-        find() operation, will be invoked with an error code of <a href=
-        "#widl-ContactError-PERMISSION_DENIED_ERROR"><code>PERMISSION_DENIED_ERROR</code></a>.
-        </p>
-
-        <p>
-        If the user clicks 'Select', the <a>user agent</a> may provide a <dfn>contact picker</dfn>,
-        utilizing all of the parameters provided in the find() operation as follows:
-        </p>
-
-        <p align="center"><img src="contacts_picker.png" alt="Contact Picker"><br>
-        (<a href="contacts_picker.png">View as PNG</a>)
-        </p>
-
-        <p>
-        In this dialog, the user is provided with a summary of the sharing that the application is
-        requesting and the option to select one or more contacts (as appropriate) from the user interface.
-        </p>
-
-        <p>
-        If an additional find() operation is called by the current web application before the user has
-        clicked 'Select' or 'Cancel' on the current notification, an error will be invoked with a code of
-        <a href="#widl-ContactError-PENDING_OPERATION_ERROR"><code>PENDING_OPERATION_ERROR</code></a> if that
-        operation was defined with a non-<code>null</code> <code>errorCB</code> parameter.
-        </p>
-
-        <p>
-        If the user clicks 'Cancel', the <code>errorCB</code>, if non-<code>null</code> for the current
-        find() operation, will be invoked with an error code of <a href=
-        "#widl-ContactError-PERMISSION_DENIED_ERROR"><code>PERMISSION_DENIED_ERROR</code></a>.
-        </p>
-
-        <p>
-        If the user clicks 'Select', the <a href="#contactfindcb-interface"><code>ContactFindCB</code></a>
-        associated to the current find() operation will be invoked with the contact information selected by the
-        user provided as the only parameter.
-        </p>
-
-        <p>
-        Further to this initial sharing of Contact information, the <a href=
-        "#security-and-privacy-considerations">Security and Privacy Considerations</a> section expects that the
-        user should easily be able to review and revoke access that web applications have to this API 
-        at a later time.
-        </p>
-      </section>
-
-      <section>
-        <h3>Accessing Contact Information - Example #2</h3>
-
-        <p>
-        A website requests access to a user's address book with the following code:
-        </p>
-
-        <div class='example'>
-          <pre class="sh_javascript">
-  &lt;input type="button" value="Share Contacts" onclick="getContacts()" /&gt;
- 
-  &lt;script type="text/javascript"&gt;
-    function successContactFindCallback(contacts) {
-      // do something with resulting contact objects
-      for (var i in contacts) alert(contacts[i].name);
-      // ...
-    }
-
-    function generalErrorCB(error) {
-      // do something with resulting errors
-      alert(error.code);
-      // ...
-    }
-  
-    function getContacts() {
-      // Perform an address book search. Obtain the 'name' and 'emails' properties 
-      // and initially filter the list to Contact records containing 'Bob':
-      navigator.contacts.find( ['name', 'emails'],
-                              successContactFindCallback, 
-                              generalErrorCB,
-                              { filter: 'Bob', multiple: true } );
-    }
-  &lt;/script&gt;
-  </pre>
-        </div>
-
-        <p>
-        This code may render as follows within the <a>user agent</a>:
-        </p>
-
-        <p align="center"><img src="contacts_element.png" alt="Contact Search via DOM Events"><br>
-        (<a href="contacts_element.png">View as PNG</a>)
-        </p>
-
-        <p>
-        If the user clicks on the rendered button element then the <a>user agent</a> may directly provide a
-        <dfn>contact picker</dfn>, as defined in <a href="#api-invocation-via-dom-events">API Invocation via
-        DOM Events</a>, utilizing all of the parameters provided in the <code>find()</code> operation as
-        follows:
-        </p>
-
-        <p align="center"><img src="contacts_picker.png" alt="Contact Picker"><br>
-        (<a href="contacts_picker.png">View as PNG</a>)
-        </p>
-
-        <p>
-        In this dialog, the user is provided with a summary of the sharing that the application is
-        requesting and the option to select one or more contacts (as appropriate) from the user interface.
-        </p>
-
-        <p>
-        If an additional find() operation is called by the current web application before the user has
-        clicked 'Select' or 'Cancel' on the current notification, an error will be invoked with a code of
-        <a href="#widl-ContactError-PENDING_OPERATION_ERROR"><code>PENDING_OPERATION_ERROR</code></a> if that
-        operation was defined with a non-<code>null</code> <code>errorCB</code> parameter.
-        </p>
-
-        <p>
-        If the user clicks 'Cancel', the <code>errorCB</code>, if non-<code>null</code> for the current
-        find() operation, will be invoked with an error code of <a href=
-        "#widl-ContactError-PERMISSION_DENIED_ERROR"><code>PERMISSION_DENIED_ERROR</code></a>.
-        </p>
-
-        <p>
-        If the user clicks 'Select', the <a href="#contactfindcb-interface"><code>ContactFindCB</code></a>
-        associated to the current find() operation will be invoked with the contact information selected by the
-        user provided as the only parameter.
-        </p>
-
-        <p>
-        Further to this initial sharing of Contact information, the <a href=
-        "#security-and-privacy-considerations">Security and Privacy Considerations</a> section expects that the
-        user should easily be able to review and revoke access that web applications have to this API 
-        at a later time.
-        </p>
-      </section>
-    </section>
   </body>
 </html>