It seems like most of the jobs I'm receiving, and most of the Internet, is still using standard HTML (HTML 4, let's say) + CSS + JS. Does anyone have any vision on where HTML5 is as a standard, particularly regarding acceptance and diffusion? It's easy to find information about inconsistencies between implementations of HTML5 and so forth. What I want to know about is relevance of HTML5.
I'd say definitely get in there and start learning some of the technologies involved. Just be aware that 'HTML 5' right now is actually really a marketing term!
HTML 5 has not been ratified as a standard yet and although all of the major players are throwing their support behind 'HTML 5' they're all actually just implementing bits a pieces of various specs including ECMA script (Java script), CSS, HTML and a whole lot more that I'm not qualified to talk about.
MS for example released IE9 beta to great fanfare in San Fran, highlighting their awesome HTML 5 support. Naturally their IE/GPU enhanced lovely demos didn't quite work so nice on other 'HTML 5' browsers such as the latest Chrome of FF Beta or Opera.
So, um yeah, don't delay in starting to investigate - MS is banking on it heavily (even though they have their Silverlight platform) and I bet you'll see Adobe hedging their bets in the next few years as well.
For production websites that users will use tomorrow? Um don't use 'HTML 5' yet.
Because of Mac/Steve Jobs, "HTML5" is a public term. Meaning, that non-programmers (AKA clients) can recall it, and are often asking for it. So, in that sense, even though it doesn't really exist in a standardized form, but rather WebKit and Firefox's own versions, it already is relevant.
Unfortunately, the inconsistencies you mentioned become our problem. There's also a major lack of software to develop common HTML5 elements. (We have to do everything by hand.)
What it comes down to is this: what do the people with the money want you to do?
Here's a real situation I've run into: 98.5% of the users of my clients website are on PCs running IE (This is actual usage stats here, this is a site for a certain niche market) and .02% of their users were on a mobile device. And within that .02%, 90% where blackberries (Not HTML5-enabled iPhone or Android). BUT, the client owns an iPad. So, naturally after explaining that our clients users would not benefit from the technology... I'm converting Flash content into HTML5.
Why? Because they'll pay hundreds of thousands to be able to show off the website on their iPad.
I know you say you don't want to here about the inconsistencies between implementations of HTML5, but that's a major part of the issue. What ever you create needs to work for your client's users. Often, that means using Flash. And now that Flash is going on more and more mobile devices, having many different versions of HTML5 is only going to be another stepping stone.
At the end of the day, HTML5 is something you should know, but you should never put your eggs in one basket.
I have two quibbles about the question you're asking:
• Which HTML5 are you asking about?
Different groups have different agendas/goals, and what any two groups mean when they each say "HTML5" can be drastically different. Sometimes it's a shorthand for both HTML5 and CSS3. Sometimes HTML5, CSS3 and jQuery. Sometimes they mean the W3C's spec. Sometimes they mean the WHATWG's spec (sadly, the last two aren't identical). And so on.
Before you can get a solid answer to your question, you first have to specify what you mean when you say HTML5.
• It's not really black & white
It's entirely possible to implement parts of HTML5 right now without any problems. Some other parts of it, not so much. But it's not a black or white issue; you don't have to junk everything that works in order to add some of what's in HTML5.
An article I think you might find useful is How to use HTML5 on your website today from InfoWorld, written by, well, me.
If you want to be on the next wave of development, I believe HTML5 will be the next one.
- It doesn't require a plugin, and
- It will work on all browser-enabled mobile devices.
Coding on mobile devices (i.e. phones) is a huge pain. It's not hard to see why. If you've ever owned more than one phone, you know why, because your old charger won't work with the new phone.
Phones are made to be deliberately incompatible with each other. This is changing with the emergence of iPhone and Droid, but still...
Microsoft has highlighted this philosophy by throwing its weight behind HTML5 for future phone development.
ONLY if you are prepared to deal with inconsistencies across the browsers. And then add a flash backup anyway for IE.
I agree with @Pierre 303 - wait a year.
That said, if you are building something new, you build with html5 in mind by adding the bits here and there which are standardized.
We were one of those clients spoken of, asking for an ipad compatible interface even though most of our users are on IE7/8. Thing is, the agency said it'd be a two week project but it turned into two months as they ironed out all the inconsistencies. In the end the interface works and looks great, but the agency isn't signing up for html5 projects anymore.
p.s. I disagree a little with @Ben. If our agency had told us in the beginning that it would take 2 months instead of 2 weeks, we would have said no. Educate your clients! (but of course accept their money if they stupidly insist.)
Despite warnings from the W3C and the media privacy concern scare I think that pushing forward with new technology is key to staying ahead of the curve. What fun is playing with non-alpha software? Get your feet wet now rather then later when the people that did are leading the pack.
Why delay in starting? Balance where you can leverage existing technology for backwards support and new specs to gain access to the advanced feature set supported by modern browsers.
It depends on the application and who would be using it and what your timeline is for development. There is not much point in writing software that most of your potential customers cannot run.
There are portions of HTML 5 that you can adopt right now -- things that work in all browsers, like the html5 doctype declaration, and the
There are plenty of fancy features that are just not ready for prime-time yet. Video? Only if you want to encode it twice. -- You're better off sticking with Flash for now, unless you're targeting mobile. Geolocation? Still unknown. localStorage? Only if you don't want IE users to participate.
Most of the new HTML5 features have been built with good detection options. If the feature is a bell and whistle, you can detect, and only enable it for browsers that support it. Some features can be be emulated on browsers that don't support them. Progressive Enhancement will allow you to adopt features as they become useful, a little at a time.
I think HTML 5 is the future; but as other posts have said it's not prime time yet. Rich Internet Applications (RIA) are coming into greater demand and I use to think Flash/Flex would win that battle over Silverlight and JavaFX. But the iPhone and iPad changed all of that. Flash is out and the HTML 5 canvas tag is its successor.
HTML4 is 13 years old, and still not universally/consistently supported. HTML5 is only about 2 years old, so I'd give it another decade.
Depending on what elements of HTML5 you're referring to, some are only available in FF beta 4 and IE beta 9 right now. I just ran an HTML5 test on FF beta 4 and got a result of 207 out of 300. If you want to try the tester - http://html5test.com/
There are some options for forcing it to work, such as the HTML5 Boilerplate, though I haven't been able to use it yet myself - http://html5boilerplate.com/ And Modernizr can help - http://www.modernizr.com/