Hacker News new | ask | show | jobs
by fbrchps 54 days ago
Counterpoint: is the web browser not already fulfilling the "universal app engine" need? It can already run on most end user devices where people do most other things. IoT/Edge devices don't count here, but this day most of their data is just being sent back to a server which is accessible via some web interface.

Ignoring the fragmentation of course; although that seems to be getting less and less each year (so long as you ignore Safari).

3 comments

>Counterpoint: is the web browser not already fulfilling the "universal app engine" need?

Counter-counterpoint: Maybe it's time to require professional engineer certification before a software product can be shipped in a way that can be monetized. It's to filter devs from the industry who look at browsers today and go "Yeah, this is a good universal app engine."

This was cathartic to read thank you
I think a browser is an inverted universal engine. The underlying tech is solid, but on top of it sits the DOM and scripting, and then apps have to build on top of that mess. In my opinion, it would be much better for web apps and the DOM to be sibling implementations using the same engine, not hierarchically related. You wouldn’t use Excel as a foundation to make software, even though you could.

Maybe useful higher-level elements like layout, typography, etc. could be shared as frameworks.

You are thinking along the same lines as me. The fact that the first thing to be standardized was HTML made it a fait accompli that everything had to be built on top of it, since that "guaranteed" <insert grain of salt> cross vendor compatibility.

There are many alternate histories where a different base application layer (app engine) could have been designed for the web (the platform)

Yes. But it consumes at least 10x-100x more resources to run a web app than to run a comparable desktop app (written in a sufficiently low level language).

The impact on people's time, money and on the environment are proportional.

> But it consumes at least 10x-100x more resources to run a web app than to run a comparable desktop app (written in a sufficiently low level language)

Does it? Have you compared a web app written in a sufficiently low level language with a desktop app?

Yes. I can run entire 3D games.... ten times in the memory footprint of your average browser. Even fairly decent-looking ones, not your Doom or Quake!

And if we're talking about simple GUI apps, you can run them in 10 megabytes or maybe even less. It's cheating a bit as the OS libraries are already loaded - but they're loaded anyway if you use the browser too, so it's not like you can shave off of that.

> Yes. I can run entire 3D games.... ten times in the memory footprint of your average browser.

What about in QML, which uses Web technologies like CSS, JS and even basic HTML? The whole KDE Plasma 6 desktop is built around these technologies now and I (and many others) consider it light and high-performance.

If you saddle up those technologies in the full browser everything then it will get larger, yes, but nothing requires you to do this, just as nothing requires providing your app as a full-fat Fedora install when a distroless container would have sufficed.

Plain Javascript can be very fast and still come at relatively low resource demands and the same is true of HTML and CSS. Many "plain desktop-native" applications often end up reinventing their own variants of HTML and CSS in the course of designing the U/I anyways.

It's better, but it's still quite bloated, to be honest. Linux is generally more memory-hungry than Windows because of how modular it is, and having no Win32 equivalent really hurts. Although they've started doing UI in React Native over there too...

Qt is much lighter than your Chromium-based stacks but all the waste kind of adds up.

"just as nothing requires providing your app as a full-fat Fedora install when a distroless container would have sufficed" Containers are hungrier than running stuff on bare metal...

Yeah, React Native is apparently how Claude Code operates (even on terminal) so it wouldn't surprise me to see it being useful in a native GUI context as well, if we can get more bindings than Skia.

> Containers are hungrier than running stuff on bare metal...

Containers are tremendously lightweight compared to VM. You might as well point out that running a full multiuser security-protected OS like Linux is hungrier than running on bare metal with DOS too. It's just as true, and even proportionally as true.

In any event a full Fedora container with all packages installed is going to be tremendously larger than a distroless hello-world "built" around Alpine, for instance, even though they both use container technologies. Same applies to Web technologies, you can certainly go and easily add a lot of waste using them but they are not themselves inherently wasteful.

I believe Firefox use separate processes per tab and most of them are over 100MB per page. And that's understandable when you know that each page is the equivalent of a game engine with it's own attached editor.

A desktop app may consume more, but it's heavily focused on one thing, so a photo editor don't need to bring in a whole sound subsystem and a live programming system.