[widgets] MWBP WG Comments of Widgets Reqs LC WD, was Re: Request for Comments on Widgets 1.0 Requirements Last Call WD

Hi Bryan, MWBP WG,
On Fri, Aug 1, 2008 at 12:28 PM, Sullivan, Bryan <BS3131@att.com> wrote:
> Hi Art,
> The MWBP WG consolidated comments are attached as a HTML document.
>
> General comments:
>
> Somewhere, perhaps in section 4.2, there should something about how
> resources (media etc) need to be compatible with the target device
> types, and that resource dependencies (screen, input device, network,
> processing, etc.) need to be spelled out. Widgets should be able to
> express these dependencies in a semantically useful way through a
> standardized schema and attribute ontologies/vocabularies such as W3C
> has been working on, e.g. the MWI DDWG's DDR Core Vocabulary, DDR
> Simple API, and the ongoing work of the UWA's Delivery Context
> Ontology.

Although these are great technologies and I see the value that they
could add to Widgets overall, the WebApps Working Group has yet to
evaluate the suitability of these specification to Widgets. From our
initial investigation, some of these technologies have the potential
to significantly complicate widgets as a platform and I am personally
concerned that they could become a barrier to the adoption of Widgets.
Personally, I would like to see the progressive inclusion of the
technologies you mention as they become more prevalent in the mobile
space and as developers start asking for them. I am also of the
opinion that our primary focus right now (version 1.0 of Widgets)
should be on specifying packaging and the core APIs.

>The specific text below related to expression of user agent
> characteristics (via the User Agent, Accept, and Profile headers in
> HTTP requests) is important in the meantime as a standardized way to
> at least disclose web application (and host device) capabilities, but
> longer term a way of expressing dependencies is important also.
>

I agree conceptually with what you are saying, though I have concerns
about the Profile headers side of things.

>
> Re R16 Visual Rendering Dimensions: the text states that there must be
> a way of declaring initial dimensions in pixels, which is potentially
> at odds with the limited canvas available on many mobile devices.
> Resource/capability expression as described above would at least
> ensure the dimensions were defined in a standardized way.

The requirement reads "A conforming specification SHOULD specify a
means for an author to declare the initial visual dimensions for an
instantiated widget in a way that is device independent (e.g. via CSS
pixels)."

The requirement does not actually state that it must be be pixels (CSS
pixels are an example), just that some means SHOULD be provided to
declare the dimensions.

>
> Other that described in "R28. Network State Change Events", is there
> something specific that can be said re requirements supporting widgets
> that are intermittently connected?
>

The rationale now reads: "To allow authors to programmatically capture
when the widget user agent has acquired or lost a network connection,
particularly for cases when the device intermittently loses and
regains the network connection."

>
> Suggestions for specific text:
>
>
>
> 1) As design goals, a new section 3.1 can specifically introduce the
> mobile web best practices that W3C has developed / is developing. Here
> is some proposed text:
>
> 3.1 W3C Mobile Web Best Practices
>
>
> Some typical use cases for widgets are similar to use cases for mobile
> Web browsing, and will benefit from consideration of objectives and
> constraints similar to the mobile environment, e.g. usability,
> interoperability, and resource efficiency. In particular, widgets that
> are used in mobile devices should behave well as mobile web
> applications,  i.e. as web applications running in mobile devices. For
> widgets in mobile devices or similar contexts, widget specifications
> should take into consideration the W3C recommendations in the Mobile
> Web Best Practices 1.0 and Mobile Web Application Best Practices, and
> where possible provide enabling capabilities so that widgets can more
> consistently comply with the recommendations.
>

I've added the above text to the Widgets 1.0 Landscape document [1],
but not the the Requirement's document. To add this text would mean
that I would need to add sections for "relationship to
internationalization" and "relationship to accessibility" etc.. We
also want to keep this document as small as possible, which is why we
have put all definitions and detailed design justifications into the
Landscape document.

> 2) Add the references:
> MWBP
>
> Mobile Web Best Practices 1.0. J. Rabin, C. McCathieNevile, W3C
> Recommendation, July 2008. Available at
> http://www.w3.org/TR/mobile-bp/
>
> MWABP
>
> Mobile Web Application Best Practices. B. Sullivan. A. Connors, W3C
> Working Draft (Recommendation), July 2008. Available at
> http://www.w3.org/TR/mwabp/
>
>

I added the references, and the "Current development practice or
industry best-practices" design goal now reads: "A conforming
specification needs to consider the development practices currently
used by widget developers and promote relevant industry
best-practices, such as [MWBP] and [MWABP]."

<snipped r21as it is now in a different thread>

>
>
> 3) Re "R36. Open Default System Web Browser", a proposed modification
> (in red/underline below):
>
> A conforming specification SHOULD specify a means that allows authors
> to open URLs in a browsing contexts outside the widget engine.
>
> Motivation:
>
> Current development practice or industry best-practices.
>
> Rationale:
>
> To allow author to open a URL in the default system web browser. For
> example, in a news aggregator widget, to allow the end user to
> navigate to the source of a particular news item. ***Alternatively, if
> the widget has ability to directly present web content, a specific
> resource may exceed its capabilities, thus the user can be offered the
> option of opening the resource in the default system web browser,
> which may have greater capabilities. ***
>

I rewrote your proposed text (and included it in the rationale):
"Alternatively, if the widget deems that a specific content may be
better experienced outside the context of the widget user agent, the
user can be offered the option of opening the resource in the default
system web browser."

>
>
>
> 3) In 4.5 User Agents, add the requirements:
>
>
>
> Rxx. User-Agent Header
>
>
>
> A conforming specification must specify that the widget must identify
> itself in HTTP requests through the  user-agent header, either as the
> complete header or as an extension to the default user-agent header
> provided by the runtime environment.
>
>
>
> Motivation:
>
> Current development practice or industry best-practices, interoperability.
>
> Rationale:
>
> To provide the ability for web servers to determine if it is possible
> to serve the widget, or to adapt to the capabilities or special
> requirements of the widget. For example, a widget may attempt to
> access a service which is not compatible with the widget, and rather
> than provide a possibly incorrect response (which could cause further
> issues with the widget), the web server can provide a specific error
> response noting the incompatibility.
>

Ok, I added this requirement with a few minor changes.

>
>
>

<sniped CCPP requirement into a separate thread>

>
> Rxx. Accept Header
>
>
>
> A conforming specification must specify that if a Profile header is
> not included in HTTP requests, the widget must include all supported
> MIME types for widget resources in the Accept header.
>
>
>
> Motivation:
>
> Current development practice or industry best-practices, interoperability.
>
> Rationale:
>
> To provide the ability for web servers to determine if it is possible
> to serve the widget, or to adapt to the capabilities or special
> requirements of the widget, using semantic methods based upon detailed
> capabilities information provided by the widget.
>

Ok, added this requirement too with a few minor stylistic changes.

>
> Rxx. Default Use of Runtime Environment Configured Proxy
>
>
>
> A conforming specification must specify that by default, widget HTTP
> requests must be made through the proxy server (if any) configured for
> use in HTTP requests issued through the runtime environment or host
> device.
>
>
>
> Motivation:
>
> Security, current development practice or industry best-practices, Web
> and offline distribution, interoperability.
>
> Rationale:
>
> To ensure that widgets can be served in environments for which an HTTP
> proxy is required to be used, or be given value-added services
> available only through the HTTP proxy. For example, the runtime
> environment may be pre-configured to offer proxy services for all HTTP
> clients. Unless the widget has special requirements for use of a
> different proxy, the default proxy configuration should be used.
>
>

I think the current requirement text basically says what your
requirement says, so I kept the current text. I did, however, use your
rationale text.

Thanks again for taking the time to provide feedback and for the new
requirements. I'm looking forward to discussing some of these issues
MWBP has raised further.

Kind regards,
Marcos

[1] http://dev.w3.org/2006/waf/widgets-land/Overview.src.html
-- 
Marcos Caceres
http://datadriven.com.au

Received on Thursday, 14 August 2008 09:46:15 UTC