Hacker News new | past | comments | ask | show | jobs | submit login

While I get why people are annoyed by that message, I get and understand it.

It's super annoying when you are trying to create a desktop app and you get issues (multiple of them) essentially going "Why are you using Electron? it eats up my RAM, please use X framework and you should be fine"

This would be fine if:

  1. You attached that with a PR for said framework or
  2. You searched before and read this being answered earlier
From a maintainer's point of view - this is super annoying.

I'm sure the author built this to satisfy his itch first and open sourced it because it might help others (either to directly use the product or to learn from the code). It's super annoying when you have people who think they know better come and tell you to use X because they have a problem with Electron (not necessarily your app in particular but Electron in general). I say this as it appears the author might be using arch linux and as a linux user, I always appreciate an electron app vs no app (obviously a native app is better but that's generally never the option - it's generally electron or nothing).

I'm sure it could have been worded nicely but eitherway it got the effect the author wanted - it drives away people who'd be annoyed by Electron in the first place.

> You attached that with a PR for said framework

Eck, please don't do this. Think of this with any other language/framework. "Your app was written in C++ but I rewrote it in Arc because the code is way nicer. You're welcome." or "You used Java but that is a pain because it has to be compiled, so I rewrote it in PHP and now it's possible to make changes live on production servers."

There are many reasons a maintainer may not want to do that (eg, not knowing or wanting to learn the language/framework, having an ecosystem of plugins/branches that would be negatively affected, different opinions on what the project objectives are and how best to achieve them, etc). It's very hard as a maintainer to have to close a massive PR that someone put a lot of time into, and it's obviously a waste of time for someone to work on something that is ultimately rejected.

What you can do instead is open an issue and say "This is very memory-intensive because of Electron, are you open to addressing this? I'm willing to rewrite using <framework/language>."

You can also fork (or effectively just start a competing project) and become the maintainer of the new project. If you're not willing to do that, it's really not fair to expect someone else to -- as effectively with a massive PR you're basically asking them to take on maintenance of your code.

Agreed. If that polarizing note were omitted, there would be dozens of comments here, on github, and elsewhere saying "oh, great another electron app, NEXT", which is equally bad IMO.

Other comments here (and probably GP) dismissed the software, due to the note, before even checking its utility. This is good, because the polarizing note deters people who value tone and identity more than utility, preventing these arguments down the chain. Basically it's leveraging outrage against people quickly susceptible to outrage, so I would say it serves its purpose effectively!

I agree; mostly, but your last sentence misses an important point; It drives away people that aren't interested in open source projects with creators/maintainers that show this level of arrogance/attitude. The fact that it's Electron, would drive away people that aren't interested in Electron.

I've had experience both in work and my personal life with a wide variety of open source project maintainers/creators, some have been amazing, and their attitude encourages you to contribute, others have been so horrible you don't want to have to think about it again.

For me, personally, I have no problem with what this person is saying, it's how they're saying it that means I'll never touch this project, because I've formed an opinion on the kind of response I'm likely to get if I was to raise an issue.

Yea, usually devs make tradeoffs for reasons. Sure, maybe a dev didn't know that Electron was so memory heavy/etc, but often it's a well known fact. They had their reasons for choosing it, you're free to use something else or implement an alternative for them to maybe fork/etc.

Why should someone use a language/framework/etc they dislike just to make something in their spare time and FOSS?

Don't get me wrong, I think Electron is a problem - but I don't blame people for choosing it. Often our FOSS development aspirations are limited by time, energy and shockingly enjoyment.

I can choose to use what I want, and you can choose to not use it.

Disclaimer: I've never used Electron, but I'm shocked it's not blatantly obvious why people would choose it.

> It's super annoying when you are trying to create a desktop app and you get issues (multiple of them) essentially going "Why are you using Electron? it eats up my RAM, please use X framework and you should be fine"

It's super annoying when I'm looking for a desktop app and everything I find is really a poorly-disguised web app which eats RAM.

Just develop programs for X11 & POSIX: every system, from Windows to Linux to macOS to *BSD supports them to one extent or another.

Please don't develop directly against X11 (or reach into X11 APIs when using a UI toolkit that runs on everything else too).

Why not?

If we're talking about cross-platform: X11 is not native on Windows, it's not native on macOS, it's not native on Wayland. (On the first two, it requires deliberate installation of some X server, and you won't even get direct rendering with that!)

Most annoying for me personally: it doesn't support proper HiDPI scaling. X11 apps are blurry on my HiDPI Wayland desktop, which makes me not want to use them.

In general, X11 is absolutely inadequate for the modern world. It's a legacy protocol that has the "any client can be a keylogger" security model, drawing primitives from the 80s that no one uses anymore plus all the history of bolting on more modern ways of rendering. (And don't get me started on the input systems, of which there are several and no one knows how that code even works.) And the protocol is synchronous, so you'll always have some slowdowns. Oh and the fucking screen tearing! In modern display systems, every frame is perfect, by design, by protocol design. X11 only has various "tearfree" hacks in the server that work with varying levels of success.

Explain to me how an X11/Posix desktop application is better for a Windows user than an Electron one.

Applications are open for YC Summer 2021

Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact