Update: It appears that the author of shamelectron was influenced by the same Gist [1].
[0]: https://gist.github.com/tkafka/e3eb63a5ec448e9be6701bfd1f1b1...
[1]: https://gist.github.com/tkafka/e3eb63a5ec448e9be6701bfd1f1b1...
Update: It appears that the author of shamelectron was influenced by the same Gist [1].
[0]: https://gist.github.com/tkafka/e3eb63a5ec448e9be6701bfd1f1b1...
[1]: https://gist.github.com/tkafka/e3eb63a5ec448e9be6701bfd1f1b1...
* 1Password.app
* Bruno.app
* Claude.app (oh noes!)
* Cursor.app
* Docker.app
* Dropbox Dash.app
* Dropbox.app
* Element.app
* GitKraken.app
* Graphite.app
* HEY.app (shame on DHH!)
* Keeper Password Manager.app (it's not just 1Password)
* Keybase.app
* Kiro.app (come on, AWS!)
* Ledger Live.app (crypto seems to lag behind Web 2.0 still!)
* Loom.app
* Notion Calendar.app
* Notion Mail.app
* Notion.app
* Pocket Casts.app
* Podman Desktop.app
* Proton Mail.app
* Proton Pass.app (all major password manager apps are in trouble)
* Redis Insight.app
* Sculptor.app
* Simplenote.app (shame on photomatt!)
* Texts.app (although it's possibly now replaced by Beeper)
* Tonkeeper.app
* Windsurf - Next.app
* WorkFlowy.app
* itch.app
* krisp.app
If there was one copy of that electron (e.g. installed to /Library somewhere) which all apps would simply use then you only would need to update one copy. Less disk space wasted. All apps fixed in one go.
Back in the old days on the Commodore Amiga we would just do that… install some .library to SYS:Libs/ first if a program required it. It's not like this process was so complicated nobody could do it, right?
Don't underestimate the utility of write once run anywhere. Needing to ensure compatibility with a bunch of different browser engines is not simple.
- https://en.wikipedia.org/wiki/HTML_Application
- https://www.geoffchappell.com/studies/windows/ie/mshtml/clas...
Some apps, like VS Code, update very quickly to the latest one. Others more rarely. So now you need to keep multiple shared Electron versions, and track dependencies and who uses what version.
And it's quite likely that everyone of your Electron using apps will be on a different version, so now you are back to square one.
Memory and storage is cheap enough nowadays to not have to deal with the insanity that shared libraries cause. I don’t care if I use 30gb of memory to run a browser and a note taking app.
The big issue I see with Nix is that it's solving several related & very complex problems, and isn't doing so at a particularly easy level of abstraction. It's a PITA to package software that isn't using an already-supported build system. And mixing versions is messy, instead of just `[ package1="versionA", package2="versionB", …]` sort of thing with a lockfile to convert versions to immutable IDs like commit hashes you have to specify which commits of nixpkgs had each version and then do something like `nixpkgs-versionA=GIT_COMMIT_HASH_A; nixpkgs-versionB=GIT_COMMIT_HASH_B; [ nixpkgs-versionA.package1, nixpkgs-versionB.package2, …]`. There are lots of other "warts" like that, of varying levels of annoyance.
In practice every software needs a particular version of a library. Even a minor upgrade to that library might, and will break it. In an idealized world it should not happen, but here we are. In a world that we setup whole containers so that we can run software.
So no. Shared libraries do not work in practice. At all. It should be straightforward, but they just do not work.
And you really think the entire ecosystem has never heard of this honking great idea named shared libraries from the good old days? Being smug about obvious things like this usually just betrays your shallow understanding.
Disclosure: I’ve criticized Electron aplenty. But these are complex tradeoffs and people dismissing them with obvious wins in their minds are clueless.
Disclosure 2: I was once a member of the maintainer team of a major package manager. Shared libraries, oh my, I can tell you horror stories all night long. If your experiences with them are great chances are a team behind the scenes has blocked and/or fixed faulty updates for you and shielded you from most of the issues.
Pity. I used 1P for many, many years and recommended it to everyone I knew. I feel like it’s completely lost the plot, though.
I find it telling that the original creators of electron are now writing a new editor with native code because even they can’t stand electron. It’s like they are trying to write a wrong they did to the world.
I have absolutely lost hope from Dropbox and I am actively looking for a replacement.
BitWarden using Electron is just unfortunate and it is sluggish.
What happened to 1Password (don't use it, never did) and their Apple only-great-native-software trope I used to hear? Cost cutting?
Electron is the reason I am still using Overcast and not Pocket Casts even though it's FOSS.
Proton Mail - this app is such a mess!
Simplenote - moved away long back! When did Electron come into it? It was native, wasn't it?
They started chasing B2B/corporate, and as part of that switched their desktop app over to Electron and replaced the old UI of 7 with a generic flat blobby SaaS type design. They lost their botique app shop feel and now blend in with the usual greasy SaaS fare.
There are much better reasons to shame DHH.