>Modern web has very little to do with providing value to the end-user
I disagree strongly with this. The web has moved a lot in the direction of developer experience (ES6, modules) and new capabilities (WebSockets, WebRTC, WebAudio, SVG, canvas...). Yes, most of this happened because it's a side-effect of big surveillance capitalism companies wanting make that sweet sweet digital pollen to be even sweeter, but that doesn't make it any less sweet just because it was made in bad faith.
The capabilities are there. The dev experience is there (somewhat; JS ecosystem is a mess, but I guess that's just a side effect of moving very fast). But the capabilities are not used for end-user benefit. Not much, anyway. Yes, I benefit from Netflix, I benefit from Google products (not as much as I would if they didn't keep on worsening the UX every few months) - and such functionality requires some of the new capabilities. But 99% of other sites I visit don't use these capabilities for anything good. A pizza ordering site shouldn't need a React frontend. An e-commerce store shouldn't use WebSockets. Every other site out there should not ask me to enable notifications. But they all do. I blame a mix of CV-driven development, designers showing off, "data-driven" bandwagon, and surveillance capitalism.
I agree with you on all points - I think we're just speaking past each other. I'm speaking about the platform, and you're speaking about applications. The applications written for the web today are exactly as you say; the browser platform itself, however, is quite extraordinary and I remain deeply impressed with it.
Right. I admit that I was strongly biased against browsers because of my distaste with web applications. The browser as a platform is slowly growing on me these days, and I won't deny that modern browsers are some of the most impressive feats of software engineering.
I think a pizza ordering site is a good SPA example, but progressive enhancement still applies. React probably makes its design simpler. Elm would, even more so. But it’d be nice to access it with Lynx.
And I think a pizza ordering site is a good case for server-side and mostly static HTML. There's very few things on such page that change more often than every few days, and as for the dynamic stuff, all you really need to manage is a client-side basket, which is trivial in isolation. I believe you could easily cut the time spent on such site by a third if you approached it this way. Even more for people accessing the site from older machines.
I can tell, because I order pizza quite frequently from a variety of sites.
I'm not talking about choosing by screen resolution. I'm taking about choosing by whether and when the media is needed at all, which becomes much more tractable when you add some JavaScript to control it.
I disagree strongly with this. The web has moved a lot in the direction of developer experience (ES6, modules) and new capabilities (WebSockets, WebRTC, WebAudio, SVG, canvas...). Yes, most of this happened because it's a side-effect of big surveillance capitalism companies wanting make that sweet sweet digital pollen to be even sweeter, but that doesn't make it any less sweet just because it was made in bad faith.