- From: Tab Atkins Jr. <jackalmage@gmail.com>
- Date: Wed, 2 Dec 2009 17:37:42 -0600
- To: Sam Ruby <rubys@intertwingly.net>
- Cc: Maciej Stachowiak <mjs@apple.com>, public-html <public-html@w3.org>
Per Maciej's request, since we're having trouble with the ESW wiki, here's my change proposal, so that we have a version in w3c-space that can be pointed to and archived: Counter-Proposal for Issue 76 - Keep Microdata in the spec ========================================================== Summary ------- This is a counter-proposal to the current Change Proposal for Issue 76, intended to support keeping Microdata in the current HTML5 spec. It is positioned both as a general (though not exhaustive) argument in favor of keeping Microdata in the spec, as well as an answer to specific arguments in the current Change Proposal. Rationale --------- * All good specs which integrate with HTML5 should, ideally, be a part of HTML5. Inclusiveness promotes greater attention to each part, and ensures that the language evolves in directions which are most helpful. A spec which is separate from HTML5 may find the easiest way to resolve difficulties is to route around them, rather than altering or extending the HTML language itself, which may be the best option overall. * A spec that is designed within HTML5 and one designed outside of it are qualitatively different (see Conway's Law). One designed originally as part of the larger spec tends has a larger "surface area" alongside the rest of the spec, rather than limiting its interaction to a small number of channels. This makes it harder to separate out (though Manu has already done that work) and makes it more vulnerable to incompatible changes in the larger spec. Something which originated within the spec is best kept within the spec or dropped entirely; it should require strong reasoning to separate it out. * Many parts of HTML5 cannot be considered 'mature' and are in fact actively changing, and yet are still part of the spec. It is expected that these sections, Microdata included, will receive implementation attention and experience, and will be amended or dropped as these experiences warrant. Lack of maturity is not a reason for removal of any other part of the spec, and there is no distinguishing feature of Microdata that would warrant it being treated differently. * Microdata does not appear to be in an extreme level of flux to warrant concerns of it holding up HTML5's progression in the standards process. If it turns out to indeed limit the main spec it can be split out at that time, but at the moment this is nothing more than a theoretical concern. In the other direction, it does not seem likely that implementations of Microdata will progress any quicker if it was a separate spec, and so HTML5 cannot be said to be slowing down Microdata's progress either. In the event that Microdata does fail in the marketplace, it can simply be removed from the spec at that time; there does not seem to be any benefit in spending effort to make this action any simpler. * The purpose of the W3C is to advance the web, not to remain neutral in technological conflicts. If one technology under the W3C's purview is better than a competing technology, it is our responsibility to actively decide in favor of it. To do elsewise would be dereliction of our core duty to the web. Microdata and RDFa are directly competing, as they accomplish virtually precisely the same thing; there is no good reason to use both on a page except for gratuitous proliferation of metadata embedding syntaxes. * The Microdata data model is extremely simple for simple, common cases, and is complex only in rare, complicated cases. Its tree-based nature (as a set of nested name/value pairs) matches well with both the HTML language and XML and JSON data storage/interchange formats. The processing model is extremely simple and well-defined, and essentially trivial to implement. The DOM API associated with it makes retrieving metadata from a page via a script in the page extremely simple, broadening the possible usages of Microdata beyond spiders and the like to actually being useful in applications. It is, in short, a simple and intuitive metadata syntax in a field where neither adjective can typically be applied, backed up by user studies that directly informed its design. Removing it from HTML5 would provide no benefit to authors or implementors, and would likely serve only to slow down the development and deployment of a useful tool for authors. Proposal Details ---------------- The Microdata section of the current HTML5 spec remains in the spec, and is not split out into a separate spec. Impact ------ By keeping Microdata in the spec, we encourage more eyes and feedback on it. Experience has shown that attention paid to spin-off specs is much lesser than when they were a section of the main spec. As well, we would be promoting a simple, useful solution to demonstrated existing use-cases. This will allow machine-readable data in general to get where it needs to be faster than if Microdata were split out. ~TJ
Received on Wednesday, 2 December 2009 23:38:22 UTC