I think that the headline says more about Electron than it does about Rust.
post
"Hey Claude, rewrite our dogshit Electron app in Rust, make no mistakes".
man I love that they are ditching electron but, they "just" fixed the discord linux client to properly update and now they are rehauling it? can't wait to get this update 3 years from now.
It's great, but I wonder what happens with the linux client? There is no mention of it in the article.
Do we get optimized native client or is that too much work if they don't have universal framework anymore?

Marketing director of Discord on Reddit says linux will have a native client.
They are using GPUI. Rust native UI framework from the Zed IDE team. I think the creator of Zed is the one who created Electron in the first place, then left. I'm not sure though.
So it should be cross platform
It's a bold strategy. "Electron sucks! Let's see what else these people made".
But seriously, why do I need GPU acceleration for my chat UI?
It's a video player. You want GPU acceleration.
What video? 99.99479% of my Discord experience is text.
A lot of people talk and stream to their friends. If I only needed a text app, I would not use discord at all.
Really depends on the server. The servers I use are driving incredibly rich media: like animated images, video clips, and streaming.
But seriously, why do I need GPU acceleration for my chat UI?
Because rendering things is quite literally the reason GPUs exist, it takes load off the CPU and is more efficient at it to boot.
People use Discord for a lot of things. A lot of people use it to stream and watch streams.
It doesn't hurt to have the component that is optimized for drawing things to the screen be a bit more involved in drawing things to the screen.
Strictly speaking necessary? No. Does it hurt? Not at all.
"Native" sort of loses its meaning in this context - this new client is not "native" in the sense of using the existing GUI tooling for each platform (Cocoa for macOS, any of Microsoft's own frameworks on Windows, primarily Gnome/KDE on Linux).
It is using a universal framework in GPUI, so the experience will be the same on each platform.
It is "native" in the sense that it's not web technology on any of the platforms.
Discord is as much spyware as anything else. Its efficiency in using my computer's resouces in order to log everything about me, build a dossier on me and sell me out at every opportunity is not a consideration, as I view it as something to be avoided like Meta, et al.
That said, Electron does suck.
Vibe coded i guess?
I get why vibe coders love Rust - it’s a lot harder to shoot yourself in the foot if rustc is checking your lifetimes, but holy shit is the code I’ve seen from them the most unholy mess. Rust is difficult enough to read at the best of times but LLMs don’t even bother with any kind of module structure. Just thousands of lines of vomit in single files and a worrying amount of unsafe.
Just tell the clanker to use modern practices poof fixed.
Jokes aside a lot of that bad code can be detected by static linting tools and gated on, making it impossible for any of those to reach main.
Honestly sounds like LLMs have learned that from half the rust projects I'd seen before the LLM craze lol
At my work when I was instructed to vibe code a new app, I specifically chose rust because I was hoping for the AI bubble to burst soon, so then I'd be able to be a proper rust developer
Preamble: I am a huge LLM/codegen skeptic, for a litany of reasons.
With that said, this honestly sounds like whoever did the prompting didn’t include something like this in the prompt, along with nuanced adversarial review loops:
unsafeblocks are strongly discouraged, and must be specifically justified, and survive antagonistic review by a rust language specialist agent and software security specialist agent. Part of the intent of this reimplementation is to leverage the strengths of the rust language itself, and rampantunsafeusage directly contradicts that.
"It can't be that stupid, you must be prompting it wrong."
The ol' reliable.
No, I’m saying that there are ways to introduce feedback mechanisms and antagonistic review and specialist agents to improve the end result of what codegen crap gives you. It’s by no means perfect, but it’s a damn sight better than “make no mistakes”, and if the quality of the rust code is really that much of a shitshow, it’s probably not even being reviewed by a human before getting yeeted into prod, let alone the other things I outlined.
Sure, but adding adversarial loops, or, some complex addition to every prompt would increase the token usage massively, thus the cost.
So, why bother with that?
I could very well be wrong, but all indications I’ve seen have been that that the cost of the tokens needed to get something even vaguely acceptable is greater than the cost of just hiring someone, or a group, to do the job. Unless something needs to be done fast due to an immediate concern, and the cost is no object.
Perhaps they run a local model, then tokens are essentially free.
Would need a very beefy cluster, and that definitely isn’t free.
Well yes, I'm not saying it's a free lunch. The point is a large up-front investment buys you unlimited tokens in perpetuity for no more than the cost of electricity to power the cluster — which can be surprisingly cheap for UMA machines.
I've swapped off API models entirely and have been able to do a lot more useful work since I don't have to worry about token cost or usage limits. Granted it's slower per task (less tk/s), but overall much more productive, and private.
And this will probably give rust a bad name if most of the code is horrid vibe coded stuff. (Cuck coded?)
Hmmmm, the first blog posts about rewriting the backend part from Go to Rust are a few years old by now (early 2020) so it's clearly not a "let's vibecode everything in two weeks" kind of project.
However... The later stages are probably vibecoded... Yeah, that would check out today.
You ever use a Swiss Army knife to open a letter? It’s a lot of extra shit you don’t need but it’s there anyways.
How will this affect the vesktop users
TL;DR: vesktop will probably no longer work (unless they wanna mantain the client themselves...) and vencord will likely only work as a userscript in your browser.
It probably won't, but honestly there aren't that many features the desktop client has that you can't just get by using the browser webapp (Keyboard shortcuts, and the "now playing" feature that is a privacy mess, are the two biggest ones that come to mind right now)
I'm pretty sure this is just an experiment:
- Don't break anything that works
- The website version of the app can't be replaced
- The normal discord app is not that memory hungry it's usually below 1 GB for me, maybe consider optimizing your existing codebase?
- A web based client allows for easier customization, better styling and easier creation of modifications
Why are people on Lemmy using discord?
It's actually really difficult to get your friends to switch over little things like 'being a spy platform', and 'leaking tens of thousands of users private information'.
People probably voice chat with their friends, I don't think Lemmy has that feature?
It's a mainstream platform, so many non-Lemmy people are still there.
Besides, it's always worth the praise when someone makes good technical decisions that benefit users.
Things I want are held hostage on Discord. If I want to play Motorstorm online, I look at the fan server channel and it has real time lobby stats and chat rooms to get some games going. Just an example. My friends usually use Steam for voice chat.
To manage my community more easly and interact with many others aswell plus every friend of my uses it.
There is no alternative currently that offers a granular permission system like discord's, voice chat and streaming that doesn't also suck in other aspects
Because thats what people use
Someone at work with much more political power, and much less knowledge of how dangerous surveillance capitalism is, insists on using it 'cause they use it all the time and it's functional.
:(
Oh, I'm sorry, I wasn't aware I had to forego all traditional social media applications to use federated ones. 🙄
all 81 comments