Bug 478665: HTML5 spec without all the new features

An interesting discussion is happening on Mozilla's bugzilla about subsetting HTML 5, kicked off by Robert Sayre:

Bug 478665: HTML5 spec without all the new features via Sam Ruby: "Robert Sayre: I often say there should be an HTML5 spec without all the invention. I used my spare time today to press the delete key for a bit. I'm just using this bug to keep track...

My document is roughly 1.7MB at this point. Ian's version is about 2.6MB.

I'm sure there are many dangling references. In particular, the removal of
WebForms2 is not complete. Here is a list of changes I've made so far:
1.) Cut most of the introduction. Use one similar to HTML 4.01.
2.) Eliminate most of the conformance requirements section. It was very
repetitive, sometimes contradictory, and contained enough loopholes to make it
3.) Remove Communication Section
4.) Remove Command APIs
5.) Remove Drag and Drop API
6.) Remove Datagrid API
7.) Remove Structured client-side storage
8.) Remove Undo history
9.) Remove Rendering
10.) Remove "Things that you can't do with this specification..."
11.) Remove Time microsyntax in preparation for deleting all features that
depend on it
12.) Remove DOMStringMap and dataset
13.) Remove video and audio elements, media elements, source element
14.) Remove MathML and SVG sections from Embedded Content
15.) Remove figure element
16.) Remove img element examples and alt text guide. Author's guide would be
good for this.
17.) Remove section, nav, article, aside elements
18.) Remove header/footer element
19.) Remove "headings and sections" and "creating an outline"
20.) Remove time element
21.) Remove progress and meter elements
22.) Remove the mark element
23.) Remove details and datagrid elements
24.) Remove command and bb elements
25.) Remove DOM Feature Strings
26.) Remove "Features defined in other specifications"
27.) Remove "Common conformance requirements for APIs exposed to JavaScript"
28.) Remove DOMTokenList and relList and classList
29.) Remove "Common Grouping Idioms"
30.) Remove the dialog element
31.) Remove the output element
32.) Remove hyperlink auditing (ping)
33.) Remove autofocus attribute
34.) Remove sandbox and seamless
35.) Remove registerProtocolHandler, etc
36.) Remove hidden attribute
37.) Remove Constraint Validation
38.) Remove History section"

Ian Hixie:

"HTML5's scope description is here:

Basically, it's about taking the Web platform forward and making HTML5 suitable
for more document and application types, merging the HTML, XHTML, and DOM HTML
specs into one coherent design.

It's hard to review your document without a better sense of where you're
heading (for example, where you're heading determines whether or not having the
rendering section is necessary). From the way you responded to the questions
above it almost sounds like it's just "HTML5 with Rob Sayre's pet peeves
removed", which is probably not the most useful document! I think there is
definitely a need for a document that is either HTML4-done-right or
HTML5-without-new-features. I'm not sure it makes sense to have a mishmash,

I agree with the idea of making HTML 5 smaller; however, it feels like Robert is cutting out all the good stuff. I want an HTML 5 that lets me embed video; tells me how to use SVG in normal HTML; gives me better semantic elements like ARTICLE; gives me client-side storage; let's me throw away the Really Simple History library I wrote by giving me proper Ajax History support; let's web apps be first-class citizens with protocol handlers; helps the web to compete with Flex by having a first-class datagrid element; etc. Let's not throw the baby out with the bath water :)

I do have to say, though, that if this becomes essentially HTML 4.1 + Canvas as someone proposed on the bug, I think it will be a failure unfortunately. We need to learn from the XHTML experience: if you don't have significant new features or a compelling set of needs to adopt a spec, it will not have significant adoption just because it 'cleans things up' as an HTML 4.1 spec would do.


Rob Sayre said…
Hi Brad,

I don't want to "throw away" any of the features in HTML5. I'm just working on a document that doesn't include them.

Also, I don't want Ian to stop at all. Hopefully Ian's timeline will prove accurate. However, you won't get all of the features you asked for in Ian's document, either. For example, Client-side storage is currently "Marked for extraction". That's Ian's way of saying he plans to remove the feature from HTML5 and create a separate spec.

The comparison to XHTML is pretty bogus, if you ask me. That used a radically different philosophy from these proposed HTML revisions (the approach in my edited version is mostly the same as Ian's, but there are some differences).
Sam Ruby said…
"I agree with the idea of making HTML 5 smaller; however, it feels like Robert is cutting out all the good stuff."

Do you like this schedule? If not, what would you cut?