It is a valid usecase of html to be used to splash a layer of paint on top of your business model in a situation where you’re too busy to think in a mode where the concept of ”system correctness” makes any sense. It’s not a system in this context at all, it’s my flyer in a trade show so don’t you dare come being all pedantic on me :)! (Sure, CMS manages the markup usually nowadays. In the nineties html was used as the actual user facing layer though.)
Of course, we can discuss whether that culture of busýness was ever actually constructive, but that’s a discussion for another day.
Taking a linguistic perspective, one can analyze HTML usage through the lenses of prescription and description.
Prescriptively, HTML was designed to be used a certain way. "Proper" use of it supports a variety of use cases beyond graphical browser-based publications and applications.
Descriptively, there is no "right" or "wrong", "proper" or "improper". <div>s and <span>s are often enough because they get The Job™ done, for some critical subset of all
"jobs." It is true that web scraping and machine parsing of content becomes harder when tags aren't applied semantically, and that text- and speech-based browsing is more difficult. It would seem that those needs are simply not substantial enough to the commissioners of web development work to warrant the extra attention and care, especially in the hyper-competitive, sink-or-swim environment of tech startups.
It is (nominally) what it is (actually).
The real problem is a lack of exploitation and education of the secondary applications of semantic HTML and how it fits in with related technologies (HTTP headers vs <META>, URLs and fragment identifiers, microformats and CSS semantic class naming) by product designers. This would naturally drive developer interest. In the meantime, those who do understand these things can continue to devise solutions orders of magnitude more efficient or effective.
No, clean HTML semantics still matters a lot! Forget about programmatic efficiencies like crawlers and page load times. Think about the poor web dev who is handed this steaming heap of bad markup like so:
Management: "We need you to change all the buttons on this web site and enlarge the logo."
Web dev: "OK, these pages were puked out of Muse. Do you have the Muse project files and a copy of Muse for me to install?"
Management: "Muse? What's that? No, we don't have the source files. Can't you just edit the page?"
Web dev: "Sure. After I drink this bottle of Scotch and look for other job postings."
So guess what? HTML is still source code not a machine language.
Ah yes I hadn't really thought about that for some reason. Do you view HTML as something that should only be used where necessary in MD or just go crazy with it?
HTML is a technology that was stretched too far in the wrong way. When Tim Barners-Lee invented HTML the idea was to describe simple documents semantically, and even embedded images were just an extension of the original idea. When the web became a commercial success, engineers tried to make HTML fit every conceivable need, including making it a UI description language, which it is not. The result is the mess of technologies we have nowadays. It is not a sane system. And still, several people try to defend it and push the envelop even further away from its original intent without exploring alternative technologies.
It used to be conventional wisdom that using HTML as a layout system is wrong, you know. Because it wasn't meant to be one, and text content was supposed to be independent of the medium on which it is viewed. Well, at the time I had my doubts that it was going to work, but it was (and still is) a nice idea.
If you think that, you don't understand the nature of what is being done with HTML nowadays. It's not about declarative markup, it's about efficient updating of a UI whose shape is completely decoupled from the shape of the state it is representing.
Yes. I don't know why HN likes to pretend they're exceptions to patterns and processes that came about for a number of reasons.
In this specific case, the hand crafted HTML that I've come across in my lifetime is usually absolute garbage. I can normally see how the developer who wrote it thinks they're being clever or nifty, and dare I say it "clean", but it usually falls short and causes more harm than good.
So imagine we as an industry organically build tools to address this. 10 years later it's pretty good, but like 5 major websites still handcraft things because they have complicated user experiences with a broad user base.
We then get dork heads who see this, believe they're part of the exception, despite not having anything remotely close to the userbase or requirements of these websites, refuse to understand why certain things are the way they are, and think they're above these processes and frameworks despite not having invested any real time or effort into the skills necessary to justify not using these frameworks or fabricated HTML.
And the worst part is it's just HTML. And we still get it wrong.
TL;DR Programmers think they're better than they really are. Use the frameworks.
The problem is that HTML has multiple uses. The author is describing the case of authoring content, with HTML used as a markup language. However a lot of websites and web applications use HTML more like a layout and templating engine for a GUI framework.
I'm not arguing the value of the content, just the original intent. HTML was just meant to be a markup document language to display rich text over http.
It might have been designed as a language for web based documents. Though this is not what the web is used for today, consumers want applications not documents. And we are already hacking away on top of those documents to give them that (despite the web not being intended as such).
I don't know why every thread about Web applications needs someone to tell me that technically HTML was just designed to be a document format. OK, great, now it isn't just that.
Of course, we can discuss whether that culture of busýness was ever actually constructive, but that’s a discussion for another day.
reply