Take the 2-minute tour ×
Programmers Stack Exchange is a question and answer site for professional programmers interested in conceptual questions about software development. It's 100% free, no registration required.

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.

share|improve this question

closed as primarily opinion-based by gnat, Dan Pichelman, GlenH7, MichaelT, gbjbaanb May 13 at 18:28

Many good questions generate some degree of opinion based on expert experience, but answers to this question will tend to be almost entirely based on opinions, rather than facts, references, or specific expertise.If this question can be reworded to fit the rules in the help center, please edit the question.

23  
I recommend you to wait an additional year. It's a pure nightmare. I just rolled back a full website that was made in HTML5 because of all the complaints and technical inabilities to solve the problem for all browsers. –  user2567 Dec 3 '10 at 15:53
1  
Thanks @Pierre 303 for taking the hit for everybody ;) –  Yar Dec 3 '10 at 16:16
1  
@Pierre: What browser issues did you come up with? I built a system entirely in Canvas and WebSockets (+Flash) and had it work fine on IE 8+, FF 3+, Safari, and Chrome. That's a decent majority. If full compliance is your quest that you will be hard pressed to use anything but the most mature features. –  Josh K Dec 3 '10 at 16:25
    
@Josh: Chrome & IE8 where huge pain in the *ss. Maybe the features we were using ? Nothing fancy tough... –  user2567 Dec 3 '10 at 17:10
    
I don't think the major browser players (ie7 and 8) are ready yet, IE 9 may be, but it's still beta, and shows it. –  BlackICE Dec 3 '10 at 17:13

11 Answers 11

up vote 17 down vote accepted

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.

share|improve this answer
1  
+1 for the yet in "don't use HTML 5 yet". It will get there; it's just not ready for mainstream at the moment. –  Josaph Dec 3 '10 at 18:01
    
+1 for not yet but learn it. On a side note, The "MS has pretty much banked on it over silverlight" is not true. The stuff about silverlight that came out of PDC were over reactions. Silverlight is not going anywere as seen by the Silverlight 5 announcement. –  Tony Dec 3 '10 at 19:25
    
@Tony I didn't realise that about Silverlight - only saw the original announcement - I've amended my answer. –  Martijn Verburg Dec 4 '10 at 13:53
    
No problem. While MS does "push" their technologies, they do understand picking the right tool for the job. That is why IE9 (when released) will actually support web standards. I know a shocker. =P –  Tony Dec 6 '10 at 12:54
1  
Yep, MS has announced that Windows8 GUI will be based on HTML5+js. WPF (and I guess Silverlight) will be 'migrateable'. –  gbjbaanb Jun 3 '11 at 10:25

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.

With a totally different client I'm currently converting Flash animations/UI into WebKit animations with Javascript because they took a "website" class where they were told that Flash is dead and HTML5 is the future. Meanwhile, they don't use any HTML5 compliant browsers or have any iPhones/iPads.

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.

share|improve this answer
4  
+1 Excellent article proving that just because something barely exists, is totally non-standard and won't work for almost everyone in the target audience, does not mean that some retarded marketing idiot will insist upon it. –  Orbling Dec 4 '10 at 1:49
    
@Orbling, I could be wrong, but I think you missed a "not" in that sentence (near the end). –  Yar Dec 6 '10 at 8:28
1  
@Yar, Quite possibly, I often post at particular stupid times of day not conducive to good grammar. I think the meaning gets through. ;-) –  Orbling Dec 6 '10 at 11:56

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.

share|improve this answer
    
Thanks @Dori. What a mess.. –  Yar Dec 6 '10 at 8:31

If you want to be on the next wave of development, I believe HTML5 will be the next one.

Why?

  1. It doesn't require a plugin, and
  2. 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.

share|improve this answer
2  
Qualification is that the key phrase is will be - it emphatically ain't here yet both because its not finished and because there's nowhere near enough support in in use browsers. ps in terms of the phone thing, that's going to be fixed :) Micro USB across the board. –  Murph Dec 3 '10 at 16:01
    
+1 Good point on MS throwing support behind HTML 5 and away from Silverlight. –  LWoodyiii Dec 3 '10 at 18:00
    
so... when? Microsoft's future is my far future, generally speaking. –  Yar Dec 6 '10 at 8:39

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.

Background:
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.)

share|improve this answer

Yes

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.

There is a ton of great features HTML5 specs bring, the least of which is video and multimedia. You also have WebSockets which are a huge advancement in async. server communication. Now you can stream real time live data as simply as writing a quick JavaScript Node server and a few lines of client side JS.

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.

share|improve this answer
2  
Why delay in starting? Mature technologies are easier to learn, and right now, if cash is not imminent, I don't have time to touch it. I'd rather spend that time on the beach in Tahiti or digging deeper into any of the other technologies I supposedly know. –  Yar Dec 3 '10 at 16:19
    
@Yar: Mature technologies are old technologies. While I may not agree with all of Apple's decisions they do one thing very well, and that is deprecating old technology and forcing change. I'm advocating staying ahead of the curve instead of sitting in the middle of it. That takes some persistence and some hungry nights, but I think it's worth it. It's not for everyone though. –  Josh K Dec 3 '10 at 16:23

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.

share|improve this answer

Yes

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 data- prefixed custom attributes (but not the dataset api...) There's effectively no cost to adopting these. The new semantic elements work in all non-ie browsers automatically, and a tiny bit of javascript enables them in ie.

No

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.

Maybe

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.

share|improve this answer

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.

share|improve this answer

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.

share|improve this answer
    
Half facetious, right? I mean, you're right no doubt, but how long before people are making sites that do NOT degrade to HTML4. –  Yar Dec 6 '10 at 8:37

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/

That said, my position is to focus more on CSS and JavaScript with a solid base in XHTML 1.1 for now. I like to keep the foundation strong and use progressive enhancement on top of the HTML. Jumping to HTML5 means building ahead and then spending a lot of time making it backwards compatible, instead of making a solid foundation and looking forward. XHTML 1.1 encourages clean coding and is the way I like to code for now.

share|improve this answer

Not the answer you're looking for? Browse other questions tagged or ask your own question.