- From: Karl Dubost <karl@w3.org>
- Date: Sat, 2 Dec 2006 07:22:00 +0900
- To: www-qa@w3.org
- Cc: Andrew Fedoniouk <news@terrainformatica.com>, Ian Hickson <ian@hixie.ch>
I think the discussion makes more sense on www-qa than www-archive
Début du message réexpédié :
> Réenvoyé-De : www-archive@w3.org
> De : Ian Hickson <ian@hixie.ch>
> Date : 2 décembre 2006 01:01:33 HNJ
> À : Andrew Fedoniouk <news@terrainformatica.com>
> Cc : www-archive@w3.org
> Objet : Rép : [whatwg] HTML syntax: shortcuts for 'id' and 'class'
> attributes
> X-Archived-At: http://www.w3.org/mid/Pine.LNX.
> 4.62.0612011558080.4460@dhalsim.dreamhost.com
>
> Taken off www-style since it's so off-topic.
>
> On Thu, 30 Nov 2006, Andrew Fedoniouk wrote:
>>
>> Ian, what does this "backward compatibility" mean?
It seems that the discussion is scoped with user agents, though there
are nuances into that, if we add the notion of specific user agents,
such as authoring tools, such as bots, or repairing software, etc.
Trying to put more contexts about the assertions and think about
them. You are welcome to add your thoughts
> Language v1 is backwards compatible with language v2 if:
>
> * Documents written in language v1 work in UAs for language v2 the
> same way they do in UAs written for language v1.
This is not about the backward compatibility of the language, but
the fact that the product supports the two versions of the language.
For example if the user agent has a way to recognize the version, it
will trigger a specific mechanism to analyze the content of this
specific version.
A product which implements *only* the version 2 of the language and
is faced to a language version 1 must have a defined mechanism to
cope with errors and unknown languages such as a version 1. This can
be defined in the specification of language 2.
> * Documents written in language v1 can have features from
> language v2
> added without affecting parts of the document that do not use
> those
> features.
This is not backward compatibility. A document which stands by its
own has no real value. The document takes its value once it is
processed by a tool (authoring tool, rendering engine, etc, etc.) As
you mention it in the next point.
If there are foreign features in the language version 1, The tools
following the specification with regards to errors will ignore,
recover, etc. with specific mechanisms.
(If the error mechanism has been defined… which is not always the
case.)
> * Documents written in language v2 can display in UAs for
> language v1
> and still be usable (though maybe not all the functionality
> will be
> present).
A product implementing version 1 and only version 1 face to a
document with language version 2 is faced to an unknown document.
Then it doesn't what it is. The specification for language v1 can
define a mechanism for error recovery. If it has not been defined
(which is unfortunately happening too often) the behaviour of the
product is defined by "free to the implementation", which leads to
interoperability nightmares and reverse engineering to try to copy
the behaviour of the dominant product at a point X in time (if the
company and/or the developer(s) of the company have the resources to
do that.)
I wish that sometimes when the error mechanism is left undefined in a
old specification that some implementers produces at least a W3C Note
that will help other implementers to have documents which are more
manageable.
hmmm, I think I should write a bit more on the QA page at W3C about
it. I'm not sure "backward compatibility" really exists or at least
what we label as such in the Web world. :) Often we hide many things
with this.
To see also
http://esw.w3.org/topic/BackwardCompatibility
http://en.wikipedia.org/wiki/Backward_compatibility
--
Karl Dubost - http://www.w3.org/People/karl/
W3C Conformance Manager, QA Activity Lead
QA Weblog - http://www.w3.org/QA/
*** Be Strict To Be Cool ***
Received on Friday, 1 December 2006 22:22:35 UTC