W3C Considering An HTML 5
An anonymous reader writes "When the decision was initially made to move in the direction of XHTML, instead of a new version of HTML proper, it seemed like a good idea. Years later and the widespread adoption of CSS (among other things) has proven that things don't always develop the way we expect. As a result, HTML 5 has been revived by the W3C. After some lobbying and continued work by the Web Hypertext Application Technology Working Group, the old web markup language is getting an official face-lift. A post to the Webforefront blog explains the history behind the initial decision to move to XHTML, and why things are so different in the here and now."
are they going to enforce all the current browsers to support it fully and correctly as well?
or will some browsers go their own way with "extensions" and "implementations" specific to their own system like last time.
Actually HTML5 is largely a result of work by the main browser makers, except Microsoft I believe. Hixie from Opera is the project lead of the WhatWG which was created to extend HTML to make it more applicable for web applications. It fixes a lot of the problems with both HTML 4 and XHTML, and its backwards compatible with *both*.
It's too hard to implement, because there is no default way it should look like. There is no default, standard stylesheet. What height is H1 supposed to look like by default?
Also look how hard and painful it is to implement a 3 column liquid layout with just HTML and CSS. Compare this to XUL's grid, vbox and hbox (yes, I know there are now CSS selectors in Firefox, Opera and Safari to do that)
Fact is, HTML is based on a page/document model, whereas, nowadays, HTML "pages" are most of the time "screens", part of an application. The idea to separate content and layout is nice, but the thing is, most content in pure-ist HTML+CSS is basically a bunch of div's and span's. It isn't much semantically richer than tablesoup.
IMHO, if I were to redesign HTML today, it would look a lot like Xul, with XBL2 and microformats on top.
Can I have a client side include this time around?
Server side includes are very nice, except that they require a server!
Client side includes have the potential to be much nicer! Two quick reasons: the first is when (X)HTML is used on (for example) CDs or similar, there isn't a server, and trying to make each page the same either requires fucking around with templates and software, or else using forms...; the second is it would work the same was as having external CSS, saves on download time, allows parts of the page to be downloaded only once and so on. (This second point would also make it really easy to offer different versions of the same page, include header and footer, and don't for example.)
I know that JavaScript client side includes exist. They, however, are a kludge. They need JavaScript for one!, they might not work on all browsers, they might not be standard and so on. No thanks.
A simple client side include that worked on the client side the same way the PHP include does, and I'll be happy.
I wank in the shower.
Actually, it was originally from Apple Safari. Apple invented it for their desktop widget thingys. Opera and Mozilla have both embraced it with open arms.
I agree. I absolutely love this feature! Unfortunately, it's only implemented by Firefox at the moment. I was hoping that it would show up in Safari 3.0 so that richer iPhone applications could be written, but it was not to be. The feature request is still sitting out there with no assigned implementer. I'm tempted to dive into Webkit and maybe see if I can add it.
Javascript + Nintendo DSi = DSiCade
I have suggested this before and always got shouted down for it... but as a web developer, I really wish they had simply implemented tags like 'date', which the browser would automatically know about as a date field and have its own built-in popup calendar for browsing dates, rather than having to either rely on plain text, lame dropdown menus, or else implementing yet another date popup javascript library (or including yet another javascript library which slows down the user experience even more).
There are so many things that could be included in the html language if it weren't for the purists - dates, columns, real collapsable tree controls, counters, AJAXified controls that work without all the crap you have to do today to detect browsers... but no, the purists say "you can do it in this (incredible convoluted) css" or "you can implement this in javascript" (cue long convoluted "obvious" solution).
Geeks are notorious for generalising and making everything nice and orthogonal, but they often forget that sometimes it's worth having something that makes life easier 90% of the time, even if it's technically possible to reduce it to a set of other constructs that already exist.
Remember lisp, nobody uses it for real-world programming even though it's incredibly powerful. No, we use other languages that have lots of useless and redundant and inflexible syntax that makes the act of everyday programming easier and more straightforward most of the time. Are these inferior languages as powerful, expressive and all-encompassing as lisp? No. Are they easier for 99% of mere mortals to comprehend and use? Yes. If we had tags for controls that reflected the more dynamic nature of the Web today, even if many of those tags could be implemented in javascript, it would make pages smaller and faster 90% of the time (you could still implement it yourself if you really needed additional functionality).
But, as usual, the purists are in control. We're not supposed to use tables for arranging pages; no, we have to use CSS to do that. So now we have a bunch of pages that don't render properly. But do they admit that it was a bad idea? No, it's the browsers' faults for crappy implementations. I don't get it, this religious mindset that says "You must do it one way, our way is the only way". "The TABLE tag is for tabular data only, don't use it for arranging the page". What crap. The table tag is amazingly useful, it works in all browsers, and no I don't mind in the least typing TR and TD everywhere. It's simple and it works. Yes, it's more verbose perhaps than the CSS version but at least it works in all browsers and doesn't end up with overlapping crappy text all over the place.
Yes there is, the browsers would be checking to ensure it's valid. If no browser accepts it, the developer will have to fix it or get fired.
True confidence comes not from realising you are as good as your peers, but that your peers are as bad as you are.
Some of the WHAT-WG's proposals for HTML5 look fun.
Unfortunately there seems to be a lot of crazyness in there too. XHTML 1.1 went some way towards reducing the redundency of some tags. For example, the object tag replaces embed, iframe, etc with a single unified tag to handle all embedded objects (not sure why they didn't ditch img at the same time.
HTML 5, on the other hand, seems to be keeping object but also reviving iframe and embed. Meanwhile they are introducing a load of tags to do the same job - video, audio, etc. This is crazyness since it means you have to revise the markup language every time someone invents a new type of embedded object, whereas just using a single object tag for everything means your browser can determine the type of content from the MIME content type of the object and render it if supported.
I would prefer to see new features going into XHTML rather than HTML. However, XHTML does need a modification IMHO: the spec states that XHTML which isn't well formed must not be rendered - I think it would be better to require the browser display a page saying something along the lines of "this page is broken, click this button to try and fix it - it may not render correctly". Forcing web developers into writing well formed code is a Good Thing, but the end user needs a way of trying to render the page anyway if the developer did muppet it up.
The trick to making bad web developers write good code is to make sure the people who are paying them know that they are bad developers - presenting a page stating that fact is a good way to do that.
I don't believe the spec can (or should) define how to handle broken code in the specific sense - defining the handling for every corner case is impossible and would make the spec far too complex. Much better to just say "you present an error, give the user the option to fix it and then fix it up as best you can (how to do this is outside the scope of the spec)".
http://blog.nexusuk.org