Social Media

WHAT EXACTLY IS HTML5?

It’s an exciting time for the web. Intelligent people are coming together to discuss and come up with new ways of doing things and new specifications. There is real interest in creating and enhancing new technologies to do things on the web that haven’t been possible before.

This is a good thing.

There is also a current trend where people are using an umbrella term for all these new web technologies and specifications. The term “HTML5″ is now often being used to mean everything from HTML mark-up, to SVG, CSS and even responsive design!

This is not a good thing.

The HTML5 specification is only one of these new technologies, although probably the biggest and most important. The HTML5 specification reached Candidate Recommendation status in December 2012, and large parts of it have been implemented by many of the major browser vendors.

One big difference between the HTML5 specification and its predecessor, HTML 4.01, is the inclusion of a number of JavaScript APIs. It appears that the inclusion of these APIs into the specification has caused many to see it as a green light to refer to all other newly released JavaScript APIs as being part of HTML5. Some of these, such as the Canvas 2D Context API, were initially part of the HTML5 specification but became so large that a decision was taken to move it to its own API. For this particular API, it makes sense for it to be referred to as “part of HTML5″ as the HTML5 canvas element, which is part of the HTML5 specification, is quite useless without it.

But the inclusion of other API specifications such as the W3C Geolocation API, a brilliant and highly useful API, as being part of HTML5, isn’t warranted. In fact I’ve seen it referred to as the “HTML5 Geolocation API” in many books and articles, which is simply incorrect. The danger of mislabelling APIs like this is that it implies that only an HTML5 document (i.e. an HTML page using the HTML5 DOCTYPE) can be used for this particular API to work, which simply isn’t the case. It works just as well in an HTML 4.01 document, as long as the browser supports the API.

There’s nothing at all wrong with people talking about APIs such as these in the same discussion as HTML5, but the distinction between what actually is HTML5 and what is not has to be made to avoid future confusion and ignorance.

Learning from the Past

With the release of the excellent HTML5 Please website in January 2012, the topic of HTML5 being used as an umbrella term came to a head. This website is an excellent resource for the status of new technologies, but is using the term HTML5 when the site also refers to technologies such as: CSS3, the W3C Geolocation API, and WebGL.

Adrian Roselli rallied against this HTML5 confusion in an online .net article where he compared this new confusion with the old mistakes of the past where DHTML and Web 2.0 (neither of them specifications) were used as terms to refer to a multitude of new web technologies and techniques. Aaron Gustafson also took up the call, declaring that “HTML5 is the new DHTML”, which Mr Roselli pleaded against back in July 2011, a plea which has fallen on deaf ears.

HTML5 has now become a marketing phrase that means everything and nothing at the same time, but the added issue here is that HTML5 does mean something specific, but that meaning is being lost in the confusion brought about by the marketing phrase.

Websites such as HTML5 Please are built by respected and knowledgeable members of the web community. Their sites are the “go to” sites for learning about new technologies and techniques. Sites such as these have a duty to present people with the correct information, and this includes pointing out what technologies are HTML5 and those that are not. Simply providing a link to the relevant specification that would allow the interested developer to explore further would make a world of difference.

An argument was put forward that developers know what HTML5 means so there’s no need to try and make the distinction between HTML5 the specification and HTML5 the marketing term. However developers who are just starting out and learning about HTML5 will come away from such sites as HTML5 Please with a misinformed idea of what HTML5 actually is.

We, as developers, are often irritated and annoyed by marketing technological buzzwords and the incorrect information that they convey. Surely we don’t want to start doing the same?