Copyright © 2007 W3C® (MIT, ERCIM, Keio), All Rights Reserved. W3C liability, trademark and document use rules apply.
This document is the Problem Statement referred to in the Charter of the W3C Mobile Web Initiative Best Practices Working Group Content Transformation Task Force. It acts as the specification of the requirements for the guidelines referred to in that Charter.
This document is an editors' copy that has no official standing.
This section describes the status of this document at the time of its publication. Other documents may supersede this document. A list of current W3C publications and the latest revision of this technical report can be found in the W3C technical reports index at http://www.w3.org/TR/.
This draft is a work in progress and has not been approved by the BPWG. It is the second internal draft in HTML.
This document has been produced by the Content Transformation Task Force of the Mobile Web Best Practices Working Group as part of the Mobile Web Initiative . Please send comments on this document to the Working Group's public email list public-bpwg-ct@w3.org, a publicly archived mailing list .
This document was produced under the 5 February 2004 W3C Patent Policy . The Working Group maintains a public list of patent disclosures made in connection with this document; that page also includes instructions for disclosing a patent. An individual who has actual knowledge of a patent which the individual believes contains Essential Claim(s) with respect to this specification must disclose the information in accordance with section 6 of the W3C Patent Policy.
1 Introduction
1.1 Accessing Web Content from Mobile Devices
1.2 Content Transformation Proxies
1.2.1 Advantages of Content Transformation
1.2.2 Issues with Content Transformation
1.2.2.1 Web Presentation
1.2.2.2 Non Web Applications
1.2.2.3 Legal, Moral and Commercial Issues
1.2.2.4 Security Issues
1.2.3 A Note on Terminology
2 Techniques Required
3 Constraints
A References (Non-Normative)
B Acknowledgements (Non-Normative)
While an increasing number of Web sites [Definition: mobile aware] are being designed specifically to tailor their presentation to be suitable for users in a mobile context (see [BestPractices]), many Web sites [Definition: mobile unaware] have been (and continue to be) designed with only the features of desktop browsers in mind. From a mobile perspective, typical issues with the resulting Web pages are:
page layouts assume a screen larger than the device supports;
pages require more memory than the device supports;
the design of interaction with the page assumes that a full qwerty keyboard and mouse are available;
pages use content types that the device does not support.
As a result accessing such a Web page from a mobile device often results in a poor or unusable experience (The differences between desktop and mobile presentation are discussed in more detail in [BestPractices] - 2 Requirements).
Some Web sites [Definition: mobile blocking], aware that access is not from the expected desktop context, send an HTTP error status code indicating that they cannot present an acceptable experience for the user, thus preventing access from mobile users.
Mobile operators, search engines and others recognize that while the number of mobile friendly Web sites is growing, there will remain a considerable number of mobile unaware and mobile blocking sites. So in order to provide a more satisfactory user experience of the Web to mobile users, an intermediary is inserted in the communications path between the user agent and the origin server. These intermediaries, known as [Definition: content transformation proxies] (see 1.2.3 A Note on Terminology) adjust HTML pages designed for desktop presentation to provide an enhanced user experience when accessed from a mobile device.
Content transformation proxies typically work by masquerading as desktop browsers, fetching content and then modifying it before returning it to mobile devices. These transformations include:
character encoding corrections,
image reformatting and resizing,
layout modifications and page segmentation,
multi step JavaScript transaction emulation.
Content transformation proxies can also add content to, or remove it from a page.
The principal advantage of Content Transformation is that provides the ability for mobile users to enjoy a Web experience even though a large number of Web sites that are mobile unaware or mobile blocking.
Content transformation also offers opportunities to site designers, allowing their sites to be served to a wide range or devices while freeing them from having to detect and keep up to date with the capabilities of new devices.
By presenting requests as though they came from a different device, Content Transformation prevents mobile aware sites from detecting the actual mobile devices behind the request. As a result, mobile aware sites whose purpose is to provide mobile compatible pages or mobile compatible content like ring-tones or Java applications are unable to operate correctly. Such sites require information about the actual device.
When mobile aware sites send content to devices, they often choose to deliver very specific variations on their content tailored exactly for the device. Any attempt by a content transformation proxy to change the content may very well destroy or in any case decrease the value of the content. For example, a site which delivers ring tones or wallpaper which it tailors exactly to devices' characteristics may be rendered useless if the audio format is changed, or less valuable if the colour depth of an image is reduced to something below that which the device is capable of rendering.
Some Web sites cater for both desktop browsers and mobile devices, especially when the site recognises that the device has a browser that is capable of providing a 'full screen' presentation mode. In these cases the user of the mobile device may be prevented from exercising their choice of presentation and may be unable to access either the site's mobile or desktop presentation in its original form.
In the mobile Internet, just like the Internet as a whole, communication between a client and a server is not confined to Web applications. In the mobile world, however, use of HTTP as a bearer for other applications is, if anything, even more prevalent. Services are often designed this way as a result of there being no access to TCP sockets on clients, or fears of non-transparency of gateways. Examples include:
J2ME client applications
native applications (Symbian for Symbian devices, Microsoft for Microsoft devices, etc.)
Adobe Flash applications
SVGT documents
Ajax applications embedded in HTML
There are many other examples, but these are sufficient to illustrate a point: not all clients using HTTP as a communication protocol with an origin server are interested in "content transformation". In fact, transformation may break the semantics of the client-server communication and render the application completely useless.
A further issue concerns the limits of acceptable content transformation and to what degree content providers can reasonably expect to remain in control of how their content is presented.
Some content providers may feel that, for whatever reason, their content should not be fragmented, or their images removed or transformed. In a medical application, for example, it may be essential that an image is presented in its original format.
An example of the commercial issues is removing advertising banners from the origin server and perhaps even replacing them with new advertisements adapted for the specific user agent. This is obviously controversial because it hi-jacks an advertising revenue stream from the origin server.
This section could usefully move to an appendix I think
In [HTTP], various types of intermediary are described:
A proxy is a forwarding agent, receiving requests for a URI in its absolute form, rewriting all or part of the message, and forwarding the reformatted request toward the server identified by the URI.
A gateway is a receiving agent, acting as a layer above some other server(s) and, if necessary, translating the requests to the underlying server's protocol.
A tunnel acts as a relay point between two connections without changing the messages; tunnels are used when the communication needs to pass through an intermediary (such as a firewall) even when the intermediary cannot understand the contents of the messages.
The term "content transformation proxy" has become popular for a special type of gateway: one that transforms content as described above. The term "content transformation gateway" would perhaps have been a better choice or maybe even "content transformation proxy gateway", since the relevant server technology actually is both a proxy and a gateway.
JR: I think we should consider how well this now fits with the preceding chapter. One possibility would be to weave in the various bullets as broken out sections in the above - i.e. more clearly tie the technique required to the issue that it addresses??? On the other hand, having a section like this does allow the techniques to be presented together. Either way, I think it needs review to make sure it hangs together with the problem statement.
This section identifies techniques that facilitate the benefits of Content Transformation, while mitigating the undesired issues that can arise. Techniques are needed to enable content transformation proxies to be used, so that mobile devices can access mobile aware, mobile unaware and mobile blocking sites, providing mobile device users the maximum possible access to the Web.
Note:
While the Working Group's charter refers specifically to mobile, the Working Group recognises that the issues here relate to any non-desktop presentation of content. Hence in the following we refer to the problem in a more general form.
Techniques need to be identified or designed to enable the following:
Identify what representations are available for a resource.
Indicate a user's or site designer's intent to intermediary proxies.
Identify specifically tailored content in a response.
More generally, ascertaining that a representation of a resource is suitable for the user's delivery context either because the resource has been so described (using a WDR or some other type of label), or from the nature of the representation of the resource.
Enable site designers to provide content transformation hints to intermediary proxies, e.g. to identify the "most important" parts of a resource.
In particular to promote awareness of the "Cache-Control: no-transform" HTTP directive, or other mechanism for allowing content authors to prohibit transformation of a resource by intermediaries.
Elaborate an origin server's description of a resource (WDR, label etc.) to allow intermediaries to adjust the description of the properties of the resource when accessed via those intermediaries.
Identify all actors in the delivery context so that they can find out about each other
Identify the originating user agent and its capabilities to intermediary proxies and the origin server
Identify an intermediary proxy's capabilities (including transformation capabilities) to other intermediary proxies and the origin server
While providing accurate user agent information, work effectively with an origin server that is unaware of the negotiation techniques described above, and so avoid that server responding that it does not support a user agent.
When considering these issues to take into account the work of the W3C MWI DDWG relating to definition of device capabilities.
If necessary note the need for a consistent representation of device and intermediary capabilities.
Enable user control of the experience - e.g. deciding whether they want the desktop or mobile experience when there is a choice, noting that while it is important to make assumptions about the user's context to try to provide an appropriate experience, those assumptions may be wrong.
The impact of content transformation on security needs to be considered and any recommendations made. In particular, consideration needs to be given to the possibility of "man in the middle" security attacks.
The implications of operations such as advert insertion and similar changes to original content needs to be considered and any recommendations made.
The BPWG, and hence the Content Transformation Task Force, is not chartered to create "new technology", rather it is chartered to advise on the use of existing technology. Hence the techniques should operate within existing technology.
That said, the Task Force is free to suggest new mechanisms and enhancements to existing mechanisms to other W3C groups that are chartered with the development of such technology.