Email or username:

Password:

Forgot your password?
Top-level
Vertigo #$FF

@mathew My understanding of the complaints I've seen raised so far isn't rooted in the hatred for an applications delivery platform. I think, on the whole, they're accepted as useful.

The pushback (at least amongst my peers) seems to be centered almost entirely around the extremely poor fit the current set of technologies seems to be for delivering that platform. And, with that in mind, I find myself sympathetic: HTML should stick with delivering documents. It's what it is good at.

Technologies such as WebAssembly offers some promise to finally provide a proper applications delivery platform. Unfortunately, nobody seems to be adopting it, at least not for that purpose.

16 comments
JauntyWunderKind

@vertigo @mathew i'd love to have some follow up with some descriptions of this poor fit.

these days, it feels like most desktop apps use the same set of technologies. seemingly because they are easy to use, fit well in many circumstances, have great developer experience & support, active communities, wide library support, world class accessibility tooling, and, well, html works pretty damned well, in spite of the terrible terrible css crimes we keep committing against it.

i honestly can't remember most of the critiques. generally i feel like most are emotive, gesticulating, but not really identifying specific wrongs. i'm open, i'd love to really hear some good elaborations to chew on. but little so far has stuck.

@vertigo @mathew i'd love to have some follow up with some descriptions of this poor fit.

these days, it feels like most desktop apps use the same set of technologies. seemingly because they are easy to use, fit well in many circumstances, have great developer experience & support, active communities, wide library support, world class accessibility tooling, and, well, html works pretty damned well, in spite of the terrible terrible css crimes we keep committing against it.

Vertigo #$FF

@jauntywunderkind420 @mathew

these days, it feels like most desktop apps use the same set of technologies.

That's because they literally do. Vis. a vis. literally anything built upon Electron.

html works pretty damned well

HTML works. Just not "damned well."

Electron apps consume hundreds of megabytes to gigabytes, offering no better practical usability advantage than an app written in C and consuming a tiny fraction of the resources doing it.

i honestly can't remember most of the critiques.

Most of the critiques I've heard center around the above: absurd levels of resource consumption.

I've heard others complain about security models as well, but I am not versed in that domain, so I won't comment on those. I'll let others more knowledgeable about that follow up if they please.

Still others have complained also about applications not feeling native. However, for me, as long as I have the ability to cut and paste and drag-n-drop across applications, I'm OK.

@jauntywunderkind420 @mathew

these days, it feels like most desktop apps use the same set of technologies.

That's because they literally do. Vis. a vis. literally anything built upon Electron.

html works pretty damned well

HTML works. Just not "damned well."

Electron apps consume hundreds of megabytes to gigabytes, offering no better practical usability advantage than an app written in C and consuming a tiny fraction of the resources doing it.

JauntyWunderKind

@vertigo a specific grumble but here i go: too many people complaining about electron spend their next/near-by breaths complaining that the web is trying to do too much, has too many apis, shouldn't be a platform.

gee wouldn't it be great if you didn't need an entirely different set of statically linked libraries to run your app+browser? what if you could re-use the virtual machine (browser) that all your other (web)apps are running? that'd have way less overhead. alas they are often just poorly coded too, way too big.

so, net, alas apps keep writing themselves in electron because the web is almost close enough to compete on it's own, but is missing just a couple capabilities. less avoidable is that the web also won't let them do nearly as much spying as a native app will let them do.

@vertigo a specific grumble but here i go: too many people complaining about electron spend their next/near-by breaths complaining that the web is trying to do too much, has too many apis, shouldn't be a platform.

gee wouldn't it be great if you didn't need an entirely different set of statically linked libraries to run your app+browser? what if you could re-use the virtual machine (browser) that all your other (web)apps are running? that'd have way less overhead. alas they are often just poorly...

JauntyWunderKind

@vertigo i keep thinking someone needs to lead the way & build an app that is a small localhost-only server that opens a web page. rather than smoosh a web-browser and a server-side engine together as electron does, provide some basically invisible native services to the client on localhost only. not to everyones taste but i'd love it so so much more than electron. i have no love for native apps.

Vertigo #$FF

@jauntywunderkind420

i keep thinking someone needs to lead the way & build an app that is a small localhost-only server that opens a web page. rather than smoosh a web-browser and a server-side engine together as electron does,

Maybe I'm misunderstanding, but it sounds like you're literally describing a web-browser and server-side engine, exactly as Electron does.

What am I missing?

JauntyWunderKind

@vertigo the app wouldn't bundle a browser. you'd launch it, it'd start the webserver, then call xdg-open (or your local non-portable prorietary equivalent) to open the user's preferred browser to it's address.
linux.die.net/man/1/xdg-open

there actually is some precedent here, now that i think about it. not sure why i haven't thought of this before, but this is how sabnzbd newsgroup downloader works: there's a small daemon, and almost all the interface is a webserver it hosts. there's a status bar icon you can hit... which opens your preferred web browser to it's local webserver. exactly as i described. github.com/sabnzbd/sabnzbd

the advantage is that you get whatever browser you prefer, with whatever extensions, and it probably uses gobs less memory since it's just another tab, not an entire browser stack & all dependencies just for the app.

@vertigo the app wouldn't bundle a browser. you'd launch it, it'd start the webserver, then call xdg-open (or your local non-portable prorietary equivalent) to open the user's preferred browser to it's address.
linux.die.net/man/1/xdg-open

there actually is some precedent here, now that i think about it. not sure why i haven't thought of this before, but this is how sabnzbd newsgroup downloader works: there's a small daemon, and almost all the interface is a webserver it hosts. there's a...

dch

@jauntywunderkind420 @vertigo also better security as electron apps allow direct local fileystem access

JauntyWunderKind

@dch @vertigo except you've started some random service / headless-app that is running with whatever privileges you've given it (usually your user privileges).

as per the sabnzbd example, you walk through the web app configuring the service, telling it where you want to download your newsgroup stuff to, & optionally setting up directories it will watch for download-lists to try to go get. you can use the webapp to upload download-lists too, but i believe the only way to actually get stuff out of sabnzbd is to go look on the filesystem where you in the web-browser told sabnzbd the daemon-cum-localhost-http-service to download to.

it's nice that there's at least some security condom, that you have some set of expectations you can apply to what you do from inside the web browser, but there is a local daemon free to run rampant, just like with electron.

@dch @vertigo except you've started some random service / headless-app that is running with whatever privileges you've given it (usually your user privileges).

as per the sabnzbd example, you walk through the web app configuring the service, telling it where you want to download your newsgroup stuff to, & optionally setting up directories it will watch for download-lists to try to go get. you can use the webapp to upload download-lists too, but i believe the only way to actually get stuff out of...

Vertigo #$FF

@jauntywunderkind420 OK, I see; I missed the part where the browser wasn't included. My bad.

That's certainly a vast improvement, I'll admit.

Patrick Georgi
@vertigo @mathew That line of thought made me curious: SVG seems to be a better fit to build UIs with than HTML, but I couldn't find any project dping that. Back in the day IE was the problem but today: what's the catch?
mathew πŸ¦œβ˜•

@vertigo The hard part of cross-platform application delivery is creating the GUI, and web technologies are easier and cheaper for that than basically anything else, at the cost of not providing a native UI experience. I'm not aware of WASM doing anything to improve that, but I haven't looked into it much.

Vertigo #$FF

@mathew

I'm not aware of WASM doing anything to improve that, but I haven't looked into it much

Exactly why I am upset about the situation.

Adrian Cochrane

@mathew @vertigo Yeah, my understanding is that the choosing a language to build a new platform on would be the easy part. There's lots to choose from!

There's APIs that need adesigning...

mathew πŸ¦œβ˜•

@alcinnz @vertigo
Right, it's easy to deliver native code cross platform nowadays, using (at least) Go, Rust and Zig and possibly other options like Kotlin. Putting a cross-platform native GUI on any of those is painful in the extreme.

Be

@mathew @alcinnz @vertigo One of my big gripes is that all this web stuff is happening *at the expense of* comprehensive cross platform GUI libraries. We still have Qt, but C++ sucks. The biggest Rust GUI libraries have around 100 contributors. That's a small fraction of the labor that goes into Qt.

Go Up