MWI Team Blog

Dispatches from members of the W3C Mobile Web Initiative Team

Categories: Current state (32) | Developing Countries (15) | Events (20) | Looking forward (13) | News (42) | Technical (33) |

Content Transformation guidelines — 25 March 2008

There were a few posts [*] over the last few weeks about content transformation, so I thought it was worth mentioning the work in progress here, at W3C, on this particular topic.

Within the Mobile Web Best Practices Working Group, the Content Transformation Task Force was created mid-2007 specifically to bring together operators, content providers, and transcoding proxy vendors and have everyone agree on a set of content transformation guidelines that would improve the user's Mobile Web experience.

It's still a work in progress. The Content Transformation Guidelines document in particular is still a draft, and may completely change in the future. Below is a high-level description of main (and current and thus subject to change!) directions taken by the guidelines.

About HTTP headers spoofing: in an ideal world, there would be no need to change the User-Agent header whatsoever. But many legacy web sites actually return an HTTP 200 response with a message that basically says: "Sorry, I don't know who you are" when requested with a User-Agent they don't know anything about. How much is "many" in the above sentence? Good question. I don't have figures. Do you? Such sites are typically good candidates for content adaptation, and there's no other way for the transcoding proxy to get a meaningful response than to behave as a "desktop" browser...

The guidelines currently recommend a two-step approach:

  • Send the original HTTP request to the server.
  • If the response from the server is a "Sorry, I don't know who you are" response, then try again with a modified HTTP request, possibly changing the User-Agent in particular to whatever is needed to get a response.

The goal is to give the content provider the possibility to answer the original request, while still give the transcoding proxy the possibility to adapt the content. Obviously, the biggest difficulty is to determine what a "Sorry, I don't know who you are" response may be.

About control by the content provider: content providers may use a "Cache-Control: no-transform" directive to tell the transcoding proxy not to perform any transformation. They may also use the "Vary" HTTP header to tell the transcoding proxy that they vary their presentation based on the User-Agent for instance.

About the transcoding proxy decision to transform: the use of the "link" element is being discussed (or, why not, the "Link" HTTP header if it comes back to life at some point), labeling using POWDER seems like a good idea too but POWDER is not completely ready yet, other parameters need to be taken into account. There's no easy answer in the generic case. For instance, although it may help, I doubt the size of the page can be used as a criterion. The same thing goes with the URI patterns: it's certainly useful, but it should not be a switch. At some point, it's going to be up to the transcoding proxy to take that decision. Don't get me wrong, I'm talking about the generic case here, not the one when the Content Provider returned a "Cache-Control: no-transform" or another obvious marker that the response was already mobilized and/or must not be transformed.

The Content Transformation Task Force works in public. The archives of the content transformation mailing-list are in particular publicly available. Feel free to subscribe/take a look at/send comments to that list (using the above link).

You may argue that the content provider's side is not so much represented in the Task Force. Well... Concerns? Comments? Ideas? Transcoding thoughts? We'd be happy to hear them all!

[*] A few recent posts on content transformation:

by Francois Daoust in Permalink

Comments, Pingbacks:

No Comments/Pingbacks for this post yet...

Contacts: Dominique Hazael-Massieux