Is It Time for a 'Kinder, Gentler HTML'?
jg21 writes "Via the Web 2.0 Journal, a worthy link to Yahoo! Architect and JSON inventor Douglas Crockford's latest ideas to fix HTML. He's categorically not a fan of HTML 5, which is still just an Editor's Draft and not endorsed by W3C yet. Crock puts forward ten ideas that in his view would provide extensibility without complexity, adding that the simplification of HTML he is proposing would reduce the cost of training of web developers and incorporates the best practices of AJAX development. From the article: 'The problems with HTML will not be solved by making it bigger and more complicated. I think instead we should generalize what it does well, while excising features that are problematic. HTML can be made into a general application delivery format without disrupting its original role as a document format.'"
You can read his proposal in full over here: http://www.crockford.com/html/
:-)
Make sure you have about 2 minutes to spare. You're going to need about that long to read it from beginning to end. What you'll probably find is that he hasn't really solved any of the major issues plaguing HTML or even thought through many of the problems and use-cases that HTML 5 is trying to solve. In fact, his entire "design" can be summed up with the following sentence: "Let's get rid of HTML features that I believe cause problems."
Meanwhile, he still leaves the problems of consistent parsing, semantic meaning, multimedia presentation, and a whole host of other issues unaddressed. Which means that his "design" fails to compete with the intended purpose of HTML 5 at even the most basic level.
I have the highest respect for Mr. Crockford, but my opinion is that he should study the reasons behind HTML 5 a bit more carefully, as well as solicit a bit more feedback from the community before attempting to push a non-solution to their problems. Best of luck to him.
Javascript + Nintendo DSi = DSiCade
From the part of the proposal entitled "That's It" I learn: These changes significantly improve the reliability, security, and performance of HTML applications. The simplification of the language reduces the cost of training of web developers. It incorporates the best practices of Ajax development. It provides extensibility without complexity. The deltas from HTML 4 are generalizations and reductions, which should make browser implementation more straightforward. This is particularly important for mobile devices that cannot tolerate the power demands of complex platforms. The only new feature here is the module, which is critical for security. Modules makes safe mashups possible. So what I'm reading here is you think these changes make it more "straightforward mobile-friendly?"
I am by no means an expert on this but I do code web applications for a living. I will tell you that these changes do not necessarily "improve reliability, security and performance" of HTML. You are suggesting changes with mobile devices in mind and the developers in mind. Adding another getElementsByTagName method to Javascript will make it easier for developers but over use of that will only make searching the DOM more intensive and lead to worse performance. And remember the original intent of HTML! If you are complaining that mobile devices can't render what a desktop can, perhaps it's time to look at a mobile-HTML standard and either you put a cross translator on the mobile browsers or you entice developers to make two sites. I'm not opposed to these ideas, I just don't see how they're going to really help anything but the specific users this guy has in mind. They certainly wouldn't help me at all or provide a better user experience for my end users.
This is ridiculous. You are attacking the wrong target here, you should be attacking the browsers that don't behave according to standards like the cowboy Internet Explorer browser that sometimes does whatever it wants. Many nights I have spent hacking code that checks what browser is being run and behaves differently because it's Internet Explorer and not "everybody else."
Also, a bit offtopic but I Googled "kinder gentler" in an attempt to understand its meaning and for some reason the first result was the White House page for George Herbert Walker Bush. What the hell?
My work here is dung.
This sounds great, but I feel that by turning HTML into a more well-formed document (i.e., XML instead of SGML), the W3C did browser writers and developers a service. Please, let's not go back to the "guess if there's a closing tag" game. I don't mind the script, frame, module, CSS, encoding, and entity changes, but the custom tags/attributes and looser format limits (quoting, ending tags) seem bad.
ttuttle is a rankmaniac
HTML 5 is strict in the formulation of HTML entities. In the past, some browsers have been too forgiving of malformed entities, exposing users to security exploits. Browsers should not perform heroics to try to make bad content displayable. Such heroics result in security vulnerabilities.
This will clearly have a negative effect on society. When the script kiddies can't "haxxor" anymore, the only alternative is DRUGS! AND DRUGS ARE EVIL!! CRIME WILL SKYROCKET!
I got a catholic block.
*waits for 5: Awesome at putting words in bold*
So basically, -1 troll/offtopic is really slashdots way of saying "I hate that you thought of something before me."
One that eats babies for breakfast, at minimum.
It strikes me that would be the route to go to get rid of all these crappy, poorly done pages.
Self proclaimed typo king, and inventor of the bear destroying coffee table (patent not pending).
WTF!
Kinder and gentler? Jesus, you kids today! We need an HTML that stinks like mace, has sharp barbs all over it, smokes, drinks, hires hookers, opens bottle caps with its teeth and beats the hell out of innocent policemen and then fries them with their own tasers.
-mcgrew
mcgrew's razor: Never attribute to stupidity that which can be explained by greedy self-interest
What would the world be without Captain Hook!
I think it's kind of self-defeating. On one hand he advocates custom-tag creation, then he advocates elements by tag selector. Encouraging one or the other is fine. But offering both will only confuse developers and undermine both options. Going with custom tags is probably the better solution as it encapsulates the semantic information a programmer would be looking for while still being unique enough to style with CSS.
That being said, if you really want that feature try this script:
http://simonwillison.net/2003/Mar/25/getElementsBySelector/
I think you want to read the DOM Level 2 Style Specification. The short answer is: Yes, the CSS is accessible through DOM APIs. The long answer involves lots of shouting and complaining about Microsoft and their stranglehold on the market.
Javascript + Nintendo DSi = DSiCade
Without breaking Slashdot tradition and reading TFA, why not:
In a survey of 100 programmers, 111111 thought that duck-typing was a good idea.
HTML was never perfect. Then the standards people took too long to update it.
Netscape and then Microsoft added custom HTML.
At this point, the browser became written to execute bad code well...
Now we've got cross-browser headaches and standards confusion.
I say bring on HTML 5, and bring on the strict. Make it look good in both browsers. End the sheer boredom of trying to make code display well on FireFox and IE, both of which are bloated pieces of crap, when it works just fine in Opera.
Simplify, and abstract, but don't expect HTML coders to be coders... it's a language for layout for the rest of us, and its genius has always been its simplicity and adaptability.
technical writing / development
Yet the Yahoo developers keep on trying to tell the rest of the world how to create web sites, or how HTML should look, etc.
The Yahoo developers should first build credibility by getting their own house in order before they try to instruct others how to do their job.
Honestly are HTML authors really that damn stupid and lazy that they can't manage to write compliant XHTML 1.0? Really, people, it ISN'T THAT BAD. Yes, there is a lot of complex stuff and does namespaces and its all modular and things, but you don't need to use all of that! Putting a forward slash in an empty tag and quotes on your attributes and case sensitivity really aren't HUGE burdens on developers. Perhaps we've all gotten too used to IDEs that auto-complete and auto-adjust case and everything else that we've all turned off our brains. It doesn't help that Microsoft (and even Netscape played along in the bad old days) have encouraged the development of crock-o-crap HTML by adding their own bling to standards and resorting to loosey-goosey tag-soup parsing fro so many years.
HTML5 seems to be doing a lot to make sure mediocre developers can stay in their comfort zone and to perpetuate many of the more serious problems we still face today. The HTML5 FAQ makes me cringe in many places!
* "no DOCTYPE. You may include one if you wish, though this is not recommended as they are only relevant when using a validating parser which web browsers do not have." - This is the wrong recommendation and a really stupid rationale. One cannot assume that web browsers will be the only clients to read your document, nor that all clients will lack validating parsers. This saves a small bit of work for lazy HTML authors at the expense of making
* "HTML 5 is being developed with IE compatibility in mind." - This is a backwards way to move forward with proper standards. You design applications towards standards, not standards towards applications. IE is already mostly compatible with existing standards--the solution is to make sure IE8 tows the line, not to bend over for IE developers. In the automation industry, there is a massive, complicated 8-headed beast of a standard called IEC 61158 that is a good example of what happens when applications drive standards. The IEC was somewhat stuck here however because they got into the game late, when all these battling vendor-developed systems were already established. With the Internet, though the situation is not perfect, existing standards hold a fair and increasing amount of influence. I believe the philosophies behind HTML5 don't do enough to prevent the perpetuation of tag soup and loose vendor-driven application of standards.
* "The details are still being worked out, but the plan is to indicate the maturity level on a per-section basis." - This puzzles me: They seem to be abandoning the "modules" approach being sought by XHTML in the interests of simplicity, however it is intended that user-agent developers will be implementing the standard "on a per-section basis" as they figure everything out along the way? And they expect this process to take TWICE AS LONG as XHTML did to establish itself as a ratified standard? I sense a lack of vision here--something along the lines of "lets look at what we've got, put Bondo on the dents and holes then spray it with Tremclad to make it look pretty". Not only that, they've decided that they'll work on the right fender and the left door this year, then the rear bumper next year and so on. There's nothing wrong with incrementally ratifying standards, but how about some VISION and PLANNING? Define some modules and their scopes then set teams upon them to tackle them individually and have them ratified as they reach maturity, and do so in a logical fashion (some sort of "core", then forms, then scripting, etc)
* "Void elements in HTML (the new name for empty elements) do not require a trailing slash...However, due to the widespread attempts to use XHTML 1.0, there are a significant number of pages using the trailing slash"--yet ANOTHER wrong recommendation and faulty reasoning. Lazy HTML authors are annoyed by the slash, but it's been part of XHTML for years so there are a lot of web documents that use it, so HTML5 parsers will have to continue to parse tag soup and do the "guess if there's a closing t
Get rid of all those sharp, pointy brackets around tags! Ouch!
"Flyin' in just a sweet place,
Never been known to fail..."
...or at least will play a much less significant role in the future.
As a document format, HTML is great... for example, I throw in a few tags in this forum to create bold, italics, links, etc. Throw in tables and images an you can create a very nice looking article for the web.
However, there is a huge difference between "documents" which can be read in various different monitor/browser sizes, fonts, and languages and what a majority of paid developers do with HTML within corporations. That being creating pixel perfect applications that work in one particular browser (IE or Firefox).
To that end, what we need isn't yet another HTML specification which will make the browsers even that much more bloated and incompatible with each other... it is an application framework for the web. In fact, this is what Adobe and Microsoft are creating with Flex/AIR and Silverlight, respectively. Ultimately, the "markup language" of the future will be dynamically created and compiled on the server and sent to the browser in a binary format which is run by a plug-in.
Therefore, I believe HTML should evolve into what is started out as... a DOCUMENT format. It should really move towards a light-weight Open Document specification, NOT towards something that attempts to embody "Web 2.0" features which are already evolving well beyond dated HTML specifications that are nearly a decade old.
programming myself into obsolescence