DEV Community

Discussion on: Front End: Is Anything Getting Better?

Collapse
 
rhymes profile image
rhymes • Edited

I think the advancements in CSS and the increasing knowledge of accessibility among developers are making things better for the user. Offline navigation is also a thing that the users notice.

We all have our confirmation biases, I know I do. The amount of tech that has been developed in the JS space in the last 4 years is partly that. I often read developers saying "We're making things better for devs, which makes thing better for the users" but that's not a measurable objective truth. It's partially true, it's partially bias.

There are measurable things like page speed, time to paint, time to first interaction and so on but are websites tracking this over the years? I'm not sure. Can you say with 100% certainty that the web apps you're developing now are 100% better or are you saying that your developer experience is 100% better? Even measurable things can be debated. Let's say I use "tech X" to make the initial time load a little faster, but then I use a service worker to download tens of megabytes of code in the background. Is it really a better user experience if I shave a few milliseconds, even 300 of them, if then I'm going to impact your mobile data plan?

I don't know if we're there yet but as clock speed teaches us, there's an upper limit of how fast you can go, let's say we hit that limit, would we still be able to say that we're improving UX? What about the fact that more JS can result in a lot of CPU usage on the user's computer? No one I know about really measures that.

On the other side of the argument, which I also agree with, is the fact that saying "is it really better?" needs context. All frameworks (including the ones I'm not citing but we all know) are developed to ease the life of the developer. The reasoning is that if my life is easier, then it's easier to deliver features and updates to the user experience. This is true in some cases. But is it really better for all developers? I don't know, that's where the complexity argument comes in by the side entrance.

I've never seen so many courses, tutorials, programs and learning material for frontend programming as I'm seeing these days, that's because it has gotten objectively harder for a single developer to learn "everything they need to know" in frontend. I often joke that backend programming is easier, but a part of me actually believes that. Not because one is better or worse of the other but because backend programming in its current form has been around for a long time, which helps to establish patterns, transferrable knowledge and so on and so forth. So yeah, frontend programming is hard, because it's not as mature as it will be a few years from now.

Unnecessary complexity is also intrinsic gate keeping, but that's probably another whole argument. It's funny because the big frameworks are born out of a need to manage that complexity, but I think we should learn a thing or two from the micro services hype a couple of years ago: yes, micro services are great but if your team is beyond a certain size, otherwise they just add complexity.

Another thing is the bias I was mentioning in the beginning. If I spent a lot of time learning a framework, whatever that is, I'm not going to be happy to know that I wasted time. The other day the Vue core team proposed a new syntax (which would have been additive, not a replacement), the community revolted, they backtracked saying that they are going to offer it as a plugin and support the current system for the time being. Kudos to them for listening, but this episode makes my argument as well :D We all have biases.

How all of this is going to make lives better for the user is anybody's guess. Static site generators are an interesting exception because, at least those who try to be accessible by default, have a direct impact on the user experience. If anybody using them is generating fast and accessible websites that use established patterns that's a great, great thing. I have no idea how accessible and fast a basic "hello world" website generated by Wordpress is, I truly don't know. Maybe it's as good, I haven't used Wordpress in forever.

So, to conclude, it's not all bad, it's not all good, we just need to reject believing our own biases too easily and ask ourselves "what am I doing?" from time to time.

BTW I think we should ask these questions to UX designers as well.

ps. I forgot to talk about developer happiness which is a big factor here, we are curious animals and a lot of us get bored easily. Feeding the brain with new things to learn can improve our productivity level and indirectly making things better for the users, literally because we are happy to implement those changes.