ISSUE-281 (DiscloseCapabilities): MWA should disclose their capabilities in HTTP requests, to allow service adaptation [Mobile Web Applications Best Practices]

ISSUE-281 (DiscloseCapabilities): MWA should disclose their capabilities in HTTP requests, to allow service adaptation [Mobile Web Applications Best Practices]

http://www.w3.org/2005/MWI/BPWG/Group/track/issues/281

Raised by: Bryan Sullivan
On product: Mobile Web Applications Best Practices

The MWABP should make recommendations on the use of Widget interface features and Javascript functions (e.g. XMLHttpRequest) to achieve what the MWBP comments to the Widgets 1.0 Requirements were attempting to promote, e.g. interoperability, through:
(a) identification of the widget in HTTP requests (user-agent header)
(b) disclosure of Widget and device capabilities (Profile and Accept headers)

Example:
var client = new XMLHttpRequest();
client.open('GET', 'http://dcd.server.com/channel?ID=21');
client.setRequestHeader('User-Agent', 'DCD Widget/1.0');
client.setRequestHeader('Accept', 'application/vnd.oma.dcd, multipart/mixed, multipart/related');
client.setRequestHeader('Profile', '"http://megawidgets.com/dcd-widget1.0..rdf"');
client.send();

These methods ensure that the capabilities of Web Applications are disclosed (or at least the application identity is disclosed, which is useful as a lookup key for detailed info in a DDR), and thus the Content Provider can adapt services appropriately. Web Applications are expected to have diverse purposes/capabilities and use diverse content types, so it's important that we carry forward and extend as needed the "adapt services to device capabilities" guidance that we provided for browsers in BP1. Because these capabilities may not be disclosed by default though the underlying platform features (XHR or other native HTTP request API), the Web Application developer should be prepared to disclose them directly.

Received on Friday, 26 September 2008 15:54:14 UTC