As a follow up to asking people if they are using HTML5 or not, I asked the people who are:
What features of HTML5 have you used on production sites?
These are the levels of popularity, from almost 3,000 voters:
Not a big surprise that using the new semantic elements (like
<nav>) is the most common use of production HTML5. It’s easy, it’s hip, it feels good.
Third place is the audio and video features. I’m sure iDevices helped push that along, as using HTML5 is really easy and works on those devices. Fallbacks are now also easy to implement.
The least popular feature is cross document messaging. Also not a huge surprise as it’s not all that common of a thing to need. I do think this is super duper cool though, especially as I’ve been working on a thing that uses it.
“Other” came in ahead of a number of other features, so apparently I’ve missed a number of HTML5 features that people are actively using. Please share!
Are there any links or examples of “cross document messaging” you could link us to? I’d love to learn more about it.
Yeah same here.
Same here also :O
Ha, apparently there is some interest in that subject eh? I think the cool part is communicating to third party sites from an iframe in a non-hacky way.
Here’s some basics from David:
Here’s a library for making it support older browsers:
Also, google it =)
I’d like to pedantically point out that Geolocation is not actually part of the HTML5, it’s separate.
As a curator on HTML5 Gallery I get to see a lot of HTML5 sites come in and I can confirm that most of them are simply using the new doctype and elements, which of course is great to see. Of course some of the elements are being used incorrectly (e.g. using
menu, which has a completely different use, instead of
nav) but it’s all a learning curve.
I wonder how much Google’s nixing of H264 is holding back the Video tags.
Also, I wonder if people are including in HTML5 based mobile apps into the count of “Production Sites” since im sure Offline Storage is used heavily in that type of environment.
I am certainly using the new doctype and semantic elements. My projects don’t require much more than that at the moment.
Thanks for posting this, Chris!
I love that the doctype is actually short enough to hand code every time. There are some other tags that can get slimmed way down that I enjoy using as well:
... ... ...
Just seems nicer and easier to look at / organize / code.
The new elements like nav and header are lame. All they are is nothing more than renamed div elements.
I don’t care about semantics, if another developer even website user viewing your source code can’t understand that a div with an ID of “header” is the site header and image with an ID of “logo” is the logo, then they aren’t web developers.
they’ll be more than that eventually, but for now, that’s right. it’s the browser that will (eventually) be trying to understand that <div id=”header”> but won’t.
Humans aren’t supposed to be the ones who know/care/notice the semantic elements. Those are meant for the computer. Humans pretty much recognize logos and headers and navigation instantly, computers are like “oh hey, data, what does it mean?”. With Semantic tags and markup, they can, or will soon, be able to go “oh hey, that’s navigation, I know what to do with that now!”
Also a very nice side-effect: you can use more than one h1 if there is any need for (e.g. in your Header for a Logo -> h1, Subline -> h2 plus seperate h1, h2 and so on for your “Content”).
Also the new aside-Tag is a nice one for keeping your semantics clean.
Also, the likes of header, nav and footer don’t have to be limited to the sections of page that you think they belong. You can use a header tag to indicate the top of a section/article (a la the top of a blog post), and a nav element can be used to indicate the sidebar menus, the footer menu, navigation within blog posts, etc.
All of this improves semantics considerably and helps bots index your site (and your client’s sites assuming you have some) appropriately.
So using your own quote:
“I don’t care about semantics”
then you shouldn’t BE a web developer.
It will obviously work everywhere…
We’re starting to do some really cool stuff with the canvas. It can really help you generate some fantastic infographics!
“Not a big surprise that using the new semantic elements (like ) is the most common use of production HTML5. It’s easy, it’s hip, it feels good.”
So the majority are *requiring* a JS shim to style those new elements? How are these sites looking without JS?
“How are these sites looking without JS?”
A little bit “incorrect”, but usable.
“How are these sites looking without JS?”
“How are these sites looking without JS on [if lt IE 9]?”
Pretty messy and large parts unstyled, but it’s a comprimise i’m willing to make for the extra semantic goodness.
Might as well start the holy war eh? =)
My guess: a large percentage of people do that on purpose and are aware of the issues that come with that.
So: I really don’t care.
Like your sense of humor, but I have to admit I’m among those who do think all those using less then IE9 (in beta) are like it or not quite significant. Personally, semantics are great… but semantic elements alone IMO are not worth the trouble and hype to go with HTML5. Especially at this time. The reason semantics won the poll, is because no other feature in HTML 5 can be implemented on more than 50% of the browsers in use, more or less.
I think its worth saying and that its good to stay in perspective. For example, I’m a teacher and from experience I believe it’s premature to recommend pursuing html5 for beginners. Adding the worries of progressive enhancement (or the opposite take your pick) to their already huge list of concerns is just not practical for all but the most die-hard techy types. Many people I work with are designers and would rather delve into code as little as they can. Not interested in fighting about it though!
I tend to agree with Jason in this case. I don’t think using HTML5 is that realistic for the vast majority of production websites. However, it’s a good idea to get prepared now for the future by experimenting on personal websites, sites geared toward industry experts and/or sites where users are definitely not browsing on IE8 or less. I am currently working on a redesign where 59% of the users are on IE and of that 75% are on IE8, 18% are on IE7 and 7% are on IE6. As cool as it would be to say screw it and use only the latest tools be it CSS3 and HTML5, I just can’t justify it when there are proven techniques avaliable that work well in all browsers with pretty decent semantics. Not to say the finished site will look the same in IE6 as in Firefox, but it will be pretty darn close. I know it’s totally uncool.
This is very good post for the new developers. Html 5 is also very powerful as compaire to the last once. Html5 is easy to handle and also include some specification techniques that can change this different and strong to the last one.
@Ian: Thank you for your link.
I can’t wait to learn HTML5.. It’ll be fuuun!! Good link!
surprised to see cross document messaging has little use. I personally think it is extremely useful.
*wonders how many of these ‘production’ sites are large corporate sites…
Answer: Not many
I’ve taken the idea to heart of using HTML5 for applications development
and have been working on some serious projects centered around it.
My current project is The “AsterClick AMI tool set” aimed at
supporting the creation of HTML5 based applications for controlling
the Asterisk PBX using webSockets.
One of the components in the tool set even allows HTML5
applications to be deployed as stand alone desktop executables.
I’ve just about finished the first application that leverages that tool set
which is something called a “HUD” that allows one to drag-n-drop phone calls, transfer calls, manage phone queues , teleconferences and the like
So I really do see HTML5 having an important role in developing
real commercial quality applications both on and off the web.