Stop Standardizing HTML
pfignaux writes with an interesting view on the place of centralized standardization in modern browsers. From the article: "When HTML first appeared, it offered a coherent if limited vocabulary for sharing content on the newly created World Wide Web. Today, after HTML has handed off most of its actual work to other specifications, it's time to stop worrying about this central core and let developers choose their own markup vocabularies and processing."
Instead, the author proposes that CSS, Javascript+DOM, the W3C's accessibility framework, and Web Components are sufficient to implement the rendering of smaller, domain-specific markups.
How about "no"?
There is also a benefit to having people share a common vocabulary, such as communication in broader languages like English, Spanish, etc. I have a hard enough time communicating with people in the same language!
Some people die at 25 and aren't buried until 75. -Benjamin Franklin
Stop making our job skills transferable!
Your courageous and selfless spelling corrections have made me a better person.
What was once a standard for rendering text and images together in a single document has suffered from severe scope creep over the years. With the addition of multimedia, HTML crossed the line from static to active content markup, which in my opinion defeated its original purpose. HTML needs an active companion language, an actual programming language, one that will replace the disparate third-party technologies in use today. Just eliminating Flash and Javascript for example would eliminate a vast majority of the world's browsing headaches.
We are so close to a Web-based operating system I can taste it.
If you break the html standard... each browser will interpret things even more differently than they already do. This means you now have to give a crap about what browser the visitor of your site is using, because the developers went off and did their own thing. I'm glad the author found some toys he likes... but this hardly makes an html standard useless. For example, what does this do for tomcat? What does this do for ASP.NET? The answer is nothing.
But it's working the way it is. The time-honored software way is to fix it.
<_MSIE_XZ92 MS_FONT_TP = "comic sans" Q_BINARY_BLOB = "89FF372198A" BRWSR_FOO_P = "unidiv/flimblargle">Great idea!</_MSIE_XZ92>
This post optimized for viewing with with MSIE 9.3.
The web worked when it had a simple standard that worked in every situation.
We've put layers on top of that, and now it's chaos. A bloated, irregular, often incomprehensible chaos designed to allow people to make custom interfaces out of the web.
The whole point of the web, versus having an application for every specific task (like we did on desktops before the 1990s, and like we now do on smartphones), was to have a standard and simplified interface.
The web grew and thrived under that goal. It's become more corporate, nuanced, isolated, sealed-off, etc. under our "new" way.
"Instead, the author proposes that CSS, Javascript+DOM, the W3C's accessibility framework, and Web Components are sufficient to implement the rendering of smaller, domain-specific markups."
In other words, implement everything new as polyfills. But how would one have implemented new HTML5 features, such as the 2D Canvas, WebGL, and the video tag as polyfills? Even if one doesn't standardize new extensions to HTML markup, one still needs to standardize new extensions to the DOM. In addition, no new elements means that user agents that do not process script or WAI-ARIA, such as robots used by search engines, won't be able to make sense of pages. Do any current web search engines process WAI-ARIA?
Nonstandard HTML! Because remember, IE6 stands for "Is Excellent, 6"!
I guess the kids today consider "ten years ago" to be "ancient history" and thus not worth learning?
CSS, HTML and JavaScript need to be standardized and built to work together. If you want to add your own libraries on then that is fine but I run into so many issues with different browsers handling my scripts differently, this is 100% due to nothing being standardized. I shouldn't have to use special operators or libraries to create the effects I want / need.
This isn't some huge problem that hasn't been resolved. Whitelist the sites that actually need it and leave Javascript disabled for all other sites. It's not difficult and it takes only a few moments to do it and reload a site when you need it.
Of course that would require a few minutes of work on your part and you seem to be too busy whining to do it.
Netscape navigator introduced the notorious BLINK tag and things like frames, back in the early days it pretty much was a free for all.
If in doubt, add one more complexity layer.
Then enable Javascript then and stop bitching. You can even block scripts selectively these days! No one is out to get you, and if you stop using IE6, there won't be nasty code ready to install you a new botnet either.
Ever since Multimedia was added to HTML the spec has gone to shit:
-What codec to choose
-Patents
-And now DRM
Not of these are compatible with the idea to allow compatibility between all sites and all browsers
Obama's legacy: (N)othing (S)ecure (A)nywhere and (T)error (S)imulation (A)dministration
There is already a way to do non standard tags. Take this and leave our html5 alone.
document.createElement('someTag');
News at 11.
Thank you, /., for thinking this matters.
Everyone ought to see TFA and look at this fedora-wearing douche opining on subjects in which he clearly has no practical knowledge.
As if browsers need to be an even more disarrayed kludge than they already are? Yeah, 5 or more browsers and rendering engines that all have their own unique languages and markups, great idea!
Seriously, no. Just no.
1. Parse xml/json to dom.
2. Apply css (use css to make html tags behave as expect... But modifyable)
3. Use any supported language to manipulate.
As somebody who's been avoiding standardisation of language for quite some time: rvt sdvrsv g stvvsr stbgvdyv rbuytynbdtyys bwrtybvey wrbywrtyrb brrbyrvyer tomato.
I hope there's a special place in Hell for the folks in invented and promoted Javascript.
A place in Hell where they are forced to write documents in EBCDIC SGML. And active content in COBOL. With half a Visual Age IDE.
Very much hate these marketing droids.
I like it. Let's just find a good name... lets see.. we can mark up everything now... so I guess we keep the "ML" part. And content authors can create new and unknown tags, the traditional symbol for unknown is X.. I know, lets call it XML!
Damn you autocorrect. Sorry about the title typo.
Then enable Javascript then
Which web search engine supports indexing text added to the DOM by JavaScript? Otherwise, any web site that relies on JavaScript for basic functionality isn't going to get indexed well.
HTML5 is the response by a bunch of whiners that normal xhtml is "too hard." Yes it's too hard to remember to close your tags. It's too hard to remember to put quotes around attributes. Why are humans checking your syntax? Have the danged computer check your syntax.
"Pave the cowpaths" is an excuse to appease a bunch of zealots that are hellbent on pushing their personal preferences and egos into a standard rather than designing something that is quick/easy to parse and universally render across platforms. It's only going to get worse as the standard is never completed over the next decade.
XML serialization of HTML sucks. It's verbose, and it's ugly. But it's effective because it's well defined and it leaves very little room for interpretation.
Honestly, I'd like to see two standards. One, is XHTML5 Strict that follows the XML serialization. This will be left to the big boys who have real work to do. The other standard would be an extension to MarkDown to allow CSS customization with classes and ids. This would allow the path the cowpaths crowd to get things down as fast as possible and keep the verbosity of XML out of their way.
His point was about web content being more dynamic than he thinks is required. A fair point, nowadays a straightforward web form with very limited scope is frowned upon if it neglects to do some sort of javascript trickery or another. He isn't after *more* capability, he seeks a more constrained experience and to have more developers exhibit a shred of restraint rather than mandate moderately more open ended access to the client facilities for superfluous bells and whistles. If a browser hangs up nowadays, it's almost certainly due to badly written javascript or javascript implementation gone insane in the face of valid javascript. Simplistic content doesn't choke up browsers and in a lot of cases, that simplicistic content model *could* suffice for the purpose. There are cases where javascript can enrich the experience beyond what is reasonable without it, but web developers immediately jump to the deep end without a second thought today.
Now, in terms of 'powerful and flexible', I'd argue that inherently it cannot hold that crown precisely because javascript is restricted from doing things like opening arbitrary filehandles and such. This isn't a bad thing, but it means the claim of 'most powerful' is flawed. Javascript is a popular language not due to having 'the' best set of capabilities or the best syntax (everyone bundles some sort of 'library' precisely to bandaid over javascripts failing at the low level), it's popular by virtue of being ubiquitous.
XML is like violence. If it doesn't solve the problem, use more.
A computer program is defined as "a set of statements or instructions to be used directly or indirectly in a computer in order to bring about a certain result," and a programming language defines the syntax and semantics of computer programs. So what makes a scripting language not a programming language? What makes a script not a computer program? For all I can see, JavaScript is like Lua and Python: a dynamically typed programming language that is transmitted over the wire in source code form.
I find it rather abhorrent that the "Web Development" has become a mish-mash of technologies: HTTP, HTML, JS, CSS and extensions: DOM, AJAX.
As a software developer this is a nightmare scenario. When we program computers, we should be programming for the web or directly on the client in a unified way that hides the intricacies of the base technologies from the developer. Imagine writing a program not knowing where it was going to run? Because you just wrote what it should do, and some compiler took care of mapping the concepts to whatever tech the client had available. C# kind of delivers this, but it is way too translucent that you're writing a web app when you are.
There is a toolkit called Wt (http://www.webtoolkit.eu/wt) that is C++. What is Wt doing with C++ on the web? It's allowing you to program your application in an object-oriented way, and the koolhit takes care of mapping things to HTML, JSS, CSS for you! Now, C++ isn't what I would have chosen, but it's a good start. But the fact that you can effortlessly write a WebApp in C++ is nothign short of amazing. And on top of that you can have your functions exported to JS for execution by the client for Ajaxing. (Not ideal that you see that, [leakage] but very cool that you don't have to know JS or AJAX)
If we stop standardizing, fine, but whatever we evolve to has to be (mandate, not conlcusion) a metric fuckton better than what er have now.
Slashdot's rate-of-post filter: Preventing you from posting too many great ideas at once.
Unfortunately, my bank's, broker's, credit union's etc ... websites are unusable without it
Then use NoScript and temporarily allow those sites when you need to use them. Or just permanently whitelist them since your are screwed anyway if your banking sites have been compromised with malware.
I am becoming gerund, destroyer of verbs.
Let's stop standardizing stories to get better stories on Slashdot.
First, we'll stop using tags and titles, it's a clear case of over categorizing
Then, let's stop using english as a standard. Letters were meant to be used freely, not rigidly as used in english.
Finally, we should remove links in stories, so that people can freely search these in the web.
Stupidity is the root of all evil.
I notice that these days the pendulum is swinging again. Away from thin clients that just render what the software sent them. Towards thick clients running on the user's PC that handle the bulk of the processing, talking to a remote server to get the data and then using that data in a local program. The programs are written in different languages, Javascript instead of C/C++, and the data's XML rather than the various formats of a couple decades ago, but we're swinging back to the PC running the programs instead of them running on the server.
So why aren't we just admitting it and saying "Our data's XML, you're going to need our software running locally to interpret it."? That's what non-standard application-specific "markup" languages would be, data that's meaningless without the accompanying program to interpret it.
How about you make your own browser that doesn't follow any standards rather than making the rest of our lives hell?
Yesterday I saw a piece of code a former employee wrote. The variable was declared as $starttheriot I dont' think anyone can imagine how out of control domain specific markup would get if this was allowed. i already spend WAAAAY to much time just getting things working for just IE.
Isn't this was the entire point of XHMTL is? "X" as in extensible.
HTML5 is riddled with faulty logic, flawed reasoning, and bad semantics. Even reading the spec gives the impression that the writing is of lesser quality than pervious versions. Why this is the case after 9 years completely baffles me.
Selected points:
Last but not least: enough with the XML hatred. XHTML5, with proper XML syntax, should be the focus instead of an afterthought. XML syntax compliance isn't that hard or time consuming. Markup languages are for machine consumption, not human readability. Not requiring tags to be closed, bare unary attributes (ie, checked instead of checked="checked") and all the other shortcuts are asinine and only foster laziness and sloppiness... which would not be tolerated in any compiled or interpreted language.
Piss off Simon.
A computer program is defined [in the U.S. copyright statute] as "a set of statements or instructions to be used directly or indirectly in a computer in order to bring about a certain result"
The problem is that the definition you quoted is too broad.
Tell that to Congress. In any case, I'm willing to work with any other reasonable definition of "computer program" that you can cite.
I am typing these words (statements) and will then click some buttons in order to cause a post to appear on this topic (bringing about certain result).
Ow. Mind screw. By your interpretation of the copyright definition, any HOWTO for an app or walkthrough of a video game is itself a computer program.
Apart from the horrid time and memory inefficiency of your solution (which was the joke), how would you have implemented access to the joystick, camera, microphone, and various other peripherals with just divs? As more devices are brought into the scope of web applications, their components will need to be made available through new DOM APIs.
My point is that if someone wants to make something accessible with semantics, he'll have to find some way to express those semantics to search engine robots. Relying on WAI-ARIA to provide semantics won't work until user agents support WAI-ARIA. Wait, where have I heard "until user agents" before? Oh wait, that was WCAG from the same organization that made WAI-ARIA.
What was once a standard[...]
Mod parent up.
Yes, IMO it's realistic right to talk of the 'standard' in the past tense. Now many web-pages seem to have been affected by a 'tower of Babel' syndrome, with everyone asking their visitors to use their favorite subsidiary language upgrade -- but each new 'sub-standard' seems to have its undocumented variants.
-wb-
Yeah, and if people just used the amount of car they need to get from A to B, polution would plummet and fuel prices would go down and the roads wouldn't need so much maintenance. You FIRST!
The original web was designed as a gigantic book where instead of footnotes, you could click on a reference and read it from there. Everything else is fluff but it is that fluff that made the web. Want to see the original web, just browse wikipedia. It is very useful, even essential perhaps BUT it is not all of the web. All of the web is content sites that don't want you to leave for other sites. It is games, it is forums, it is applications that are on the web despite being better suited to a desktop. The web has far outgrown its original vision.
BUT it could only do this because there WAS a standard to follow. A web application being so easy to install (runs on any browser equipped machine) only works if whatever browser is installed follows a standard. The reason Gmail has long since replaced outlook express is that you need to install outlook express and configure it. With the gmail web application, you just go to the url and it just works. That could NEVER have happened if there were a dozen different browsers out there with a dozen different markup languages. Proof?
There are PLENTY of markup languages, I remember one from an old color matrix printer where you could insert color codes. .rtf is a markup language. xml is a horrid collection of them.
HTML works because anyone can look up the specs and the spec doesn't constantly change. We KNOW what happens when you let everyone create their own version, it is called IE and I will kill you before we go back to those days and not a jury in the world will convict me.
And if you want a markup language that does more? CREATE YOUR FUCKING OWN ONE! You are perfectly free to create a new type of "browser" with a new way to getting it to render data files into whatever you bloody well please. Plenty gone before you. And you know why you know of so fucking few? Because everytime somebody says "this should be a new standard" ten other people say exactly the same thing.
You can't create a new standard without getting everybody onboard and that means making compromises.
You can already extent HTML all you want, create a new element if you must but just don't claim to follow the standard strict and you are free to use whatever means you want to then render those new elements. Many common librabries already do this.
But this guy wants to take the strict standard and then add to it and then have it become the new standard. That won't work.
MMO Quests are like orgasms:
You may solo them, I prefer them in a group.
That's too verbose for him though, so he wants to be able to write this:
You'll notice that all this does is push the HTML spec into the CSS spec. I don't see much of an advantage to that. And it makes it impossible to get even a basic understanding of HTML document structure without constantly referring back to the CSS.
He also wants all new features that would previously have been implemented by adding tags to the HTML specification to be implemented by way of shims (polyfills). But who standardizes the behavior of shimmed constructs? Well, nobody. People just pick the shims they like. And because the shims are JS + CSS, the W3C is in charge of making sure the browsers execute them properly. Kind of like how today the W3C is in charge of making sure browsers execute HTML properly.
I think this guy might be happy if we got rid of every tag except <canvas> and all reusable components (e.g. <button>) came from third party vendors. E.g. <include src="http://html6.google.com/button.polyfill">. Oh boy I can't wait.
The person who came up with the way xml signatures work clearly already had some kind of disease. I'm thinking late stage syphilis.
The problem with quotes on the internet, is that nobody bothers to check their veracity. -- Abraham Lincoln
" Whitelist the sites that actually need it and leave Javascript disabled for all other sites."
Until, you know, some idiot bank goes lax in their security, and suddenly everyone visiting the bank not only gets their accounts hijacked and drained, but they become part of a botnet, all without their knowledge. And because people trust the bank (stupid) they don't even bother to think about it until it's too late.
"Of course that would require a few minutes of work on your part and you seem to be too busy whining to do it."
Seems like you're too short-sighted to even be participating in this conversation.
Still waiting on Serviscope_minor to wake up to fucking reality and realize that Jessica Price isn't going to fuck him.
If you guys think Javascript and PHP are bad, you'll have a seizure if you ever look at ExpressionEngine's "parsing order" nightmare.
Get free satoshi (Bitcoin) and Dogecoins
Why exactly do we need to abstract our abstraction layer ... AGAIN?
Anyone making this sort of suggesting can not have more than a few years real world experience
Persistent Volume manager for Kubernetes - https://github.com/dwimsey/openshift-pvmanager
They want their browsers back. Seriously, who thought that we should go back to non-standardized, browser-specific websites? Blink tag, marquee anyone? How about bgsound?
Custom electronics and digital signage for your business: www.evcircuits.com
Of course that is possible, but far more likely what would happen is that the bank server wasnt serving out the malware directly, but had only been altered to inject references to code on other servers, dedicated to adware/malware themselves.
The typical, braindead browser would get infected anyway. A more sanely configured, noscript-enabled browser would silently avoid the malware.
Dont think anyone is pretending that is bulletproof but it's a good security layer and there is just no reason to skip it.
=-=-=-=-=-=-=-=-=-=-=-=-=-=-
Friends don't let friends enable ecmascript.
You know what's a better layer of security?
Not having Javascript at ALL.
Gone are the days of standardized common gateway interfaces. Gone are the days of inherently more secure by simplicity web design. Now it's so much constantly updating and broken shit that security is nothing more than a joke in the first place. Flash and JavaScript are the top causes of malware infection and transmission. They need to be shut down permanently.
Still waiting on Serviscope_minor to wake up to fucking reality and realize that Jessica Price isn't going to fuck him.
Sounds almost like Adobe ColdFusion, except more on the client-side. It can be quite useful for pre-packaging your shop's UI idioms and handy short-cuts for non-programming web designers.
Table-ized A.I.
Its a W3C Candidate Recommendation that is scheduled to reach Recommendation status next year.
You are likely confusing the WHATWG HTML Living Standard (which has no number) with W3C HTML5. They are two different things.
There may or may not be an HTML 6, but there is already an HTML 5.1 in development.
Markup languages are for both, that's what distinguishes markup languages from, say, binary data formats. And HTML5 has parsing rules that are just as unambiguous for machine reading as XMLs, defined in the standard, and don't need the verbosity of XML to acheive it.
" In that case, you can either find businesses that don't require javascript on their sites, or stop using the web for those types of tasks."
Impossible and impossible again, for both statements.
Still waiting on Serviscope_minor to wake up to fucking reality and realize that Jessica Price isn't going to fuck him.
So we'd also conclude that the online man pages are in fact programs.
From a computer science POV the classical definition of "program" comes from Knuth; program = algorithm + data, in your makefile scenario the man pages are data.
And yes, my build + package infrastructure is written in python, I specifically set out to learn python because after an afternoon of tinkering I strongly suspected it would be better than batch files and shell scripts we were using. I've been using it for a few years now in production, works well on windows and the four flavors of unix we officially support. Python's portability also makes it easy to write scripts for developers to handle the old growth forest we affectionately call our CVS repository (~30 active project/version combinations and a thicket of legacy projects).
How do we handle the 3.0 fork I hear you say? - we don't, we picked 2.5 and stuck with it but most the stuff would run happily of the latest 2.x should we find a valid reason to update. And yes, on the surface it looks like we should also be using git or subversion but none of us see the effort of conversion to be worth it when most of the practical deficiencies of CVS can be over come with a few lines of python.
And did you exchange a walk on part in the war for a lead role in a cage? - Pink Floyd.
The OS depends on the bios, ie: a program to load the bootstrap program. Following the turtles further down we find the line between hardware and software starts to blur. As I said elsewhere, Donald Knuth defined "program" as, program = algorithm + data, it's the definition 9 out of 10 computer scientists recommend.
Disclaimer: IAACS.
And did you exchange a walk on part in the war for a lead role in a cage? - Pink Floyd.
So you honestly want the web to be a static, non-interactive system? I hope you know how much of a minority you are and understand the web wouldn't be where it is today without JavaScript.
I want JavaScript to die but I want it to be replaced with a properly engineered language. I do not want a static internet and I'd say a high 90% of people agree.
"So you honestly want the web to be a static, non-interactive system?"
I see you've never heard of a common gateway interface. This is how we used to interact with the internet, for live chats, forums, picture posting, and more, including 'interactive' sites.
"I hope you know how much of a minority you are"
Not very much of one, when you only count the people educated enough to know what they're talking about.
"and understand the web wouldn't be where it is today without JavaScript."
You mean to say, that without Javascript, the web wouldn't be the currently steaming pile of shit that heaps ads, malware, and hides content from me until I either pay or allow them to bombard me with advertisements, that it already is?
Well then, not only does JavaScript need to go away, but every person that was responsible for its invention should be killed as well.
Still waiting on Serviscope_minor to wake up to fucking reality and realize that Jessica Price isn't going to fuck him.
He's foaming at the mouth a little, but he's not entirely wrong.
The web has been changing rapidly, and mostly for the worse.
Javascript adds some minor convenience at a large cost in security and making parsing harder and so forth. There are cases where it's a good tool for the job, but they are rare. I constantly see it misused and abused. Slashdot, as an example, is almost completely unusable without disabling javascript. And yes, we had plenty interactivity long before the currently fashionable buzzwords were invented.
=-=-=-=-=-=-=-=-=-=-=-=-=-=-
Friends don't let friends enable ecmascript.
.cgi didn't scale to facebook, amazon, etc. because we didn't have the hardware yet. ECMAscript, oh excuse me javascript was a kludge that was necessary at the time. Sort of like cookies.
In my experience, JavaScript is pretty much identical across browsers. It's the HTML DOM (everything under document and most under window) that's inconsistent.
"Programming languages tell computers what to do. Scripting languages tell programs what to do."
Under the definition that you propose, machine language for a CISC microprocessor is a scripting language because it tells microcode in the processor, which is a program, what to do. As is Java or .NET bytecode because it tells the VM what to do. As is C because it tells the compiler what to do.
Because those are ECMAScript APIs which have nothing to do with HTML.
In what part of ECMA-262 are joystick, camera, microphone, accelerometer, etc. defined? If they're defined only by some spec on w3.org or whatwg.org, then they're APIs that HTML adds to ECMAScript.
Not very much of one, when you only count the people educated enough to know what they're talking about.
No true Scotsman fallacy.
The masses want an interactive web. As do I and I know what I'm talking about (or do I not because I disagree with you?) Do you think we would be enjoying all the benefits of the web today and high bandwidth connections if we never made it past newsgroups and Gopher? No, the web exploded because we could use it for everything. Largely based on the fact that we kludged a bunch of crap together to make it work. Networks were malware infested long before Javascript.
Slashdot is perfectly usable with Javascript- I do it every day. Should I really have to re-download/re-parse and re-display all X hundred comments so that I can post one? Absurd.
Javascript is not a minor convenience it is a huge one. Why should I have to make a full post-back for every little change to the interface? What a waste of time and bandwidth. Without client side scripting there is no smooth user experience.
All these people that want to get rid of interactivity of web apps sound more like stubborn old people that are angry because their car stereo has too many buttons now. There's no real rational it's just different and you don't like it. You all talk about how great the web was way back when. No ads blah blah blah. But you're wrong- the web sucked compared to today. You couldn't do half the things we take for granted today.
Client side scripting needs to stay. But I'd prefer Javascript to be replaced; it's a terrible language.
I can't wait for sites to claim I need their private browser release to browse their data.
Oh I'm sorry, you can't use the nasa.gov site without the RedCow* browser, because RedCow's sponsoring us to make you use it.
Blah
*RedCow not related to actual energy drink company.
- Michael T. Babcock (Yes, I blog)