[Powerbox] Q's on the proposal

Hi,

I wanted to touch on a few other aspects of the Powerbox proposal on the
conf. call today but I was minuting and we...kind of ran out of time.
Therefore, please find this feedback included below.

1. <input ...> does not degrade nicely in older UAs. (this was raised on
the conf. call but included for completion).

If the <input type="file" ...> DAP extensions are not supported in older
browsers the degradation is to a file picker. This does not make sense
for a number of APIs such as video, contacts, calendar, system info. 

In the current JS API proposals a web developer can check for support of
an API before invoking it via Javascript. The test for API support and
the API itself are the same object which is a concious API design
consideration.


2. Could API Providers be defined as OpenSearch-like documents rather
than JSON-style documents?

In the existing Contact API we stated that the underlying implementation
is of a unified address book (or multiple address books available as
part of a unified callback) regardless of the actual selection of which
address book(s) to use.

For the Provider documents, I'd like to propose we define
OpenSearch-style [1] [2] API Providers in parallel (but seperately) to
the Powerbox definition. 

I wouldn't really advertise API Providers in the same way as RSS feeds
are advertised. A user could  add new Providers for different APIs via
UA configuration by entering a URL to a given provider resource
(obtained from something like a maintained directory of available
providers) [3]. 

Alternatively a new Provider could be added via JS functions. For
OpenSearch the following JS endpoint exists in Firefox and IE7 that can
only be triggered on 'click' events and installs the OpenSearch
engineURL in to the browser: 

window.external.AddSearchProvider(engineURL);

Could we do something similar with OpenSearch-like API Providers?


3. Does reducing the problem to XHR/REST requires the webapp to address
a single Provider resource at a time?

My understanding of the Powerbox proposal is on calling a specific
Provider per XHR request. 

Could a webapp address a single endpoint that delegates to all installed
Providers (via XHR/JSON) depending on the user's Provider selection?


4. Is a two step usage process for user interaction required for
Powerbox use?

  - on invocation of the <input ...> element, select a provider to use
in a user dialog,
  - select provider artifacts (objects) in a user dialog and review the
provider artifacts to return to the webapp.

In the current Contacts API proposal, we have the usage interaction down
to one non-modal 'contacts picker' dialog while fulfilling the same use
cases. Does the Powerbox approach support the same single interaction
principle?

5. No specific user interaction provisions or recommendations for CRUD
operations have been detailed in the Powerbox examples.

While an XHR/RESTful approach naturally includes getting data, deleting
data and saving data back to a Provider the user experience/interaction
required in initiating those processes is a little unclear. I anticipate
this will be an async dialog allowing the user to review the information
to be saved and then to select 'Allow'/'Deny'. That's just one very
basic UX example but it would be interesting to get the thoughts of the
Powerbox editors on roughly the UX they had in mind to initiate the
different CRUD operations on the Powerbox. It would be good to
understand if there are any differences to the UX proposals between the
Powerbox proposal and the existing JS API proposals.


Thanks,

Richard


[1] http://www.opensearch.org/Specifications/OpenSearch/1.1

[2]
https://developer.mozilla.org/en/Creating_OpenSearch_plugins_for_Firefox

[3]
http://www.opensearch.org/Community/OpenSearch_search_engine_directories


[4]
https://developer.mozilla.org/en/Adding_search_engines_from_web_pages





*********************************
This message and any attachments (the "message") are confidential and intended solely for the addressees. 
Any unauthorised use or dissemination is prohibited.
Messages are susceptible to alteration. 
France Telecom Group shall not be liable for the message if altered, changed or falsified.
If you are not the intended addressee of this message, please cancel it immediately and inform the sender.
********************************

Received on Wednesday, 24 February 2010 18:31:47 UTC