W3C and WHATWG should die a quick and horrible death
Table of Contents
Skip to article contentOriginally published on Medium
Note: there’s also a followup.
tl;dr: W3C and WHATWG are a useless bloated bunch of people who don’t care in the least about making the web a better place. Both W3C and WHATWG should die a quick and horrible death, and the development of web standards should be given to a lean and mean group of people, all of whom are actual web developers.
For the sake of all that’s good and holy: why?
Web-developers have the worst ever Stockholm syndrome ever in the history of the world ever. Whatever inconherent inconsistent overlapping multi-million-page abomination of a spec spewn from either of the two committees we cheer them on and ask for more.
- ASCII art? OMG, the best thing since sliced cheese!
- Oh, this ASCII art overlaps and reimplements partial implementations of the same fucking thing? OMG, give me that and those two things, too!
- Turing completeness in HTML5+CSS? Woot! Woot! Exactly what we needed all this time!
And this just goes on.
Why do we keep believing that these self-aggrandizing bloated useless monstrosities work to make the lives of developers easier? Or the web better? What evidence is there?
{ vertical-align: fuck off, any-align: fuck-off }
(Original tweet by Lewis King lost, here's just a quote from it)
We have landed a robot on a comet 317 million miles from Earth and yet we still can't vertically align things easily in CSS.
Yes, it’s true, folks. In the age of SOA applications, and facebooks, and twitters and mediums, there’s still no way to align anything against anything.
Good fucking grief.
Please, do visit these two links, read, and weep: %% units and “flow” attribute. Unlike W3C and WG, the author of these extensions uses them in commercial software that is actually used to build UIs. These extensions cover, oh, I don’t know, 80–90% of a web-developer’s needs?
So, here’s the story. %% units
and the “flow”
attribute were proposed to W3C. Can’t find the discussion now (it was 7 years ago, at the very least), but the proposal was shot down. Fast forward 7 years, and lo and behold: flexbox, grid-layout and multicol. Bloated, inconsistently named and overlapping each other. And yes fringe cases.
See, folks at W3C and WG act as if they were pure academics.
“Hey, guys, I have this purely theoretical problem which will look nice in a book somewhere. What do you think?”
“Awesome! Bring it on. No, bring two or three of those”
Just as an illustration, http://css-tricks.com/snippets/css/a-guide-to-flexbox/
.container { flex-direction: row | row-reverse | column | column-reverse; }
- row (default): left to right in ltr; right to left in rtl
- row-reverse: right to left in ltr; left to right in rtl
- column: same as row but top to bottom
- column-reverse: same as row-reverse but bottom to top
Can you name/find a single person on this Earth who would need *-reverse directions? Yes, there could be a few: writing books and tutorials that will include this utterly useless piece of garbage. However, since this is a theoretical fringe case, it no doubt was discussed at length and included at the incsistence of “prominent members” of the W3C community.
Damn them all to hell.
Instead of solving real-world problems they play in a nice academical theoretical sandbox, solving non-existing problems. Look at each and every steaming pile of horse manure that they produce: all this bloat, all these insane attributes and measurements stem from the fact that someone somewhere produced an insanely convoluted theoretial example of a non-existent problem and produced a solution to it.
Obviously, it’s not constrained just to alignments. It’s 2015 and it’s still easier to make sites based on exact pixel measurements than sites based on relative percentages. It is impossible for any sane person to create a responsive site without the use of CSS Frameworks (which are themselves bloated and limiting — out of necessity, not by choice). Whole articles on how to vertically align elements or create proper three-column layouts still exist. And the list just goes on and on and on and on…
Do you want to build a sand castle?
Yes. Sand castles.
There’s not a single reference implementation for any of the specs coming out of W3C and WG
Re-read that sentence, and let that sink in. All these specs are purely theoretical constructs that are unleashed on browser implementors and then on web developers.
Hey, you thought Acid tests where the reference implementation? No. Those, too, are theoretical constructs created on a theoretical basis. No wonder browser developers often cheat to make sure their browser passes an Acid test, and only the Acid test, the actual spec implementation be damned.
I’m not even sure the people who come up with the crap they call specs even do any serious web development. I mean, look at W3C’s and WG’s web sites. That’s exactly the type of site you can build using their specs.
I’ll leave this as an excersise to you: go through specs, find their authors, and what they do. Look at their websites, demos etc. You’ll see what I mean. I kid you not, there’s a guy whose job description is “spec hacker”. Jesus…
Is there a way out?
Of course.
Nuke W3C and WHATWG out of existence. As soon as possible. Leave a small team of people (10, maybe 15, tops) to implement a backwards incompatible lean and mean CSS 4:
- Get guys who created SASS to oversee/enforce, well SASS. Because, come on, how thick must you be to not come up with something like SASS in 20 years of CSS’ existence? Oh, right, you have to be W3C, of course, duh
- Apple implemented Cassowary Constraint Solver for their UIs. Get them and the authors of Cassowary, one of whom implemented it for the web, to enforce this as a new standard
-
Get people from Apple to implement all font-related specs. Because this:
- Let the guys from above work on specs for a year. After that open up for comments from people who actually build websites: Facebook, Gmail team (not Google, not Chrome team), Asana, even Medium. Ask actual people who build sites about what they want and need.
-
Implement/fix whatever issues/comments you gather from web-developers (leaving larger issues for next iteration). Release this as CSS4 spec:
- CSS4 cannot be mixed with CSS3 on the same page
-
CSS4 is triggered either by media-type (
text/css-v4
), file extension (.css4
), or embedded directive (/\* css-v4 \*/
), in this order - work with browser implementors on implementing CSS4. They will thank you for that
- unleash it on the world. The world will thank you for that
Last step:
Dig W3C and WHATWG out of their graves, kill and bury them again.
Don’t forget to read the followup.