In my blog about HTML5 confusion I never really answered the question on everyone’s lips “Exactly what is in HTML5?”. And guess what I’m going to skip the issue again and just follow the categorisation of features as per the W3C as they have very pretty logo’s for each category and mainly because it’s important to know what can be done with HTML5.
The W3C have identified 8 categories of new functionality/ capabilities offered by ” HTML5” which can be found here, they are:
- Create “smarter” documents for users and machine readers
- RDFa, Microdata, Microformats, richer semantics/structure
Offline and & Storage
- Ability for web applications to store data locally and run offline
- Application caching, session and local storage, Indexed DB
- Allow applications to access device features such as GPS
- Geolocation API, more to follow including gesture events
- More/better communication options between server & browser
- Websockets, Server pushed messages, Cross document msgs
- Add and control sound and video on your sites
- Audio/Video elemts and API’s
Graphics and Effects
- Draw and animate 2/3D rich graphics
- SVG, Canvas, WebGL, CSS 3D
Performance & Integration
- Asynchronous communication and processing
- WebWorkers (threading in browser), XMLHttpRequest L2
- Improved styles, transforms, effects and fonts
- CSS3, WebFonts (Web Open Fonts Format – WOFF)
Whilst the graphics and simple descriptions are quite cool what concerns me is again the ambiguity:
- XMLHttpRequest is performance and integration whereas it is actually this feature that created “web 2.0” by enabling asynchronous communication between browser and server, the cornerstone of Ajax.
- In the categories above where does the Forms validation improvements fit in? (probably in semantics, but I feel this should have it’s own category)
There’s clearly a tremendous amount of really excellent work going into HTML5, it has sound principles and gaining strong momentum – especially in the mobile world. However this has to be balanced with the fact there is still lots of work to do, ambiguities to be ironed out and getting all involved parties and bystanders to sing off the same hym sheet should all not be underestimated.
The finalisation of the specification (when it becomes “candidate recommendation”) is expected sometime in 2012 by the spec’s main editor, Google’s Ian Hickson. However to be a W3C Recommendation status requires “two 100% complete and fully interoperable implementations” and this Hickson believes will happen around 2022 or even later.
However the bandwagon and gravy-train for HTML5 has already started rolling and is gaining momentum, I would say only the foolish will not hop on board. IMHO it is only a matter of when not IF for HTML5. Question is what will you do?