HTML 5 Wish List
Let's face it, HTML 4 is old. Really old. No doubt older than your PC. Older than your iPod (older than the very first iPod). It was built and designed solely for document rendering in the days before NetFlix added ratings to their website and Google started mapping. Now we have spreadsheets, word processors, work flow engines, games, and outlook style email clients running within the web browser. All on HTML 4. All with multiple hacks to make the code run correctly in as many browsers as possible. All with inherent security vulnerabilities . Isn't it time for a new version of HTML?
Douglas Crockford thinks so. The man behind JSON, JSLINT, and Manic Mansion (of all things) has a lot to say on the subject and offers so very timely and useful suggestions on what the next version should look like.
Here is the a quick summary of his wish list and an explanation of why Google (of all people) may make fixing HTML impossible.:
- Lose the doctypes and just require version=5 in the HTML tag of any compatible HTML file.
- Tighten security in the scripting language frameworks and allow only one type of language on any given page (to make the browser more secure). Javascript would be the default.
- Lose the frame tags.
- Add module tags to support mashups and frame like applications.
- Standardize the default CSS appearance across all browsers.
- Require UTF-8 encoding for all HTML 5 docs (yes please!)
- Kill off quirks rendering: "Browsers should not perform heroics to try to make bad content displayable."
- Make custom tags first class and allow them to inherit from existing tags via CSS
- Add getElementsByCSSSelector and getElementsByAttribute methods for traversing the DOM.
Unfortunately, given the laundry list of new features being pushed by the small-three browser makers (Apple, Opera, Mozilla), things are looking like they are going to get more incompatible, not less. It gets even worse when you consider the general chaos in the standards community and Microsoft's refusal to even show up and play ball.
So why are things so screwed up? Blame Google. Thanks to FireFox's lucrative search box Mozilla had an income (mostly from Google) of well over $50 Million last year. This pie is so tempting that many speculate it is the reason for Apple's more aggressive roll out of Safari and for IE's coming back from the dead to get an incremental release in 7.0. Whatever the case, there is now a big sack full of cash for anyone who can make a popular browser. This means innovations that, on the surface, are very good for consumers. But as these innovations stack up and become incompatible across browsers we run the risk of destabilizing the web, fragmenting applications, and taking web development back to the Netscape vs Microsoft days.
Innovation needs to happen in the language, not propitiatory browsers. The suggestions above are a good start, but they only have a snow balls chance in hell of getting fully implemented at this rate.













Comments
11
Subscribe to commentsstopsatgreenNov 29th 2007 5:36PM
Sounds fantastic! Just means recoding every single website in existence, and it'll all be great!
Alex MNov 29th 2007 6:46PM
@stopsatgreen: what?
If it's the LANGUAGE that changes, only pages written in that language will need to follow those rules. Nothing needs to be re-coded if nobody wants to. You can still write your table-based pages, just don't include version="5" in your tag.
EmceayNov 29th 2007 7:11PM
I wish something would come along and put all browsers to bed and stop this fragmentation. It's a constant headache and it's baffling that the powers that be would let things be the way they currently are. Yet, as long as the general public stays oblivious to the gears turning behind their web pages, things will never change. Nearly every page I create, I eventually open in IE and sigh because I've still got hours of tweaking ahead. Only folks that have experienced it really understand the pain. Sadly, they are the minority.
rpnNov 29th 2007 7:45PM
W3C is already on it.
http://www.w3.org/html/wg/html5/
Andy ChapmanNov 29th 2007 7:48PM
A specification for HTML V5 has already been produced:
http://www.whatwg.org/specs/web-apps/current-work/
HTML V5 should be about acknowledging the growth of web applications, and the need to accommodate them better. In this light, I think Douglas' version is too narrow in scope. HTML V4 has no native tags for some basic UI elements, such as datagrids and trees - grids in particular are essential for good applications. We can hack around it with scrollable iframes and fancy javascript, but that's pretty ugly IMHO.
Client side data storage (e.g. Google gears) is another area that HTML V5 should accommodate.
dominicneagleNov 30th 2007 6:21AM
What about XHTML? Last I heard, HTML 4.01 was the end of the line for HTML, and the W3C were developing XHTML 2.0 to replace XHTML 1. So what's HTML 5 all about then?
Also, I have to say that the "wish-list" that's posted here is a bit hit and miss. It seems to me that most things on that list are either too obvious (such as "Standardize the default CSS appearance across all browsers") or just not good common sense (such as "Kill off quirks rendering: Browsers should not perform heroics to try to make bad content displayable").
Obviously the best thing to happen would be to have all browsers use the same default CSS settings and utilize the standards in the same way, but that's not likely to happen. Similarly, it would be extremely bad news for most of the web if browsers lost their quirks mode, as it would mean that many millions of websites (some rather popular) would not work properly, and companies would be forced to spend thousands of pounds repairing their websites to meet the standards. Which they dont want to do.
And what would happen then? Well, people just wouldn't use that browser any more. They dont care that the website they're looking at isn't coded to standards. They just care that they can use the site, and that it works. And if the browser they're using decides not to show their favourite website any more, they'll switch to another browser. Which means the developers of the browser would ultimately lose money.
So it's not gonna happen. Shoddy code and millions of current IE6 users will see to that. Until MS starts playing ball and develops a browser that compares well to others out there, such as Firefox and Opera, then there will always be people making bad websites, and always be people willing to use them. And if they're ever stopped from using them, they're not going to be happy, and people will lose money.
Ian SmithNov 30th 2007 11:01AM
In terms of quirks mode, it would be up to the browser makers to handle that in none HTML 5 docs. The point is that any version=5 html documents would, as part of the standard, follow the same rules. It shouldn't be a requirement every time a page is made to standardize the look and feel of the page across all platforms. The idea would be that if you used version 5 all the browser would do the same thing by default.
It is a little pie in the sky I admit, but HTML works with a few minor caveats. Fix those and we have a great platform in the web. Ignore those problems, focus on XHTML 2, and developers and browsers makers will ignore the new addition and go on hacking around in HTML 4.0.
We don't need a new language, we don't need a "better" language that you can do more powerful things in, we simply need a fixed language. The web benefits most from stability, not extensibility.
kingkool68Nov 30th 2007 10:56AM
HTML 5 sounds a lot better to me than XHTML 2 http://xhtml.com/en/future/x-html-5-versus-xhtml-2/
And I think the state of browser compatibility is a lot better these days than it was even 3 years ago. Sure, IE is a pain in the ass but there are well documented ways to get around it now. Conditional comments are a godsend in this respect. From the release of IE7 things are only going to get better.
As an added bonus, see how many HTML 4 elements you can name in 5 minutes. I mustered 44 of a possible 91 -> http://www.russellheimlich.com/blog/how-much-html-and-css-do-you-know/
dominicneagleNov 30th 2007 11:21AM
@7
I agree. Things need to be sorted out and standardised across the whole of the web. My point is that just isn't going to happen any time soon. It doesn't really matter to me if a whole new language is created to do the job, or if revisions to an earlier language are made, I just don't think we'll ever get to the stage that we should be at.
Having all browsers render HTML (be it 4.01, 5, XHTML 1.0 or XHTML 2.0) in the same way would be great, but like I say, while we've got browsers that are happy to render crap, and users who are happy to use browsers that render crap, then we'll never get to this ideal utopian world.
And by utopian world, I don't mean all pages should look exactly the same, as you seem to think. I just mean that every browser, given the same HTML to render, will output the same thing.
Will HTML 5 (or XHTML 2 for that matter) accomplish this? I doubt it. The creators of the language can only create the langauge. The tools that interpret the language are the responsibility of the individual vendors like Mozilla and Microsoft. So we'll be plagued with the same problems that have plagued us for the last 15 years - each browser will interpret things differently, giving us web developers more headaches. It doesn't matter what language is used either, it's just inevitable. It's a shame, but it's just the reality I'd say.
Also, why bother with HTML 5? XHTML has all the advantages of being an XML-based langauge as opposed to an SGML-based language like HTML4.01, so why would we revert back to an earlier time? As I mentioned in my previous post, I don't know what HTML 5 is all about, and maybe it will be better than XHTML 2, but it seems like developing both of them is a bit of a waste of time. Especially as neither of them are going to solve the consistency problems that face web developers every day.
:(
Ray BalhornNov 30th 2007 12:33PM
There are several things that need to happen but as long as they made "hidden" form objects actually hidden I would be a happy camper.
stopsatgreenNov 30th 2007 3:26PM
You can't kill off quirks-free rendering without recoding (almost) every website in existence; if your browser only supports strict, standards-compatible pages, you won't be able to visit 90% of the internet.
Like it or not - and I don't - we have to build on top of what's already there; that's why XHTML2 is such a dud, and why the WHATWGs HTML5 proposal is the best option.