views:

434

answers:

11

Should I care about HTML 5 for my web application ... and why?

Or to put it another way, what are some of HTML5 new features that I should be aware of?

+2  A: 

well, that depends. If you are just doing a here i am page, you could use HTML 4. If you are trying to make the cutting edge youtube, there are a lot of useful features in it. This question really needs more background to answer.

James Deville
What are some of HTML 5 new features that I should be aware of?
Tommytom
video tag, audio tag, canvas support, new elements for site structure. Also look into what CSS3 is bringing. Rounded corners, shadows, better selectors and so on.
James Deville
+3  A: 

Yes. HTML 5 is going to be the new standard and provide a lot of functionality built in to the browser that we are currently relying on third party applications to provide (video/audio support and canvas support for drawing to name a few).

Justin Niessner
A: 

If you intend to use something like the canvas and svg/whatever is not suitable then I think that would really be the only practical case for using HTML 5 in this day and age ( for non-personal sites ). Otherwise stick with standard HTML 4 Strict/XHTML 1.0 as these specs are actually complete.

meder
+1  A: 

HTML5 is the next major revision of HTML (Hypertext Markup Language), the core markup language of the World Wide Web. The Web Hypertext Application Technology Working Group (WHATWG) started work on the specification in June 2004 under the name Web Applications.

HTML5 is the proposed next standard for HTML 4.01, XHTML 1.0 and DOM Level 2 HTML. HTML5 is expected to be a game-changer in Web application development, making obsolete such plug-in-based rich Internet application (RIA) technologies as Adobe Flash, Microsoft Silverlight, and Sun JavaFX.

Read:

Why HTML5 is a Game Changer and what it means for you.

HTML5 Is Coming: Ignore It at Your Own Peril

Nimbuz
+5  A: 

HTML5 is a development ground for new browser features. It is not now a usable standard in itself and won't be for a very long time. You get nothing for ‘authoring to HTML5’; the specification is unfinished and will change.

Some of the features that have come out of the HTML5 effort are partially usable today: canvas, audio/video, postMessage, DOM Storage and so on. Many of these features are being broken out into their own specifications — thankfully, as the work-in-progress HTML5 spec itself is far too big and messy to cope with.

Additionally, some of the features mentioned in the HTML5 spec are not new inventions, but old browser extensions that enjoyed some support already. eg. the pig-ugly but widespread contentEditable. There are even older “friends” like <embed> documented for the first time (more's the pity).

When can I use... is a good overview of where we stand with several HTML5 and CSS3 features. There's also LIIP's HTML5 comparison (PDF).

bobince
Browsers have started to implement the standard that is done, so you can start to use it now, but these browsers are not commonplace yet, but that doesn't mean you can't determine what is supported and when available take advantage of the newer features.
James Black
I agree with bobince; HTML5 is not fully supported yet by the major browsers and it is not complete and will not be complete for several years. Some of the functionality is being added, but there is not guarantee that they will be consistent among all the browsers since again the standard has not been agreed upon yet. I think it would be wise to think about it as another tool that you can use to develop your applications, but like all other tools you will need to make sure it degrades gracefully for browsers that don't support it.
Waleed Al-Balooshi
A: 

If you want to develop for modern browsers, or if you're targeting a specific device, for example writing an HTML app for iPhone using jQTouch then yeah, it's major. It makes it simple to store data on the client.

You can use libraries like modernizr to easily detect support for HTML5 capabilities and degrade gracefully. Also, there's nothing stopping you from using the HTML5 doctype:

<!DOCTYPE html>

since it puts all relevant browsers (IE6 included) into standards compliant mode.

Also, with the advent of albeit controversial things like the Chrome Frame plugin for IE 6,7,8 you could arguably begin using HTML5 features sooner rather than later.

Henrik Joreteg
+2  A: 

The primary reasons for adopting HTML5 are to support integration of audio and video directly into the browser without any additional software or programming instruction. There are some problems with this reasoning.

1) HTML does not exist for usability or multimedia. These were never its objectives and are not the intent of the language. The intent of HTML is to describe and structure content as data intended for human consumption regardless of whether it is written by a human.

2) 95+% of all reported security vulnerabilities are related to client side scripting. This includes technologies such as: Flash, Acrobat, ActiveX, Silverlight, JavaScript, and so forth. Integrating the features of those technologies directly into HTML means integrating those technology failures related to security directly into HTML. Client side scripting technologies that require a plugin for execution allow the vendor of those plugins to rapidly develop and release security patches when security exploits are discovered. How often is HTML updated?

3) HTML5 ignores all problems associated with current forms of HTML: security, accessibility, and syntax conformity. Subtle changes to HTML can do wonders to improve security on the web, such as imposing limitations upon the uses of iframes which are the fastest growing attack vector for JavaScript and ActiveX related exploits. Accessibility has always been a problem with the web, and stricter requirements with the heading tags (h1 - h6) could significantly reduce content navigation confusion to users of text readers. HTML is the most lax and syntactically divergent language possibly ever created, which incredibly impairs or eliminates access of many assisting technologies.

The reason for supporting HTML5, as stated in point 1 above is to embed multimedia. The reasons why this is important are absurd and don't make any sense. Let's review what the common mandates for support:

1) It is the future, so therefore you must support it. This is a fallacy of logic on its face. It is your choice to support it regardless if it is claimed to be the next version of the language. Browsers are not going to abandon support for HTML 4 or XHTML1 for more than a decade at least.

2) If you don't support it you will be left behind. This came from the article 'HTML5 Is Coming: Ignore It at Your Own Peril' linked in a comment of this thread. The article uses some metaphor of television remote controls and progression to color TV that does not make any sense to the current subject. If you don't support HTML5 you can continue to support Flash, Silverlight, and other media plugin technologies. Vendors will continue to support those products even after HTML5 is released and they will continue to do their jobs and innovate just the same as they have in the past.

3) HTML5 is going to provide support for audio/video that you currently have to rely upon plugins for. There is no reason these features must exist in HTML. Flash is a radically prolific plugin and there is no reason flash based media is unavailable to consuming audiences to any measurable extent that could only be solved by forcing those problems into HTML.

4) The time it takes to learn and write code like ActionScript is expensive and by forcing those benefits into HTML5 there will be a cost savings to development. This comes from the article 'Why HTML5 is a Game Changer and what it means for you.' linked in this thread. This is completely made up. Media takes time to develop. Client side script to process multimedia on the web takes time to write. Now matter where you force that stuff to execute from there is still development time. There are no numbers behind any measurements or research into development cost savings. The author completely made this up, and the author is wrong. The moment HTML creates video for you and supplies you with the code the process that video for the user automatically without regard for customization is the moment the author stops being wrong, but until that time media will always take time to create and publish.

5) The doctype string is too confusing to memorize and HTML5 solves this problem with a simple doctype declaration. This point is not stated, so far, in the any of the comments of the question, but it is stated elsewhere. If an HTML coder cannot copy the doctype declarations, which are found as the first result in a Google search, then that developer has other more serious problems to solve. The moment copy and paste becomes too complicated is the moment it is time to stop writing code.

My opinion is that there are no strong reasons for support HTML5. Security failures and compromises on average cost business $11.3 million per compromise last year according to research from Symantec, so there are strong reasons for not supporting HTML5.

http://eval.symantec.com/mktginfo/enterprise/white%5Fpapers/b-whitepaper%5Fgovernment%5Finternet%5Fsecurity%5Fthreat%5Freport%5F04-2009.en-us.pdf

http://eval.symantec.com/mktginfo/enterprise/white%5Fpapers/b-whitepaper%5Finternet%5Fsecurity%5Fthreat%5Freport%5Fxiv%5F04-2009.en-us.pdf

http://www.symantec.com/content/en/us/enterprise/media/security%5Fresponse/whitepapers/web%5Fbased%5Fattacks%5F02-2009.pdf

1: Adding true support removes the unreliable complexity of kludgy workarounds for embedded media.2: You are confusing specification and implementation.3: Again, you are confusing specification, which has a few optional end tags (for example), with implementation, which is browser support for tag-soup (that doesn't validate)....and then you create a straw-man.#4 is particularly egregious: if I'm uploading a simple video from a phone, and I can just use the video tag, where's the development? This is not a corner case.#5 is a reasonable complaint.You should listen to http://➡.ws/hmhtml5
brianary
1) The kludgy workarounds for plugin implementation are a horribly weak reason to push security violations into HTML. 2) I am not confusing specification for implementation. HTML5 does not address the concerns of security for the new features it offers, so therefore the problems not addressed in the specification will introduce faults into the implementation. 3) Be more specific. You are not being clear. 4) You can do that with HTML4 using an anchor tag linking to the video. That is not a corner case either. When HTML5 takes security seriously is the first moment it should be considered.
Please be specific about your security concerns, and why they need to be solved at the specification level, rather than by implementations. I'm sorry I lost you, but that's as simple as I can make it. Please explain what has confused you. Future development will view manually-actuated links to video as archaic as we would find a site that only linked to photos, so yes it is a corner case (name some sites that do this, otherwise).
brianary
You lost me when you mentioned one of my points was a strawman fallacy and you failed to be specific. My security concerns are clearly explained and are specific. If you do not understand them then ask specific questions to be answered, or perform some basic research into security best practices.
brianary
Layout is not a function of markup. That is what CSS is for. The W3C created a solution for forms many years ago. It is called XForms, and unlike HTML5 it is a standard. You need to read my points again, as I never said you could not use XHTML or HTML4. You completely misunderstood my third point are adding some of meaning to it that does not exist. If you see only one security problem with client side scripting then there is much about security that you do not know. I will not waste both of our time by providing you with security guidance you will not understand. You have much to learn.
A: 

HTML 5 is more web-application-centric than previous versions of (X)HTML.

Perhaps the most important change is Web Forms 2.0, which adds validation (!), crypto key generating inputs, several date and time inputs, number inputs, email and URL inputs, output elements, and more.

There are other things, like the ability to list URLs to pre-cache, a better layout model (header and footer elements), and automatically convertable values: meter and time, e.g., that allow the browser to, say, convert miles to kilometers for display in certain cultures. There are many new elements for things like progress bars, aside (for sidebars), figure, expandable details, menu, and others.

Too many people get caught up in the audio, video, and canvas tags, which will significantly simplify media embedding (today, it's a mess), and provide better user control. Despite what you may have heard, this doesn't mean the end of Flash or Silverlight, necessarily. These technologies could easily be leveraged by the browser to provide the functionality for these elements, but would have to compete at the user level, rather than at the developer level.

It's still pretty controversial, and there's no guarantee that the browsers will implement this stuff completely (optgroup in HTML4 was a fail there), or well (client certificates were a huge fail there), and the spec isn't complete yet, so it may be something to wait a bit more to see if support fully bakes in the next year or so.

brianary
A: 

It is totally wrong to think of HTML 5 as the next incarnation of HTML 4, it's not. HTML 5 goes way beyond what HTML 4 is capable of. HTML 5 is designed to be a fully fledged web based application platform. So it's not just about how to display 'things' in a web browser.

  • Web Workers
  • Web Sockets
  • Application Cache
  • Global Storage
  • etc....

It also spell the end of the era were we talked about web 'sites' needing to work without JavaScript. JavaScript is integral to HTML 5 and the future of the web.

Of course it's up to you if you ever want to implement any of this stuff but my guess is that in the next few years everyone will be using this. Browser vendors with the exception of Microsoft are implementing these features at a frightening rate. So many HTML 5 API's can already be implemented.

zardoz
A: 

Yes, but not yet.

Pekka
A: 

The correct answer is: it depends.

There are a lot of stakeholders in the browser arena and some (cough Microsoft cough) have a history of hostility towards public standards. While many tout the video tag as a reason to use HTML5 it should be pointed out that MS don't support it all and Apple and Nokia are being tricky about format support (Apple own Quicktime, Nokia is an MP4-AVC patent holder).

Other features like the storage proposal are based on the idea that users and vendors won't simply disable these features out of security concerns (like cookies are often blocked now).

The essential problem with HTML5 is that conformance by browser vendors is optional. It can dictate anything it wants but it can't make browser vendors comply. This provides vendors the opportunity to hold the spec to ransom, or ignore it, or "embrace and extend" it as their interests dictate.

From what I've seen on the WHATWG list most of HTMLs success will be in areas where there is little or no ability to profit from non-conformance. This basically means things like caption and dialog tags, custom attributes and other things that the majority of web developers will never use, understand, or care about.

I basically see it going the path of Open GL 3.0. Being mangled by corporate agendas until it's a shadow of its anticipated glory. It'll come too late to be of much value and there will be a hundred different implementations of HTML5 based on browser vendor and version so that designers 10 years from now will still be writing to HTML4 just to have some consistency in their pages.

Pretty much everything depends on Microsoft, since anything not supported by IE will see sporadic and lacklustre adoption. Given Microsoft's history in this area, combined with their apparent absence from the WHATWG discussions, their aggressive promotion of Silverlight and Windows Presentation Framework, their substandard HTML rendering/creation in Office (see the Outlook 2007 controversy) and their slow adoption of CSS3.0 and HTML5 features it's hard to have much confidence they'll play ball.

SpliFF