At this point, you are probably tired of hearing how HTML5 is changing everything. Everything in web applications and even mobile applications are changing. HTML5 even lets you create a web application that works almost like a desktop application. Yes, there is a lot of hype about HTML5, especially when you consider that the specification is not entirely complete. However, there is a lot of information that is fairly stable, and this is driving much of the hype.
So, what is HTML5? Actually, it is not just HTML. It is a family of technologies that includes new HTML tags, CSS3, and some new APIs. The new tags and css are really helpful, but the APIs are the parts of the specification that are the source of the hype. As a simple introduction to HTML5, you can look at the HTML5 Logo site for the high-level categories of new features.
HTML5 adds new tags for defining the structure of your pages. Tags like <header>, <footer>, <nav>, <section> and <article> help put meaning into the structure of your documents. The addition of RDFa, microformats and microdata, add more programmatic accessibility and meaning to your content.
Offline & Storage
Offline access and storage is the most volatile section of the specification. The App Cache and Local Storage APIs are stable, and will prove very helpful to application developers looking to extend their reach and allow usage when not connected. Other APIs that are also being developed are the Indexed DB and File APIs.
One of the more talked about aspects of this category is the Geolocation API, which gives web developers access to a user’s location similar to what many mobile applications have. There is access to other local device features (microphones and cameras) and data (contacts and events).
Quite possibly the most interesting piece of HTML5 is the WebSockets API. This allows the web application to make calls to a server without hacking together various AJAX requests or worrying about polling the server constantly. Additionally, the Server-Sent events (or push notifications) further the communications between the client and the server.
HTML5 adds several new audio and video tags that enable developers to add multimedia without the use of Flash. This becomes more important when dealing with the various mobile devices, especially those that are not Flash-enabled, like the iPhone.
3D, Graphics & Effects
There are a lot of features that have been added but the new Canvas has received all of the talk. CSS 3D effects have been implemented in browser-specific extensions. SVG has also been used for quite some time, as well as the WebGL specification. So, it makes sense that Canvas gets all of the attention, it is the only real new feature in the category.
Performance & Integration
People have been using AJAX for years, but the new specification has improvements in XMLHttpRequest 2. More interesting is the new WebWorkers specification, a new API that will help application developers develop background processes.
CSS3 is likely the most well known aspect of the specifications, and it also has the most support in a way. Most browsers already support much of the specification using browser-specific CSS styles. However, there are some new layouts that will make page design much simpler and allow designers to avoid hacking divs into arbitrary structures.
There is a lot of information available on all of the new features, but the best source of information is the developers of the specifications. First, I have tried to include as many links throughout this post to the specifications. The specs may be fairly dry reading, but you can get a good understanding of what the purpose is without reading every line of the spec. There are also a few documents that are targeted at people other than browser developers: