6 comments

[ 0.28 ms ] story [ 25.8 ms ] thread
"Towards a modern web stack" is only partly the topic of this, there's less total focus on ripping out the entire hypermedia stack & replacing it with their own rendering engine.

The Flutter crew is in a weird position because they believe in themselves as a strong cross platform system for enabling app developers to get their "pixel perfect" options. But stripping out all extensibility, hypermedia, making the web as bad as regular native apps is a huge downgrade for users. CanvasKit & all just doesn't fit with the web, or interoperability, or protocols, or connectivity. It's a small micosm, a bastion/exploit for "native apps" to hammer their way into the web.

At least this talk is a little more general. The idea of alloying the web is farrrr more interesting to me.

https://news.ycombinator.com/item?id=34612696

To me the whole web is diverged into two directions:

- actually "web pages" (with hyperlinked content) - actual apps made in web because of the simplicity of distribution (no need to be approved by stores, no need to ask/force users to upgrade etc).

This simplicity of distribution, I would argue, is the major reason why many developers (including me) regularly chosing inferior technology for their products. Release the same app as native for 5 platforms (iOS, Android, Linux, MacOS, Windows) is just too complicated compared with web app experience.

So "web pages" are fine to stick to HTML/CSS/whatever. But for "apps" we need a solution and Flutter is already amazing here, but native WASM variant would be a completely new experience.

Not sure I got the "alloying" part correctly, but Flutter already has some sick interoperability with "web stack", so Flutter code can be embeeded into the regular "web app/page" and interact with it.

But the web won for other reasons too, experienced colossal growth & excitement because it was interconnected, because it was built on standards & protocols.

This idea that we can divide the web into "just documents" and everything else- all the apps- and ignore all the good pro-user virtues of the web, simply because it's alluring & industrially expedient for developers to treat the web like a low level target, while ignoring the entire higher level stack & subverting user capabilities,... it shakes me. It feels unprincipled & amoral.

The web won so hard that it's now subject to being body's snatched by much less capable much less competent un-web native apps. Here ends user freedom, the user-agent is dead, killed by Google, R.I.P.

> This idea that we can divide the web into "just documents" and everything else

But it's true. Take a Unreal's Metahuman web tool, for example. There is no way they can deliver experience they won on a current web stack, regardless of how many layers of abstractions they put over DOM or how many WebGL programmers they hire. It's just fundamentally an app that can draw pixels, bunch of them, and make it efficiently. Web stack designed for hypertext documents simply don't have capacity and competency to deliver that.

So what they do? They seem to spin up VM on their side, run native app, establish video stream to the VM's screen and simulate user interface in the web. I honestly don't know how you can call native apps "much less capable and much less competent" than web apps. If web apps so much more capable, why people with tons of resources end up with such ugly hacks instead of using full capacity and competence of web stack to deliver sick UI experience for their apps?

> The web won so hard

To win over something you have to have a competition.

Caveat: I work on Dart so I'm surely biased.

I've heard arguments like this from web advocates for many many years and I've never been able to fully wrap my head around them. Maybe I'm misreading you, but it sounds like you're saying two things at the same time:

1. The web won because it's so amazing for users and has all of these value virtues like standards, interoperability, etc.

2. The web is incredibly fragile and can easily be slain by some other more proprietary technology.

Are these not in conflict? Is the web so amazing and resilient that any competition is doomed to failure, so 2 shouldn't be a worry? Or is the web so flawed and lacking in user value that 2 should be considered a feature and not a bug?

I'm reminded of Gilmore's, "The Net interprets censorship as damage and routes around it." If technology like Flutter or other "less-webby" things (or Java applets, or Flash, or Shockwave, or whatever) really are used hostile, then I expect users would simply route around them.

I can see that there may be a principle-agent problem in effect: End users would prefer apps built on open web standards, but app developers end up using non-web tech because of misaligned incentives. That's valid. But I generally try to remain optimistic that most developers do want to make things their users like.

There is maybe an argument that users will be happy to use non-web standards tech to their long term detrimeent because they don't know any better, but I personally ascribe zero value to that argument. It just reads to me as pure elitism.

> The web is incredibly fragile and can easily be slain by some other more proprietary technology.

I'd characterize the threat more as slow creeping rot. Small losses.

The switch of Google Docs from HTML to a big dumb Canvas of pixels for instance did not kill the web, nor the product. Many users didn't notice or saw improvements even. But the advanced users & the frontier of possibility all had the door quickly slammed shut.

The web is soft & malleable. Most applications are hard & monolithic & unyielding. Most web systems have a good degree of softness, of being interesting computing matter end users have some user-agency over, and that's hard to undo (short of subverting the page into a big Canvas). Most apps are hard limited to what is afforded the user, and there are almost no fundamental computing lessons or experiences users gain over time by using apps. (Once upon a time files were at least a common primitive but most data has effervesced into the cloud.)

The soft malleable & open is the darkest fucking shit to take away. I don't think it indicates a weakness of the web. I think it's an example of older more conventional more programmer-driven centralized-control systems being able to sneak in & subvert the good, steal the light that's been made that illuminates computing & send us back into the dark. It's a paradigmatic war, for who computing is for: is it for developers to budding things that consumers consume? Or is computing itself a medium that deserves to be observable, learnable, participatory, an actual part of culture? Do the ends entirely justify the means, is the only thing that matters what we ship today? If we do start rebuilding legacy app models again, what else can we do to foster a better more open relationship between technology and society?

> But I generally try to remain optimistic that most developers do want to make things their users like.

Yes but. I'm so sorry, so many buts.

First, developers don't control the product. We don't have license to go make stuff work well to our satisfaction. Benign neglect is probably the widest issue keeping software shitty. Most orgs have jira backlogs of thousands upon thousands of small things notable enough to capture & that kind of suck, but which no one has time to do. We have a slack channel where customer support issues for known defects are repeated & there's dozens of super silly fuck ups that users have hit for years & years & we just don't have the time or space to care. Any org's priority is almost always new & shiny work, work that product thinks will bring in new revenue, and work that developers will get to build some fun new stuff for, rather than toiling in the muckt past. Orgs almost never prioritize caring & making things great. We are not good advocating for.our users, understanding the real pains they have, and how bad or unsuitable-to-them choices or bugs impact their lives, and we trap them within the confines of these hard systems.

User neglect quickly gets worse from here. https://trends.google.com/trends/explore? q=Enshittification&hl is a chart I expect to only grow, aptly coins the lived experience of many organizational software/organizational life cycles. Enshittification is a less than benign neglect of users, is the org putting it's interests above the users. Do we developers forever permit software to ever more deeply incurse into our (society's) lives, to ever more set the rules? Dark patterns aplenty circle.

There's some other more general concerns for why I don't feel like leaving things the app maker is a healthy position.

What suits most users may not suit everyone. Users sometimes have desires or wants or needs that aren't represented. Having to preprogram in every capability, every aspect feels like it will keep being in...