Email or username:

Password:

Forgot your password?
Top-level
Alex Russell

There have, of course, been good reasons to lean on userland abstraction – Safari sandbagged platform advancement, much the way IE6 used to – but repeated warnings didn't cause a change in developer behaviour.

The pushback to this sitrep in 2016 was *furious*:

youtu.be/4bZvq3nodf4?si=A7MLss

25 comments
Alex Russell

Ever since, the frontend community has poured its investment and attention into minor permutations of the same 2008-browser-centric frameworks and approaches.

It isn't working. We lost an entire decade on one great branch mispredict. The trends that used to deliver for "everyone" only continued for the rich.

For the rest, Moore's Law meant first-time access through hand-me-down CPUs and networks as prices fell. 2014's A53 Core still shows up in new budget phones today.

Alex Russell

But world-historically rich programmers didn't want to hear about it, and browsers let them get away with UX murder.

Frontend's Lost Decade is now a threat to the value of the web to businesses and users. A collective failure to cap JS emissions that has destroyed value at shocking scale:

infrequently.org/2023/02/the-m

Alex Russell

None of this is new, and none of the bad effects have abated at scale enough to relax. New projects are still being started on react and angular. The JS emitters have no shame because they largely don't think they did anything wrong.

Something something "interactivity" (for rich users) something something.

Alex Russell

These folks can't be serious thought leaders because they aren't in touch with reality outside the privilege bubble.

It's fine to ignore them. They haven't been right for a decade, and I think that's long enough.

Alex Russell

Anyway, just a reminder to hire people to solve problems with HTML and CSS, not too make them with JS.

scops

@slightlyoff very good thread. i'm in a position to define frontend environments for our customers (local press mostly) for about a year. finally the first one will get a new page in january with css/html first and minimal - weight light self developed - javascript framework (~ 10 kb with modules on demand if needed) :) the team before me cluttered all with npm/webpack/stimulus/... a real hell...

Alex Russell

@scops You had me at "css/html first"! Bravo.

William Pietri

@slightlyoff I totally agree with the theory here. I'm starting a new project soon. Do you have recommendations for resources with a practical vision that I can share with colleagues?

Alex Russell

@williampietri I am working on one. When do you need it?

William Pietri

@slightlyoff Personally, the sooner the better. But don't sweat that too much. We'll get by.

Bee O'Problem

@slightlyoff Javascript is like regex.

Try to solve a problem with JS... now you have two problems.

🪐

@slightlyoff

Those folks you want to ignore seem to be the people who are getting paid well, so people learning for vocational purposes are going to follow the practices of these "not serious thought leaders" because learning fundamentals of HTML and CSS won't be enough to get hired and spending time practicing these skills will delay new developers from getting hired.

Only the people who have made a living and established a reputation in the field who then put in the effort on their own to practice the skill of reducing JS computational costs on user devices can try to sell the value of those skills. That value might not be as high as initially intuited, since saving well off users with the newest hardware computational cycles can be effectively zero and many businesses' revenues are disproportionately dependent on those well off users.

This is an externalities problem much the way pollution is an externalities problem. In the same way, shaming and finger wagging isn't going to have an effective influence on those whose livelihoods are tied to taking advantage of the externalities. Solutions for externalities problems require collective action, which almost always means regulations and taxes (but not always!).

I don't think people are anywhere close to organizing action on this particular externalities problem. But what could help to that end is good descriptions of the problem and good examples of the alternative methods. Please continue providing more of both.

@slightlyoff

Those folks you want to ignore seem to be the people who are getting paid well, so people learning for vocational purposes are going to follow the practices of these "not serious thought leaders" because learning fundamentals of HTML and CSS won't be enough to get hired and spending time practicing these skills will delay new developers from getting hired.

phillmv

@slightlyoff

it’s bad that it’s slower. it’s bad that it’s harder to reuse. the weird part is that it doesn’t even seem better for development; it seems much harder to debug and get things out the door.

Xerz! :blobcathearttrans:

@slightlyoff question: isn’t hydrating meant to be a balanced tradeoff here?

Matt Campbell

@slightlyoff I'm not even sure that we world-historically rich programmers would be giving up much by going with one of the newer, lighter frameworks (e.g. Svelte, Solid, or Lit) instead of React. Or do we need to give up front-end JS frameworks altogether and go back to manual, imperative DOM manipulation?

Alex Russell

@matt They wouldn't be giving up anything but bankrupt intellectual commitments, and apparently those are the hardest to put down.

Matt Campbell

@slightlyoff You mean they don't want to admit they were wrong to choose React, or something else?

Alex Russell

@matt It's a whole thing...a series of false premises about what's good vs. bad for frontend; a pile of skills that don't hold their value through a new lens on the problem.

Matt Campbell

@slightlyoff Sounds like a good subject for a blog post, unless you wrote about it already. Especially the pile of skills that don't hold their value.

⚡ Luis Montes 🚲

@slightlyoff
I agree with this completely for things like blogs, social media, and CRUD apps.

That said, most of the fun with JS I have is for things you cant SSR anyway:

Web-USB, Serial, MIDI, GL, GL2, RTC,NFC, Bluetooth, Workers, etc. All of which generally are accompanied by at least some JS dom manipulation.

blanket anti-js seems to miss that nuance.

Alex Russell

@monteslu You know me – I'm not blanket anti-JS, just blanket anti-BS. Particularly when it harms users.

⚡ Luis Montes 🚲

@slightlyoff which is why i've been following your posts for a decade and a half :)

Paul Everitt

To my Python friends...this thread by Alex is really important. “Outsource our web UI to React" has become a dominant theme. It has a cost to the under-served. It's also a strategic loser.

Let's bring HTML, CSS innovation -- the web platform -- back to Python fullstack.

Go Up