Backward compatibility Fwd: [whatwg] HTML syntax: shortcuts for 'id' and 'class' attributes

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