Strongly agree.

It's also why I think the web is unlike almost everything else in computing: it's a high agency environment. Applications afford you certain options, but the web has historically offered great agency to the user. Extensions and user-scripts allow for quite a wide range of alterations to be done! I use the DarkReader extension for example, which makes almost all sites I visit "dark mode". There are ad-blockers, form history control programs, word count programs I make use of on a regular basis. Someone a couple hours ago was complaining about certain sources on HN and asked for them to be banned, and it took me less than 5 minutes to scratch together a userscript they could use to filter their experience in a way they desired[1]!

Thinking of the computing medium we are given as just a start, a launching point, that we inject our agency & prowess into: that constructivist, can do mentality is everything to me. It's completely unmatched, incomparable to everything else I've seen in computing. Having a core medium, and the viewing system decoupled from it, ready to help us do better, has made all the difference.

There's a lot of not-so-great modern web sites, that make things rough. I tried to help someone recently who was asking about scripting a React site[2]. Most of the times I can eventually wrestle the vdom into shape, to make it do what I want, but here the poor user was facing draft.js, a nightmare hell-mode take-over of the browsing experience by a large pile of software that thinks it can do better. Poor user was never going to win. There's all sorts of anti-user potentials to the modern web. I disagreed hard with a refusenik reactionary "the web browser I'm dreaming of" yesterday, but agreed[3] a) that the user should have choice/agency about what they want enabled and b) that certain technologies are an existential threat to agency, chiefly WebAssembly, which further heightens the impossibly of user-agency on the web. I've been quite a jerk to Flutter's CanvasKit a number of times, because it turns the web into a giant television tube that blasts pixels in our face, destroys the hypermedia basis that web engagement has been built around. Threats to user agency, to a modifiable web are everywhere, and plenty of folks simply tell me I'm full of shit, that I'm delusional for thinking the web experience is user programmable. They're not so far off the truth, especially in the days of virtual-dom & react, but I think that's an industrial convenience we've been taking advantage of, and that ultimately we'll see pressures to use the medium more respectfully, to use Custom Elements & other technologies that return some primacy to the DOM, rather than floating off into the virtual forever & treating this medium like an end-target to be made to dance as the large overgrown industrial toolkit + application so desire. There has not been a lot of progress in that direction, and weirdly: that gives me hope. It makes me think we are rife for disruption, that when good folk start trying to understand how not to do harm in their web-application-development, there will be leaps & bounds, huge strides. Meanwhile React &c are definitely mature technologies at this point, excitement has winnowed away, advancement comes in little tiny pinprick bursts. A more hyper-textual medium is possible, this ascent of code over medium doesn't require a total rewrite: we can make the DOM powerful again, make a pro-user, pro-manipulable, pro-rich media experience again. JS will be with us, but woven through the media, rather than hijacking & parasite-ing off it. I look forward to rich internet hypermedia becoming a powerful, expressive, user-manipulable system again, as the web once so powerfully was for users. This would be such a sign of progress and respect: for the web to put the user first again, to make the medium something shapeable by user-agency. I believe those days come.

Computing was always, to me, so compelling because it enabled the limitless virtual, because we could go anywhere, do anything, go wherever we might think. But I see few other places in computing where the frontiers continue to open, where we ennoble & enable the agency within each of us. The web remains one of the rarest finest gems of computing, where agency remains vastly possible & expanding. So much of the rest of computing feels settling & shrinking, receding ever further within the firewall.

[1] https://news.ycombinator.com/item?id=27693710

[2] https://news.ycombinator.com/item?id=27510276

[3] https://news.ycombinator.com/item?id=27683659