Planned Modifications to the DOM
In addition to element changes, the WHATWG specification introduces features to the DOM that are intended to simplify authoring web-based applications. The specification defines features present in the DOM as "DOM5 HTML." DOM5 HTML consists of DOM Core Document nodes and DOM Core Element nodes, along with text nodes and other content.
All Document objects found in components that implement the WHATWG specification must also implement a new HTMLDocument interface, along with any document-level interface of any other namespaces found in the document that a given user agent (UA) supports.
The nodes representing HTML elements in the DOM must implementand expose to scriptsthe interfaces listed for them in the relevant sections of the WHATWG specification.
You can find a comprehensive list of requirements here.
Planned API Changes in HTML5
For documents in the HTML namespace, and for HTML elements in HTML documents, certain APIs defined in DOM3 Core become case-insensitive or case-changing, as sometimes defined in DOM3 Core, and as summarized or required below.
HTML 5 vs. Proprietary Technologies
- Element.tagName, Node.nodeName, and Node.localNameThese attributes will return tag names in all uppercase; regardless of the case with which they were created.
- Document.createElement()This method will convert the argument to lowercase before creating the element. Also, the element created will be in the HTML namespace.
- Element.setAttributeNode()An attribute node will be converted to lowercase before it is set on an HTML element.
- Element.setAttribute()An attribute will be converted to lowercase before it is set on an HTML element.
- Document.getElementsByTagName() and Element.getElementsByTagName()These methods will perform case-insensitive comparisons when looking at HTML elements, and case-sensitive comparisons for non-HTML elements.
- Document.renameNode()If the namespace specified in the new name is the HTML namespace, then the new name will be converted to lowercase before renaming is performed.
Developing web applications with HTML5 allows a developer to take advantage of the ubiquitous presence of HTML and XHTML. However, there are a number of web-application technologies that are available today or are soon to be released. Among these are Java, .NET, and Adobe's Apollo.
Java and .NET are comprehensive application platforms for developing many types of applications. Web applications are a small segment of the capabilities of each. With Java and .NET, additional frameworks such as Struts, Spring, and DotNetNuke are used to build web/enterprise applications.
The primary advantage of using proprietary technologies over HTML5 is the power afforded by proprietary non-conformance to standards. The disadvantage of using proprietary technologies is the reliance on an additional runtime component that must be installed before the applications will run.
Planned Completion Date for HTML5
The details are still being worked out. Different parts of the specification are at different maturity levels. The plan is to indicate the maturity level on a per-section basis. Some sections are already relatively stable and there are implementations that are already quite close to completion, and those features can be used today (e.g. <canvas>). However, according to the current version of the specification, HTML5 won't be completely finished, with test suite and interoperability implemented, for 15 years! Yes, that's correct15 years!
You can follow the official Web Applications 1.0 specification published by the Web Hypertext Application Technology Working Group (WHATWG) to keep up with the maturity level of the various sections.
The WHATWG community publishes a FAQ, blogs, Wiki, forums, etc.
Simon Pieters' page lists all the HTML5 elements and attributes.
Berea Street publishes information about HTML 5.
Anne van Kesteren maintains a blog on W3C, WHATWG, HTML, CSS, DOM, XML, HTTP and more.
Final Thoughts and Predictions
The specification being formalized by the Web Hypertext Application Technology Working Group (WHATWG) known as HTML5 or Web Applications 1.0 will hopefully standardize some of the problems that have arisen from the use of HTML for such things as shopping sites, auction sites, and others. This is a huge undertaking with a far-reaching deadline (15 years). These two issues might prove to be major stumbling blocks for WHATWG.
One item in WHATWG's favor is that backwards compatibility is reportedly a primary concern. Therefore, migration from HTML4 or XHTML1 to HTML5 should in most cases be straightforward.
On the other hand, one item working against WHATWG is the announcement made by the W3C in October of 2006 that it would charter a new HTML Working Group to incrementally improve HTML. Some of these improvements include extending HTML forms to become a superset of HTML and a subset of XForms.
One very aggressive milestone for W3C's charter is that it should reach the recommendation level by 2008 and complete by end-of-year 2010. This might create enough FUD to divide followers of the WHATWG specification. To help combine the two efforts, the HTML Working Group has proposed a call for a formal relationship with WHATWG. This will prove interesting as it develops.