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.
- 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.