A brief history of HTML5
A brief introduction to HTML5
A short while ago, let’s say six months or so, it seemed like everyone was talking about HTML5. The discussions were pretty widely spread and almost never delivered any specific HTML5 background. There still is a lot of dialog happening on whether HTML5 was ready for prime time use or not.
What I’d like to here is:
- Provide a little history
- Briefly explain what HTML5 is
Then, with reference to the above offer my opinion on whether HTML5 is ready for prime time or not.
A Little Bit Of Background
HTML5 emerged from within the Web Hypertext Application Technology Working Group (WHATWG). This group is focused on the development of HTML and APIs for web applications.
In 1999 the specifications of HTML 4 was completed by W3C. Next W3C, the organization responsible for HTML, CSS, and numerous other, web standards began work on XHTML, which was then the new direction for web content markup.
Many coders will already be using XHTML version 1 codespec. XHTML version 1 is compatible with older browsers, and older versions of HTML.
The XHTML version 2 specifications, however, were far less compatible. Many professional web developers openly criticized several aspects of XHTML version 2. W3C continued working on this specification, which appeared to have little relevance to the real world of web development. i.e. A place where web developers earn a living.
In 2004, to address the growing difference between the work of the W3C and the needs of web and browser developers, the W3C held a Web Applications workshop.
Because of the disagreements arising between various stake holders at this workshop, Apple (Safari), Mozilla (Firefox) and Opera, began worrying about the direction W3C were taking with XHTML. It appeared there was no clear focus in the XHTML2 specifications on the real-life needs for web developers.
The Web Hypertext Application Technology Working Group (WHAT-WG) was formed almost immediately, by employees of Opera Software, Mozilla Foundation and Apple. The WHAT-WG began work on its own future version of HTML. They called this version Web Applications 1.0.
In 2007, W3C began work once more on versions of HTML that were not based on XML technologies, with the WHAT-WG work as its foundation. This became known as HTML5. In July 2009, W3C announced that XHTML version 2 would be canceled in favor of HTML5.
Canceling XHTML version 2 and favoring HTML means that the only way forward for HTML is in the form of HTML5. Hence, it appears that HTML5 really is the future.
BTW, HTML5 is the correct way to spell the word. HTML5 is written exactly like that, i.e. no space between the L and the number 5. HTML5 has now been totally adopted by both WHATWG and W3CWG.
The WHAT-WG's version (i.e. Opera Software, Mozilla Foundation, Apple and Microsoft recently) is a superset of the W3C HTML5 specification. The WHAT-WG's version includes technologies that are not yet (and may never be) part of HTML5 as published by the W3C.
What Is HTML5?
HTML5 is a specification defined to help web developers by extending HTML/XHTML with new:
- Semantically rich elements
- Deprecating specific attributes
- Introducing new attributes
- Altering some old element and their attributes
Additionally, there is the possibility of using HTML5 attributes to create web pages that are Web Accessibility Initiative - Accessible Rich Internet Applications (WAI-ARIA) enabled. This refers to making web pages a whole lot more accessible to people with various disabilities.
HTML5 also introduces a number of APIs which helps making it easy to create web applications, such as:
- 2D drawing API with the canvas element
- API for playing of video and audio (with the video and audio elements)
- API that allows a Web application to register itself for certain protocols or media types
- Editing API in combination with a new global content editable attribute
- Drag & drop API in combination with a draggable attribute
- API that exposes Browser history and allows pages to add to it to prevent breaking the back button
- Cross-document messaging with postMessage
The HTML5 specification can be thought of as having two main areas of focus. The Markup part of HTML5, which is focused on the development of web sites and their pages. The API (application programming interface), which is focused on building web applications. Gmail would be an excellent example of a web application. HTML5 delivers of a lot of brand new syntax, semantics and technology, which is definitely going to shape the future of the web.
The term HTML5 seems to be used by a lot of web developers today to imply that they are using new cutting edge technologies to create a web site or an Internet driven application. In reality this may just be HTML with some new semantic enhancements or it could be a complex block of code that uses several new API’s and JavaScript to display Internet driven magic within a requesting (HTML5 compliant) Browser.
Backwards Compatibility & Progressive Enhancement
HTML5 set out to be backwards compatible. Hence, it has been widely adopted. HTML5 works with the latest versions of web Browsers available today as well as several older versions of the same Browsers.
HTML5 has defined a number of new elements that do not have a particular look or behavior attached to them. These new elements offer a semantic richness to HTML codespec that simply did not exist before. The best is that these elements can be styled as desired using CSS.
Since HTML5 is backward compatible, when it is executed in Browsers that can correctly interpret its syntax it will deliver a richer user experience than when HTML5 is executed in Browsers that cannot interpret its new syntax.
HTML5 degrades gracefully, thus delivers default content in Browsers that cannot handle its new codespec (i.e. perhaps older versions of a Browser that currently can).
There are early adopter Browsers for HTML5. Webkit (an open source Browser engine), Opera, Safari, Google Chrome are some of the early adopter Browsers. Their rendering engines can implement some of these new input types. Opera is really doing great work to support WebForms 2.0. In other web Browsers, wherever these new input types have not been defined, they will gracefully degrade to input type=”text”.
This means that the input type = "search" will give subtle, but a better user experience in the latest versions of Webkit, Opera, Safari and Google Chrome, (where the rendering engine recognizes the new input types) but will still remain fully functional in all other (perhaps older version) Browsers.
HTML5 is a huge specification, far from complete, and very far from being completely supported in modern Web Browsers.
There are quite a few websites that have adopted HTML5, a glance at their page source would reveal this. While this is true. There are a ton of web developers that are of the opinion that HTML5 is not yet ready for prime time. Would you like to share your opinion?