W3C

List of comments on “Content Transformation Guidelines 1.0” (dated 1 August 2008)

Quick access to

There are 85 comments (sorted by their types, and the section they are about).

1-20 21-40 41-60 61-80 81-85

general comment comments

Comment LC-2025
Commenter: casays <casays@yahoo.com> (archived message)
Context: Document as a whole
Not assigned
Resolution status:

In general, I must state unequivocally that our experience with
current transformation proxies deployed throughout the world has
always been negative, since all proxies seem to transform original
mobile content regardless, with results ranging from passable to
outrageously unusable. The draft, while an interesting attempt to
bring some order in the wild practices that abound in the mobile Web,
is still vague and incomplete in several points, and thus, in its
present form, may not stem some of the more egregious forms of
transcoding we have witnessed so far.
(space separated ids)
(Please make sure the resolution is adapted for public consumption)

Comment LC-2097: OPES
Commenter: Barry Leiba <leiba@watson.ibm.com> on behalf of IAB (archived message)
Context: Document as a whole
assigned to Jo Rabin
Resolution status:

To the W3C Mobile Web Best Practices Working Group:

The Internet Architecture Board has reviewed the subject document, and notes that
it has previously reviewed related work done in the IETF in the Open Pluggable
Edge Services (OPES) Working Group. In its preview and review of OPES work, the
IAB expressed its concerns about privacy, control, monitoring, and accountability
of such services in RFC 3238 [ http://tools.ietf.org/html/rfc3238 ].

We have no specific architectural concerns with the "Content Transformation
Guidelines" document as written; it does seem to take into account the questions
raised during the OPES discussions. We would like, though, to make that explicit
by specifically documenting that you reviewed and considered the issues in RFC
3238.

Barry Leiba, for the Internet Architecture Board ( http://iab.org )
(space separated ids)
(Please make sure the resolution is adapted for public consumption)

Comment LC-2043
Commenter: Mark Baker <distobj@acm.org> (archived message)
Context: Document as a whole
assigned to Jo Rabin
Resolution status:

Here's my comments. In summary, the group really needs to decide
whether this is a guidelines document, or a protocol. It can't be
both. A lot of work remains.
(space separated ids)
(Please make sure the resolution is adapted for public consumption)

substantive comments

Comment LC-2089: Basic Content Tasting
Commenter: Heiko Gerlach <heiko.gerlach@vodafone.com>
Context: in
assigned to Jo Rabin
Resolution status:

Old text
Request resource with original headers

If the response is a 406 response:

If the response contains Cache-Control: no-transform, forward it

Otherwise re-request with altered headers

If the response is a 200 response:

If the response contains Vary: User-Agent, an appropriate link element or header, or Cache-Control: no-transform, forward it

Otherwise assess whether the 200 response is a form of "Request Unacceptable"

If it is not, forward it

If it is, re-request with altered headers

BUT WHERE IS THE TRANSCODING?
New Text:

Request resource with original headers

If the response is a 406 response:

If the response contains Cache-Control: no-transform, forward it

Otherwise re-request with altered headers

If the response is a 200 response:

If the response contains Vary: User-Agent, an appropriate link element or header, or Cache-Control: no-transform, forward it

Otherwise assess whether the 200 response is a form of "Request Unacceptable"

If it is not, TRANSCODE it

If it is, re-request with altered headers
B.1
(space separated ids)
(Please make sure the resolution is adapted for public consumption)

Comment LC-2065
Commenter: Dennis Bournique <db@wapreview.com> (archived message)
Context: Document as a whole
assigned to Bryan Sullivan
Resolution status:

My name is Dennis Bournique. I write about mobile browsing, primarily from a user perspective, at http://wapreview.com. I've done a little web development, mostly mobile specific sites, but I'm by no means an expert on the technical side of this issue.

Putting on my user hat, I'd like to make a request that the Content Transformation Guidelines include a requirement that content transformation proxies "must" provide end users (consumers of web content) with a way to turn off transformation both globally and on a site by site basis.

As an end user, I’ve experienced both the joys and the frustrations of using content transformation proxies.

In general, I believe in content transformation as a valuable tool to make web content, which would otherwise be difficult or impossible to use, available through the limited browsers of many mobile phones.

I have also been frustrated when a carrier or content provider unilaterally imposes content transformation with no way for me to disable it. I've been unable to access content through content transformation proxies that was previously available on the same device using a direct connection. This has happened both with installable content such as midlets and ringtones and also with pure html and xhtml pages, including mobile optimized pages and those that are not. I have also seen my secure end to end HTTPS traffic being forced through content transformation proxies, exposing it to the potential for a "man in the middle" attack.

I understand that the Guidelines are intended to prevent these sorts of problems by specifying when content transformation proxies must allow content to flow directly between server and user agent without modification. This is good, but no technical solution can ever be perfect. There will always be edge cases where content transformation does more harm than good. For this reason it is important that end users have the option to opt-out of content transformation.

I propose that the Guidelines be amended to include the following or similar language.

"...1. Content transformation proxies, if they are modifying traffic between a server and a user agent in any way, MUST provide a mechanism allowing the end user to resubmit the request and disable content transformation for the duration of the current session."

"...2. Content transformation proxies, must provide a means for end users of that proxy to disable all content transformation until they take explicit action to re-enable it."
(space separated ids)
(Please make sure the resolution is adapted for public consumption)

Comment LC-2018
Commenter: C. M. Sperberg-McQueen <cmsmcq@acm.org> (archived message)
Context: Content Transformation Guidelines 1.0
assigned to Sean Patterson
Resolution status:

Would it perhaps be better to give this specification a more informative
title, or at least some sort of informative subtitle?

The phrase "Content Transformation" sounds to an uninitiated reader
as if it could apply to anything from the use of the data manipulation
language (e.g. SQL) in a database management system, to the use of
XSLT, or the SAX or DOM interfaces, to transform XML documents, to
the use of dynamic HTML techniques to transform data in the browser.

Perhaps "Mobile Web Content Transformation"? Or "Content Transformation
for Mobile Presentation"? Surely there are ways of making it easier
for potential readers to see whether the document is relevant to their
concerns or not.

This isn't the first W3C spec to have such a generic title; the
experience
of the XML Schema specification, however, leads me to commend to you
urgently the wisdom of have a more specific, more informative, less
generic title for your document.

--Michael Sperberg-McQueen
W3C XML Activity
(space separated ids)
(Please make sure the resolution is adapted for public consumption)

Comment LC-2050
Commenter: casays <casays@yahoo.com> (archived message)
Context: 2.2 Types of Transformation (Alteration of requests)
assigned to Sean Patterson
Resolution status:

1) Section 2.2.1:

The CTG distinguishes between retructuring, recoding and
optimization. This is a useful approach, and the distinction
could be used more systematically across the document. However,
without a formal definition of these terms, various parties
are left with too much leeway when classifying some operations
one or the other of the categories. This may entail inconsistencies
regarding the interpretation of the guidelines.

The guidelines should:
a) Define formally each of the three categories, possibly on
the basis of language theory. As an example, optimization seems
to be related to equivalent token streams (for textual content),
whereas recoding seems to deal with equivalent parse trees. Some
operations are reversible, others are not. The W3C is home to
technologies such as XSLT, so there should be competence there
to help ground definitions on solid formal concepts. Basing such
definitions on formal language theory is a suggestion, not a
requirement; other formally grounded definitions are possible.
b) Define exactly how to classify an operation that spans several
categories. As an example, converting HTML to XHTML while at the
same time eliminating comments and redundant white space should
amount to a recoding.
(space separated ids)
(Please make sure the resolution is adapted for public consumption)

Comment LC-2067
Commenter: Mark Nottingham <mnot@mnot.net> (archived message)
Context: 3.4 Content Deployment Conformance (Also concerns "3.5 Transformation Deployment Conformance")
assigned to François Daoust
Resolution status:

* Section 3.4 / 3.5 "A [Content|Transformation] Deployment conforms to
these guidelines if it follows the statements..." What does "follows"
mean here -- if they conform to all MUST level requirements? SHOULD
and MUST?
(space separated ids)
(Please make sure the resolution is adapted for public consumption)

Comment LC-2003
Commenter: Luca Passani <passani@eunet.no> (archived message)
Context: 4.1 Proxy Forwarding of Request
assigned to Jo Rabin
Resolution status:

Also, I see that CTG does not mention "whitelists". I think it should, since many transcoders manage that. The rule (consistently with the concept that transcoders must err on the side of not transcoding) should be that whitelists can only specify which potentially mobile sites can be forced to be trascoded (and not the other way around as happens to be common today, thus potentially forcing mobile developers to ask operators in different countries to whitelist their service, which is of course unacceptable).
(space separated ids)
(Please make sure the resolution is adapted for public consumption)

Comment LC-2034
Commenter: Mark Baker <distobj@acm.org> (archived message)
Context: 4.1.1 Applicable HTTP Methods
Not assigned
Resolution status:

4.1.1 Applicable HTTP Methods

"Proxies should not intervene in methods other than GET, POST, HEAD and PUT."

I can't think of any good reason for that. If a request using an
extension method wants to avoid transformation, it can always include
the no-transform directive.
(space separated ids)
(Please make sure the resolution is adapted for public consumption)

Comment LC-2019
Commenter: casays <casays@yahoo.com> (archived message)
Context: 4.1.1 Applicable HTTP Methods
Not assigned
Resolution status:

1) Section 4.1.1

Add to the section:

Proxies MUST NOT convert POST methods into GET ones, or vice-versa.

Rationale: This kind of transformation may make exchanges between
clients and servers inoperative. In particular, this kind of
substitution has been known to cause problems for content downloading
applications in the mobile Web.
(space separated ids)
(Please make sure the resolution is adapted for public consumption)

Comment LC-2069
Commenter: Mark Nottingham <mnot@mnot.net> (archived message)
Context: 4.1.3 Treatment of Requesters that are not Web browsers
assigned to Bryan Sullivan
Resolution status:

* Section 4.1.3 "Proxies must act as though a no-transform directive
is present (see 4.1.2 no-transform directive in Request) unless they
are able positively to determine that the user agent is a Web
browser." How do they positively" determine this? Using heuristics is
far from a guaranteed mechanism. Moreover, what is the reasoning
behind this? If the intent is to only allow transformation of content
intended for presentation to humans, it would be better to say that.
In any case, putting a MUST-level requirement on this seems strange.
(space separated ids)
(Please make sure the resolution is adapted for public consumption)

Comment LC-2044
Commenter: Jim Jewett <jimjjewett@gmail.com> (archived message)
Context: 4.1.3 Treatment of Requesters that are not Web browsers
assigned to Bryan Sullivan
Resolution status:

http://www.w3.org/TR/2008/WD-ct-guidelines-20080801/


Section 4.1.3 ...

""'
The mechanism by which a proxy recognizes the user agent as a Web
browser should use evidence from the HTTP request, in particular the
User-Agent and Accept headers.
"""

Please clarify -- is this just the *existence* of those headers, or
the specific values? If it is the specific values, then please
provide some guidance (or a normative alternative) that new user
agents can use, before their names propagate to various whitelists.

-jJ
(space separated ids)
(Please make sure the resolution is adapted for public consumption)

Comment LC-2017
Commenter: Terren Suydam <terren@singleclicksystems.com> (archived message)
Context: 4.1.5 Alteration of HTTP Header Values
assigned to Jo Rabin
Resolution status:

Hello,

As the technical lead for SingleClick Systems mobile development, I'm
writing to protest the W3C's failure to provide a clear rule against the
modification of the User-Agent header.

As mobile developers, my team spends a lot of time creating the mobile
experience *we* want our users to see. If our users are subjected to the
confusing experience of transcoding, we lose money.

I urge the W3C to adopt the standards set forth by Luca Passani's
Manifesto, of which I'm sure you're aware.

Sincerely,
Terren Suydam
(space separated ids)
(Please make sure the resolution is adapted for public consumption)

Comment LC-1996
Commenter: Luca Passani <passani@eunet.no> (archived message)
Context: 4.1.5 Alteration of HTTP Header Values
assigned to Jo Rabin
Resolution status:

- the styleguide should spell out very clearly "The Transcoder is NOT
allowed to change the User-Agent String".
I understand that the current document says "do not change headers", but at the same time, there are clauses ("the user has specifically requested a restructured desktop experience") which would allow abusive transcoders to find an excuse and keep being abusive of the rights of content owners. Preventing transcoders from changing the UA string is an effective way to avoid this abuse.
(space separated ids)
(Please make sure the resolution is adapted for public consumption)

Comment LC-2049
Commenter: casays <casays@yahoo.com> (archived message)
Context: 4.1.5 Alteration of HTTP Header Values
assigned to Jo Rabin
Resolution status:

5) Section 4.1.5.

Statement to be added:

"The request MUST NOT be altered Whenever the URI of the
request indicates that the resource being accessed is able
to provide mobile-optimized content, e.g. the domain is
*.mobi, wap.*, m.*, mobile.*, pda.*, imode.*, iphone.*,
or the leading portion of the path is /m/ or /mobile/."

Rationale: The guidelines make the assumption that all
requests may first undergo a transformation before possibly
falling back on a transformationless mode of operation.
This is unwarranted, and does not correspond to the way
many deployed proxies operate.

Obviously, it is rather pointless to go all the way to
send a request to the server and wait for its response
in order to detect whether the resources accessed are for
mobile use, when it is already possible to do this by
inspecting the request of the client. The addition to the
guidelines covers this situation, and corresponds to the
state of the art in transformation proxies. It is also
consistent with the heuristic serving to determine whether
a response is already mobile-optimized. Following this
new guideline improves the performance of the entire
content delivery chain without loss of functionality,
and is congruent with the stated objective of the
guidelines of not disturbing mobile-optimized content.
(space separated ids)
(Please make sure the resolution is adapted for public consumption)

Comment LC-2036
Commenter: Mark Baker <distobj@acm.org> (archived message)
Context: 4.1.5 Alteration of HTTP Header Values
assigned to Jo Rabin
Resolution status:

4.1.5 Alteration of HTTP Header Values

RFC 2616 already says a lot about this. See sec 13.5.2 for example.

"The theoretical idempotency of GET requests is not always respected
by servers. In order, as far as possible, to avoid mis-operation of
such content, proxies should avoid issuing duplicate requests and
specifically should not issue duplicate requests for comparison
purposes."

First of all, do you mean "safe" or "idempotent"? That you refer only
to GET suggests safety, but the second sentence suggests you are
referring to idempotency. So please straighten that out. Oh, and
there's nothing "theoretical" about GET's safety or idempotency; it's
by definition, in fact.

Secondly, if the server changes something important because it
received a GET request, then that's its problem. Likewise, if it
changes something non-idempotently because it received a PUT request,
that's also something it has to deal with. In both cases though, the
request itself is idempotent (and safe with GET), so I see no merit to
that advice that you offer ... unless of course the problem you refer
to is pervasive which clearly isn't the case.

I also wonder if most of 4.1.5 shouldn't just defer to 2616. As is,
large chunks of this section (as well as others) specify a protocol
which is a subset of HTTP 1.1. (see also the RFC 2119 comment above)
(space separated ids)
(Please make sure the resolution is adapted for public consumption)

Comment LC-2038
Commenter: Mark Baker <distobj@acm.org> (archived message)
Context: 4.1.5 Alteration of HTTP Header Values
assigned to Jo Rabin
Resolution status:

The rest of the 4.1.5.* sections all seem to be basically "Here's some
things that some proxies do". By listing them, are you saying these
are good and useful things, i.e. best practices? If so, perhaps that
should be made explicit.
(space separated ids)
(Please make sure the resolution is adapted for public consumption)

Comment LC-2071
Commenter: Mark Nottingham <mnot@mnot.net> (archived message)
Context: 4.1.5 Alteration of HTTP Header Values
assigned to Jo Rabin
Resolution status:

* Section 4.1.5 Bullet points one and 3 are get-out-of-jail-free cards
for non-transparent proxies to ignore no-transform and do other anti-
social things. They should either be tightened up considerably, or
removed.
(space separated ids)
(Please make sure the resolution is adapted for public consumption)

Comment LC-2053
Commenter: casays <casays@yahoo.com> (archived message)
Context: 4.1.5 Alteration of HTTP Header Values
assigned to Jo Rabin
Resolution status:

5) Section 4.1.5.

Statement to be added:

"In so far as the transformation carried out by the proxies is
to make content intended for a certain class A of devices
available to devices of another class B, then requests MUST NOT
be modified whenever a client of a certain class is accessing
content intended for its class.

If the class of request (either mobile-optimized or full-Web) is
not unambiguously determined from the URI pattern, the proxy
MUST take into account the original user-agent to avoid
unnecessary transformations."

Rationale: It is obviously pointless to transform full-Web
content accessed by full-Web capable devices (or vice-versa,
transforming mobile-optimized content for devices with mobile
browsers). Two cases illustrate the situation.
a) When full-Web devices such as advanced HTC PDAs, iPhones
or tablets access the Web, there is no guarantee that an
established server will include a no-transform directive; in
fact, it might explicitly leave it out to allow transformation
to cater for non-full-Web capable devices. Further, the
proposed heuristics will not work: the MIME types of returned
content will indicate full-Web content (e.g. text/html), as
well as the DOCTYPE (e.g. -//W3C//DTD HTML 4.01//EN).
b) When i-Mode terminal accessing i-Mode applications, there is
no guarantee that the corresponding servers return a no-transform
directive (since it is irrelevant for i-Mode applications).
Heuristics may not work either, since content is largely returned
as text/html, and without any DOCTYPE declaration.
(space separated ids)
(Please make sure the resolution is adapted for public consumption)

1-20 21-40 41-60 61-80 81-85

Add a comment.


Developed and maintained by Dominique Hazaël-Massieux (dom@w3.org).
$Id: Overview.php,v 1.46 2013-10-04 08:11:33 dom Exp $
Please send bug reports and request for enhancements to w3t-sys.org