We Need to Talk About the Front Web Part 4: Exploring the Reasons Why
This article is the forth part of a series of articles written as basis for the talk I gave for FFConf 2023.
You may want to start with the part 1 of this series.
We've been tempering with the front web since the web exists. Let's try to understand why.
Developing for Ourselves
Most web developers are young, have high speed connections and the latest devices, and, most importantly, they don't have any physical constraint.
Performance doesn't seem to be a problem, as much as we don't think about people that aren't like us. We are unaware of the final users' needs.
We don't get the nature of the web
We ignore what makes the front web great and unlike any other system. We don't get the nature of HTML and CSS... Worst: we don't like them, because HTML and CSS “are not real programming languages”.
This ignorance is not a surprise; HTML demands semantic considerations, a notion that developers totally ignore, and that also demands a closer collaboration with UX experts and content strategists (but, remember, developers work alone).
HTML is really considered a “second-hand” language, and “it is treated as a compiled target, an implementation detail” — Oxford Harrison, Rethinking the Modern Web . Unfortunately, this is not new. Some 15 years ago, at work, I was discussing with a web developer about the importance of semantics and accessibility. He seemed pretty bored and in order to finish the subject he said “anyway, it doesn't matter much because we're going to start to work with a framework that won't require to write HTML anymore” — I believe he was talking about React...
CSS demands graphical awareness: CSS implies we are aware of design principals, but working apart from visual designers and clients, developers don't feel much implicated in the final look-and-feel, and they leave the “attention to details” to some third-party tool. CSS do not operate the way developers expect it to and it is often associated with a “feminine” task.
Front devs aren't the cool kids
It is hard to be cool when you earn less than backend developers, and when you work with “second-hand”, “feminine” languages!
No problem! In order to fiw this, we are going to create the fullstack: the all-powerful developer who can take care of all aspects of the web development — do you see what we're doing here? More and more, we are distancing the web developer from the needs of the final user. We are just asking one person to do the job of two.
The front means so little that we don't even ask if we need more knowledge or experience with its technologies. And, of course, being a full-stack doesn't make developers like or care for the front more, on the contrary, they’ve just decided to make the front in their own image and Js everything! And, please, don't mess with our server: we're going to put everything on the client's end and, yes, stop caring about insignificant things like HTML or CSS.
We are putting DX first and second.
Again, that's not new: I remember way back when a developer was proudly explaining to me how he developed a whole web app by writing all HTML using the document.write method!
This disdain for web technologies is not new at all, but great UX demands great front development, and that's one thing we cannot change.
If we don't address the front web problems, we'll never be able to provide a good UX. And remember, accessibility is part of the UX!
So, what can we do to change this situation? How can we fix these problems without the risk of repeating them all, again and again?