Re: Media Fragments URI parsing: pseudo algorithm code

On Thu, 01 Jul 2010 11:10:29 +0200, Yves Lafon <ylafon@w3.org> wrote:

> On Wed, 30 Jun 2010, Philip Jägenstedt wrote:
>
>> On Wed, 30 Jun 2010 16:22:15 +0200, Yves Lafon <ylafon@w3.org> wrote:
>>
>>> On Wed, 30 Jun 2010, Philip Jägenstedt wrote:
>>>
>>>> You cannot write a robust MF parser based on this grammar, because  
>>>> t=1&foo=bar is not a valid production, meaning that any future  
>>>> extension foo of MF will cause that parser to fail completely. Either  
>>>> the grammar itself must be relaxed, or the parsing must be defined  
>>>> normatively and handle some things which are not valid productions of  
>>>> the grammar.
>>>  What do you mean by "robust" ?
>>
>> I mean that it doesn't stop working completely for future additions to  
>> the syntax, that it should degrade gracefully. If browsers shipped with  
>> a parser
>
> Graceful degrdation should not be mistaken with "betraying intent",  
> while graceful degradation is wonderful in many cases, you always have  
> to be careful.
> ex: http://www.example.com/football.movie?xywh=10,20,30,40&action=track  
> may mean "highlight this part (a ball), and track it", a MF aware client  
> will just crop the identified part. That's not graceful degradation,  
> that is betraying intent (regardless of the fact that the extra  
> action=track might be a bad design).

All dimensions so far are orthogonal. It would be pretty bad language  
design to allow a new property to change the semantics of an old one to  
the point that it is better that both are ignored than only the old one  
being recognized.

> In CSS, properties with unknown values are ignored, to allow both  
> graceful degradation (it doesn't impact _other_ properties) and forbid  
> betraying intent.

Ignoring unknown names/values is exactly what I'm suggesting and what the  
processing sections I wrote mandate.

-- 
Philip Jägenstedt
Core Developer
Opera Software

Received on Monday, 5 July 2010 08:42:04 UTC