Question

From reading the mailing lists and looking at the specification I cannot tell what the limits of HTML5 are as a software or programmatic technology. I have seen where they have attempted to standardize video and audio formats in HTML5 and it seems they may be writing the definitions for XHTML5 into the HTML5 specification. It also appears the specification is extremely lengthy and covers topics far outside the mere definitions and minimally required processing instructions of a markup language.

With version 5 is HTML now an application interface opposed to just a markup language? If so then what are the boundaries and defined limits of the technology? If not, then why are so many topics irrelevant to the processing of markup taking such a spotlight in the development process of the technology? When do the boundaries of a markup language end and the application preferences of a user-agent application begin? With HTML5 that separation does not appear very clear, but as an industry standard it should be crystal clear, right?

Was it helpful?

Solution

You're not the first person wondering about this. See the discussion between Rob Sayre and the HTML5 editor (hixie): http://blog.mozilla.com/rob-sayre/2008/02/19/bloaty-parts-of-the-whatwg-html5-specification-that-should-be-removed/#comment-7559

My understanding is this: there is a number of

  1. widely implemented, but underspecified or not specified old technologies (e.g. "DOM 0" features, tag-soup parsing)
  2. "important" new technologies, which the modern browser vendors would like to implement interoperably (e.g. video, canvas, offline).

If hixie is interested in them and no other editor steps up to maintain a separate specification, hixie prefers to keep them in HTML5, "[rephrased] paying the price of a bloated specification for not stalling the web progress".

BTW, if you want an authoritative answer, you should ask hixie himself or in the HTML5 discussion forums.

[edit] found an addition e-mail from hixie on splitting stuff from the HTML5 spec: http://lists.w3.org/Archives/Public/public-html/2008Oct/0127.html

OTHER TIPS

With version 5 is HTML now an application interface opposed to just a markup language?

Yes.

If so then what are the boundaries and defined limits of the technology?

Mostly a self-imposed rule of not taking any major new features anymore.

When do the boundaries of a markup language end and the application preferences of a user-agent application begin?

It's blurry. Is this Stack Overflow page a document or an application?

With HTML5 that separation does not appear very clear, but as an industry standard it should be crystal clear, right?

The spec is clear in its operational requirements. It doesn't need to be clear in defining a distinction between documents and applications.

At the risk of sounding like an oversimplification: if it's in the spec, it's part of the standard. In order to be compliant, an agent will have to implement the specified portions.

The fact that it's not "just a markup language" is not a new thing with HTML 5. HTML specifications were always a little bit more than simply document markup. From what I can tell, the efforts to refine HTML into a markup-only definition reached their pinnacle with XHTML.

HTML 5 seems to be an acknowledgement that pure markup alone doesn't really go far enough towards addressing certain real-world concerns, and an updated standard could help to resolve those issues: "But what should happen in this situation?" "Oh well, that's up to the user agent, we don't worry about that in our markup spec." ... Not a very satisfactory solution in a web where end-user experience suffers because of a lack of consensus on just such issues.

Is it an API? perhaps, but as a language it will still work as mere markup when needed (think of non-graphical user agents). In some cases, it should work better than the available choices.

To answer your last question: no, in a standard, the separation between markup language and behaviour of the user agent does not need to be "crystal clear". What made you think it did? But I suspect it is clearer than you think: can you give an example of a part of the spec where you are not sure if it is referring to markup or user agent behaviour?

You may find this article very interesting: X/HTML 5 Versus XHTML 2 http://xhtml.com/en/future/x-html-5-versus-xhtml-2/

Since W3C is slow in getting an updated spec and the web is not only fragmenting more, but there are needs that can be met that aren't really possible due to the specs being so old, HTML5 is working toward fixing these, such as the canvas tag and having embedded video/audio. This replaces the very overused <object> tag and Flash having to be used instead.

The web has gone beyond just serving up web pages, now we have javascript applications, so now we can have more interactivity than was really possible before due to some of the changes not only from HTML5 but the movement toward a newer version of JavaScript.

So, HTML5 should be more than just a markup language as the web applications have gone beyond servers just serving static pages, which is what a markup language was good for.

HTML, from the very beginning, has had this tension between markup and behavior (cf. Why do we have an IMG element?). HTML and the web are inexorably linked already. The HTML specs waver between technical purity and paving the cowpaths.

HTML is a markup language, but the behavior of application implementing the spec is constrained. For more pure markup, XML or SGML would be more appropriate.

As I understand it, you are asking why the spec isn't limited to the markup portion (x/HTML 5) and instead also specifies user-agent behavior, is that correct? If so, I believe it is because the spec does cover user-agent behavior, intentionally so. It specifies how the implementing application should behave in order to be in adherence to the specification.

If you were starting from scratch today, you would not end up with HTML5. However, we're not starting from scratch and the HTML specs have always tried to balance the real world with the ideal.

Here is the link stating the differences between HTML5 and HTML4. A lot of attributes and tags were removed from HTML5 considering that they were better handled by CSS. What if the programmer easiness if he is not mastered the CSS?

Perhaps the best answer to your question is "What are you trying to do?".

I say that because if you're looking to build a web application now that works in modern web browsers (read: not IE) using HTML5, then the scope/boundaries that you're going to care about are what the main modern browser manufacturers are currently supporting and plan on supporting soon.

Google Wave did this and came up with a great product that works cross browser (Firefox/Chrome/Safari/Opera). Some basic tenants of HTML5 that are widely supported already are video/audio/canvas/storage/geo.

HTML5 Support

http://radar.oreilly.com/2009/05/google-bets-big-on-html-5.html

Licensed under: CC-BY-SA with attribution
Not affiliated with StackOverflow
scroll top