Web Standards: Weâre Fâing It Up
Published on May 18, 2015 (updated Feb 5, 2024), filed under development, html, css (feed). (Share this on Mastodon or Bluesky?)
This and many other posts are also available as a pretty, well-behaved ebook: On Web Development.
Itâs a problem to just change specs. But itâs an increasingly bigger problem not to clean and prune them. The intimidating complexity of web standard specs should precisely be a motivation, not a threat, to come up with a plan. It follows the populist version.
Weâre driving web standardsâHTML and CSS and related specs *âagainst a wall because we only add, add, and add, and add, add, and add. And with all this unrestrained adding all our work and our professions are driven against a wall, too.
The situation is as complex as it is abstract. We face pressure to innovate and advance web standardsâwe want to innovate and advance web standardsâ, which means adding to them, and at the same time we cannot ever remove anything from a standard. In the words of Mark Pilgrim, âStandards are like sex; one mistake, and youâre stuck supporting it forever!â
When we must add but can never remove, things get increasingly, and rather exponentially than linearly, complex. We get a hunch for this in CSS, where we went from 53 to about 120 to far more than 300 properties.
That growth with all its opportunities is long known to be a problem: Implementations become heavier, slower, and more error-prone, and code itself becomes more convoluted and complicated, for many web developers chase the latest and scramble for shortcuts, while few take the time to review and optimize techniques. For that reason, for example, have we variables in CSS, while most style sheets are WET.
Now, what helps us so far is inventiveness in other areas, like faster parsers and rendering engines which set off some of the weight on implementations, and abstractions like web frameworks that alleviate some poor coding practices. But these offsets are no cure; they fight symptoms, and will only float up developers who rather become experts in browser factoids or frameworks constraints than actually understand how e.g., browser reflows work or what makes for efficient codeâfor weâve not studied that for everything. Or have never had the chance to do so.
Resting in the belief that this sufficiently describes our situation, what can we do? Although I worry about the future of quality HTML and CSS code because websites and apps are on a trajectory to become impossible to write ânatively,â meaning without resorting to frameworks and libraries and such, Iâm not sure whatâs practical because of the conflicting needs as mentioned.
Our best options, but this is just meant to start a conversation and not authoritative judgment, may be the, dare I say, versioning of standards, as well as clearer pronunciation of sites and apps. Both ideas are not new, and neither has been successful. Weâve pretty much decided to drop standard versions and committed to living standards instead, and the idea of stricter differentiation between sites and apps may have been so obvious that it has never effectively registered.
The point, however, is that if we donât get to streamline our standards, at least get the ballast out of them, we face serious and then insurmountable limitations with respect to both implementations and code, to an extent that even abstractions will become pointless. Pointless in that websites shouldnât need to be built using frameworks, libraries, variables, and be rendered by browsers that weigh >100Â MBâsomething we still know now, but will forget. At that point, every browser may weigh a gigabyte, and most web developers donât put HTML and CSS on their resumes, but Bootstrap and jQuery. And so letâs do something not to f this up.
Disclaimer: This is an opinion thatâs playful rather than bulletproof. Iâm At the time of writing this I was slowly deprioritizing my work in the web dev world and want wanted to get some of my concerns out; get them out before I lost interest in crying at the different standards friends and folk. Of whom this is no criticism.
* Itâs actually not important here to discuss particular standards, for most maintained standards suffer from the problem. If you must, and as I mostly follow these standards, peg the article on HTML and CSS.
About Me
Iâm Jens (long: Jens Oliver Meiert), and Iâm a web developer, manager, and author. Iâve been working as a technical lead and engineering manager for companies youâve never heard of and companies you use every day, Iâm an occasional contributor to web standards (like HTML, CSS, WCAG), and I write and review books for OâReilly and Frontend Dogma.
I love trying things, not only in web development and engineering management, but also in other areas like philosophy. Here on meiert.com I share some of my experiences and views. (I value you being critical, interpreting charitably, and giving feedback.)