HTML5 has conflicting definitions.
If you go by the official WHAT-WG spec, HTML5 is a list of specific features, including Canvas, Video, Audio, the new form controls, the new semantic markups, and microdata.
If you go by the media and Steve Jobs, HTML5 is simply a new platform that lets us do rich, interactive, applications without the need for the desktop, or browser plugins. This definition implies a superset of the WHAT-WG HTML5 features. As the HTML5 spec notes, the following are frequently confused as being part of HTML5:
- Web Workers
- Web Storage
- WebSocket API
- WebSocket protocol
- Server-sent Events
- Web SQL Database
- Geolocation API
The spec says it’s the media who confuse those items; I’d say it’s just about everyone who doesn’t read Last Week In HTML5 (NSFW) religiously, i.e. most people. Furthermore, I would add the following delicious ingredients to the HTML5 mix:
- CSS 3
- ECMAScript 5
And now that we’re getting real, as far as most people are concerned, HTML5 is about what the technologies do for end-users. So I’ll add the following, which all have an impact on programmer productivity and hence indirectly improve the user experience by making development more agile and effective:
- Web Development Tooling
- Web Development Theory (guidelines, principles, hacks, “browser physics”, patterns)
And I’ll also add the containers in which web apps run, where features such as add-ons and improved security are also making things more splendid for users:
- App wrappers (PhoneGap, Titanium, Air)
- Operating Systems (WebOS, ChromeOS, Yahoo! TV widgets, Web Widgets
And in addition, there are the anticipated features, which the HTML5 spec says will come with a later version, but are still considered by many to be the promise of HTML5:
- Device APIs (microphone, webcams – these can’t come sooner!)
- Ping attribute
If you want, you can stick your head in the sand and declare “HTML5 is the limited subset of technologies addressed in the WHAT-WG specification”. However, the ship has already set sail and thanks to the ongoing Apple vs Adobe saga, HTML5 has been deeply etched into the fabric of the industry as “the technology that makes rich web applications”. HTML5 is now a brand referring to all of the things mentioned above. Better get used to it.