Re: TWO Change proposals for ISSUE-41 : Distributed Extensibility

On Mar 16, 2010, at 5:10 PM, Jonas Sicking wrote:

>
> However Microdata, RDFa (and soon @profile) are great proofs that the
> HTML5 spec already has the ability to be extended in ways similar to
> SVG, MathML and FBML.
>
> All that anyone needs to do is to write up a specification for their
> extension and they're done. So for example Facebook could publish a
> spec for FBML somewhere on their site, and then anyone could use FBML
> in HTML.

I think Microdata and RDFa are good examples of standardized  
extensions. However, as a browser engine developer, I would like the  
ability to do vendor extensions (either experimental or not intended  
for public Web content) without stepping on valuable shared namespace.  
We have a decent way to do that with CSS properties using the vendor  
prefix convention(*). It would be nice to have something similar at  
the HTML level. It seems like Rob's proposals (either X or Y) would  
provide ways to do that.

Historically, vendor extensions to HTML have all been done by simply  
minting new elements and attributes with unprefixed names, often  
making it harder to clean up the way these features work as part of  
the standards process.

For DOM APIs, in WebKit we have tried to use a prefix for anything  
that's experimental or not far enough along the standards track, and  
we hope other browser engine teams consider a similar convention.  
However, it's harder to centralize such a convention since the set of  
APIs available in the browser is defined by many different specs.

Regards,
Maciej

* - I know that there are some downsides to the CSS vendor prefixed  
property convention - often it leads to sites specifying have a dozen  
copies of essentially the same property. I think part of the problem  
is that, by convention of the CSS WG, properties are supposed to be  
considered experimental until the relevant spec is in CR. While this  
reduces the change that it will become hard to make needed changes, it  
probably leaves properties in "experimental" state a little too long.

Received on Wednesday, 17 March 2010 01:19:00 UTC