Which Spec Do I Use?

By Alexander Jones,

Introduction

Specifications have become essential reading for anyone who wants to develop front-end web sites properly using the newest and most brilliant features available to them today. This article will hopefully give you a clue as to which one (of several) to look at when learning about HTML5 and why it should help you; One of the main problems is that the W3C specifications are often written for implementors not authors ("implementors" are browser and tool makers, and "authors" are web developers) and they seem dry and hard to digest.

1. The Main Specs

HTML - Living Standard by WHATWG

This HTML spec on WHATWG is a superset of the HTML5 spec, the difference is that it includes post-HTML5 features that have been put into separate specs such as Web Video Text Tracks, but importantly are still apart of HTML5.
I personally would use this specification if, as a developer, I wanted to be involved in the future development of the spec. It frequently changes, which is a good thing if you like to keep on top of what's new with the standard and of browser changes, and you'll be able to keep track of new features that are not in the official HTML5 spec.

html-living-standard-whatwg image
http://www.whatwg.org/specs/web-apps/current-work/multipage/

HTML5 A vocabulary and associated APIs for HTML and XHTML by W3C

This specification is the HTML5 spec on the W3C site and is the spec being prepared for "last Call" at the moment (May 2011). I'd advise using this specification if you're not bothered about keeping up to date with the constant HTML5 developments, the spec is alot smaller than other specifications available because it doesnt include the areas that have been turned into their own specifications - like Canvas 2D API and Microdata.

HTML5-vocabulary-associated-APIs image
http://dev.w3.org/html5/spec/

Web Applications 1.0

With a photo of a Kitchen Sink on the home page to give an indication of it's work, this specification houses everything that the WHATWG is currently working on. This specification is useful to find out information about Web Storage, Web Sockets API and Server-sent Events. The disadvantage of this spec is that it doesnt have the ability to hide the implementor details (the dry bits, if you're a developer!).

web-application-1 image
http://www.whatwg.org/specs/web-apps/current-work/complete/

2. Cut Down Specifications

HTML5 for Web Authors

The HTML5 for Web Authors specification removes the implementation details intended for browser makers and adds some stlying, making it more accessible to a developer and easier to read. It has recently been updated and is especially useful for finding out about the JavaScript API's.

html5-edition-for-authors image
http://dev.w3.org/html5/spec-author-view/

HTML5: The Markup Language Reference

This is a really excellent quick reference for authors, it describes the syntax, structure and semantics of HTML5 with the idea that it's easy to read, concise and to the point. This is really useful when you want to quickly remind yourself of the essentials of HTML5 or perhaps learn about things you didnt already know, and it provides useful links back to HTML5 for Web Developers which provides more detailed information.

html5-markup-language-reference image
http://dev.w3.org/html5/markup/

HTML5 for Web Developers

This specification removes the implementation details intended for browser makers, and includes things that the W3C's HTML5 spec doesnt like Microdata, the site has really easy to use functionality like instant searching and the design is really well thought out. This spec will keep on getting better and better hopefully and is my recommendation as a developer. Another great feature is that it's on GitHub, making it the only specification one can easily contribute to.
Huge credits go out to Ben Schwarz and WHATWG because it's ace.

html5-for-web-developers image
http://developers.whatwg.org/

5. Conclusion

Personally I like to use a combination of specifications, this helps me to keep up to date with what's changing and removes the problem of using features of HTML5 that have changed or are likely to change. HTML - A Living standard, HTML5: The Markup Language Reference and HTML5 for Web Developers provide a great base and house more than enough information to keep well in-the-know as it were. All of the specifications are useful but as a developer the most valuable to me is the HTML5 for Web Developers.

The Next Step

The next step is to get involved and find out as much as you can about the HTML5 specification, learn from it and contribute in the following ways: