Haha yeah, but do take a look at the link to Zeldman's post.
Sometimes it's a guest poster who writes about these things. They want the promotion and can't change the site's code.
Sometimes the site was written before whatever new standard the post is about came into being. It's a large undertaking to rewrite a whole site.
So,etimes we have to break the rules for a reason. Advocating certain standards or specs for the sake of standards, specs, or best practices is not what is important. What's important is that we know the rules and understand them well enough so that one day when we break those rules we know it's justified and we have a food reason for it. All in all, my sentiment is "use (name of spec or standard) when you can and if it makes sense".
I know you were kidding but I thought this would be a good opportunity to say this as I see a lot of standards and practices nazis out there who advocate for doing things a certain way for the sake of doing things a certain way, which is just silly.
Of course I embraced HTML5, but since this was written as a top 10 of why I _should_ use HTML5 now, I'll try to refute that top 10 for reasons of why you _shouldn't_ use HTML5 right now:
10. Accessibility.
HTML5 sure has the potential to improve accessibility, but.WAI-ARIA guidelines are in draft mode. It will be several more years before assistive technologies fully support HTML5 to the degree they now support HTML4 and all your users will run on browsers that support HTML5.
"Upgrade to the latest version of Chrome to view this HTML5 demo" isn't any more accessible than prompting a user to download the latest version of Flash 5.
WAI-ARIA was needed to combat the accessibility problems that ajax-rich/click-rich web applications introduced. Part of this HTML5 and forward thinking is responsible for accessibility problems, not a cure.
Requiring javascript support (shiv) or a web-kit browser from a user, for laying out a web page isn't all that accessible.
9. Video and Audio Support
The author called flash video implementation a hassle. So what does the author call a flash video fall-back, with a <video> tag, and your video encoded in .ogv, .webm, and .mp4?
And javascript feature detection to decide which to show? And a way to implement custom controls for both flash-video and html5-video?
And since you want accessibility how about flash and html5 captions? Descriptive Audio?
And Yahoo searchmonkey RDFa that you already used for your flash video and schema.org for your html5 video? Incompatible.
How long did it took for Flash to support webcam video and what is the current support state of <webcam> for html5? Video and audio support is what Flash did/does best.
8. Doctype
It is short and simple, right? Why not <doctype>, or why not leave it out all together, if you can't be bothered as a HTML web developer to remember, store or copy-paste a doctype?
And RDFa with a html5 doctype?
7. Cleaner code
Faulty example.
Why not
<ul id="subnav">
<li>..</li>
</ul>
How is that less clean than
<nav id="subnav">
<ul>
<li>..</li>
</ul>
</nav>
?
6. Smarter Storage
Only works for local storage capable browsers, so off limits for app critical functionality, unless you don't care about that. If it was so smart, why can't I store a 15MB movie on Safari mobile?
Do you want to bother your users with a pop-up that says: "This website wants to store stuff in your local cache" while storing stuff like preferences in cookies is much more silent.
And how secure (for your privacy) is local cache and ETags when it can be abused for tracking?
5. Better Interactions
"Better" Interactions. Better how? "It can do everything Flash was able to do in 2001, but better". Also better than Papervision3D from 2008?
4. Game development
I don't need to switch from Flash to HTML5 to get Game development. I wouldn't switch from Flash to HTML5, because better game development.
"If you’ve built Flash games before, you’ll love building HTML5 games."
If you were to poll game developers, this would likely be a very unpopular statement. I know it certainly doesn't apply to me.
3. Legacy/Cross Browser Support
Again, no reason to switch to HTML5 from HTML4. It would be a reason _not_ to switch, if it didn't had legacy browser support, but that doesn't make it a game changer all of a sudden.
And a browser conditional statement ("if lt IE9" or "if Windows XP general user"), followed by a javascript hack, isn't native legacy support. It is just what it is.
2. Mobile, Mobile, Mobile
HTML5 for mobile will be great, and this is a good reason to switch and fully familiarize yourself with HTML5 as a webdeveloper. Responsive design et al was already possible with HTML4 though, but the author is correct in saying html5 is important for mobile.
I am not really waiting to get "apple-touch-icon" approved as a HTML5 standard, but there is no denying that the future of HTML is in the hands of the big companies now.
1. It's the Future, Get With It!
Sure, that is why I am already implementing HTML6 on most of my clients websites. The specs are a little rough around the edges, but at least I made my clients websites future proof. ;)
It seems you are advocating more of a switch to dynamic HTML5 web apps.
You'd be surprised at just how many people are still using table based layouts, inline styles and JavaScript, they keyword meta tag, and a ton of techniques that were cutting edge in 1997! And I'm talking about professional design firms!
I love HTML5 and I see no reason not to use it today. I know that there are still people using browsers that won't support the majority of features but we can still at least use the new tags and doctype with the JS shiv. For everything else there are well known ways to serve up new hotness to modern browsers and old lameness to old browsers. For example we can use the video tag with the last line before the closing tag being an embed for a YouTube or other video player as a fallback for older browsers.
I think there are 2 and a half reasons why HTML5 isn't being widely adopted yet. First, newbies are being fed old techniques from online tutorials and old books. Secondly, many of the cooler new features of html5 require JavaScript to work (Local Storage and Canvas for example). A lot of people still haven't gotten on the JavaScript bandwagon (including me, I admit. I can use jQuery plugins and get how they work but god help me if I had to write a single line of JS from scratch!). And then reason 2.5 is that people are just set in their ways. There are a ton of people who had been fed the rhetoric about semantics, divitis, and how to "properly" write HTML while learning XHTML and waiting for the I,agin any XHTML2 spec to arrive. Some of those people are set in their ways or have sour grapes about XHTML not being the new hotness after all the hype.
I have a question though. Why is it that in the HTML5 Boilerplate the doctype tag is in all lowercase? My text editor highlights it like its wrong. I usually capitalize the word DOCTYPE and leave html in all Lowe case. Does it make a difference?
Uppercase DOCTYPE is for XHTML5 (HTML5 XML serialization). Basically XML requires to have DOCTYPE in uppercase and html in lowercase. By writing it this way you will conform to both cases.
See also http://www.w3.org/TR/html-polyglot/#doctype
The only benefits of HTML are that it's supported by all vendors. But that's where it's advantages end. HTML and CSS are just a joke, and were never meant and designed to be used for application development. Javascript is a shit language, not geared towards writing performant code and projects like V8 try to workaround it, but that's just a workaround. Of course you can use hacks to achieve performance in JS too, but that wouldn't be idiomatic javascript. So, sad but true, there is lots of hype going on about crap technologies lately and it seems like we are going to deal with them in the foreseeable future, if even so experienced guys like Microsoft had to surrender and start using it.
Okay, so if HTML and CSS are so horrible then how do you propose we create websites? We're talking about the web, man! You've got to use HTML if you're going to work on the web no matter what. I see nothing bad about HTML or CSS. Every language has its shortcomings but that's because it can't be all things to all people.
The really awesome and a,axing thing about HTML and CSS is that we as web developers are innovating the way things are done online so much that the specs can barely keep up! I think it's great that we're outgrowing each new version of the spec so quickly. That means things are getting better, faster, more powerful.
We've taken these tools and bent the rules to create things that the languages weren't intended for. The languages haven't failed because they were never meant to do things that people have found a way to make them do. And now that these possibilities are out there it only means that the languages will evolve to accommodate the things we're doing with them just like html5 and css3 which I think are amazing leaps forward!
JavaScript isn't perfect but it works and it can get better. I don't get what your problem really is with these things. You say JavaScript is bad and slow but the rest just sounds like uninformed hating.
What's your solution? Replacement languages for HTML, CSS, and JavaScript so that not only do we all have to start from scratch with new languages but then wait even longer for browser support? You certainly do have balls barging in here like a troll with a half assed argument that states the obvious but misses the entire point of the new technology. These things are awesome for the same reason you say they suck.
I'm not a troll, I'm familiar with these tools. I've even written a prototype of a web application(IDE). And I know very well how much it is pain in the ass to develop using web technologies, compared to proper frameworks(.NET, Qt, Cocoa, you name it). Web technologies are the least common denominator, something that is more or less supported by everyone, but sucks compared to good tools. Of course if you really try - you can build something great with it(Google Docs, GMail, Cloud9 and many other amazing apps). But it requires 10 times more effort compared to good tools.
The advantages of the web are not the technologies it's implemented with, but very founding things like URL, instant delivery of content and applications. All of that is completely unrelated to the current technology stack. Google is a good example for you. They are probably the most experienced people out there in creating complex web applications. And yet they are the ones who try to bring technologies to replace them - Native Client, Dart programming language.
And you not even contradicting me, by saying "What's your solution? Replacement languages for HTML, CSS, and JavaScript so that not only do we all have to start from scratch with new languages but then wait even longer for browser support?" Yes, web stack is the current state of affairs. And it will take some strong man with balls to get rid of it and build a better new world. And yes, there are better technologies than that - a good example is QML for example. And I am by far not the only one who isn't satisfied.
It takes balls to say anything bad about Javascript, CSS and "web apps", especially to an audience full of web designers. If I could upvote you I would. But my browser does not support Javascript and I don't think upvoting is REST-friendly.
Please tell me that was sarcasm, man. It's one thing to support someone having the balls to come out and courageously support an unpopular but just position. Unfortunately his comment was just flame bait and not even close to courageous.
"It’s the Future, Get With It!" ;-)