Top
Best
New

Posted by archb 3 days ago

Discord is ditching Electron and its new app uses less RAM(www.theverge.com)
493 points | 432 commentspage 3
lyorig 3 days ago|
Serein[0] recently got on my radar, being exactly that (A Rust Discord client). Been using it for the last few weeks, and boy is it snappy! I rather like this trend of stuff being rewritten in Rust (usually via LLMs). Spotifast[1] being another great example.

Perhaps Discord caught wind that this is now possible, and don’t want to be left behind?

[0]: https://github.com/ViceVerse-cz/Serein

[1]: https://github.com/crmne/spotifast

Tmpod 2 days ago|
Yeah a few of those projects have existed for a while, but certainly things have picked up steam with the emergence of better LLMs. The issue with third-party clients is that Discord doesn't like them, and you're in violation of their ToS, meaning they can ban your account at any time. A bit risky, if you're networked into a bunch of communities (unfortunately so, but the effect is rather strong).
Jonovono 3 days ago||
GPUI is pretty great. I whipped this up the other week and now I no longer need to open VSCode: https://diffy.run
elxr 17 hours ago||
Have you considered zed instead? What does this offer that zed doesn't?

The diff viewing experience in zed is really polished IMO.

wackget 3 days ago||
How come it's presented as paid software when the binaries are available on GitHub?

Also naming your company "__slop" is a bold move!

Jonovono 3 days ago||
It's open source! Just if you want to pay for it, i'd like to continue working on it and throwing tokens at it but I don't really expect to make much from it. Theres links to the download page at the bottom too: https://diffy.run/downloads/

Thanks haha hitslop, it means "a property used to increase the interactive touch area of a component beyond its visible layout boundaries", which I thought was so funny when I came across it. Owned the domain since 2020, knew it would come in handy eventually!

asow92 3 days ago||
Asking in good faith: In the agentic age why use abstractions like Electron at all? Shouldn't we write apps in lower-level system languages like Rust like Discord has done?
cloverich 3 days ago||
Consistent UI and control. I re-wrote my electron app in Swift. Its great. But... some of the UI is weird at times; weird patterns; weird behavior. And Apple's UI framework is one of the better ones. Even for AI, each platform will have its own quirks and just _finding_ them takes real users to expose. We take it for granted how flexible and powerful browser UI is, because there's so much baggage and performance related factors. But many UI frameworks are worse, and historically always were.

I think what we're seeing here - and likely to continue to see - is new versions of web UI that eschew a lot of the historical baggage given they don't need to support older websites. And possibly something more powerful. So I guess re-writes or partial ports that take only the parts we need. Presumably a bunch of people will try and hopefully, a few succeed.

bigstrat2003 3 days ago||
> Consistent UI and control.

Neither of which is actually good for your users. Look like other apps on the platform, FFS.

Rohansi 2 days ago||
Outside of macOS/iOS (maybe Android too?) there isn't really any guaranteed consistency between native apps on the platform because there are multiple options for native UI toolkits which render differently. Plus, designers would rather have a consistent (unique/recognizable) look across platforms.
taschmex 3 days ago|||
I am not a developer, but using this type of frameworks and toolkits means that a lot of useful (and sometimes "boring") things are already thought through and taken care of. This is probably most important for smaller projects and teams, but some of it probably applies to Discord scale operations as well :)

While you _should_ put some effort into tuning and fixing these things for your specific project, you will "mostly" get things like cross-platform support for all major desktop operating systems, some support for accessibility-tools like screen readers and voice over, devtools and debuggers, application installers, (push) notifications, caching, some aspects of security and cryptography, log handling, and file handling for free, or at least get a reasonable push in the right direction, with Electron.

The alternative is either getting each of these things from a different third party source, or making them all in-house. With a popular abstraction layer like Electron + a web stack, you will to some extent encounter the same problems, mysterious log messages, design considerations and other issues as everyone else. This means that you can find documentation, stack overflow questions, new hires, consultants, blogs, LLMs, etc. that have the skills and knowledge you need, instead of researching and solving everything in-house.

philistine 3 days ago||
> [...] using this type of frameworks and toolkits means that a lot of useful (and sometimes "boring") things are already thought through and taken care of.

You're falling in the trap of the cross-platform dream. Electron takes insane decisions about how your app is going to achieve cross-compatibility in the name of allowing web devs to do the work. It is simply the wrong tool for the AI age, since a versatile web dev can turn to an AI to help them achieve the work.

elxr 1 day ago||
For low budget teams with a decent amount of web experience, you'll still ship faster with electron.

Also, testing is easier with electron if your desktop app started life as a web app.

mahboi 2 days ago||
99% of the important parts here are not Rust itself but whatever stack is drawing the UI. This whole article is based on a Twitter post, except it's longer yet still has info missing, so I just went to https://x.com/svishnevskiy/status/2118081920194203799 and the answer is GPUI.
gucci-on-fleek 2 days ago||
I didn't see it mentioned in the article, but does this mean that you will no longer be able to use Discord exclusively via the browser, without installing a native app? Because that's my preferred way to use Discord, since the browser nicely sandboxes it, whereas a native application generally runs unrestricted.
gizmo385 2 days ago||
It will still be usable in the browser. I don’t think it’s in the article, but there are posts about it from the CTO on Twitter
ssivark 2 days ago||
FWIW, rust can be compiled to WASM, so it's technically possible to also have a web app perhaps with a pinch of JavaScript.
tdehnke 1 day ago||
We need all the apps, websites etc services to take time to optimize their stuff for RAM, CPU use etc.. it's nuts we have these insanely powerful devices and crappy software and sites can bring them to their knees.
nubinetwork 3 days ago||
Hopefully it'll support arm64, I just found out the current version is amd64 only, despite being electron and also runnable on android.
slashink 2 days ago|
Only true today for Linux. For both Windows and Mac we ship an ARM64 client. With this new Rust version we're also going to ship an ARM64 Linux client.
arisudesu 2 days ago||
I highly doubt they'd throw away decade of engineering of the JavaScript application, to rewrite it from scratch using native platform UIs. Probably would change desktop wrapper from Electron to Tauri or something else
Klonoar 2 days ago|
Except it’s confirmed to not be Tauri.
greatquux 3 days ago||
DO TEAMS NEXT
grim_io 3 days ago||
Nah, ease of running it in the browser is a saving grace for us on Linux. MS does not offer an official Linux client.
fbnlsr 3 days ago|||
Also Slack
WorldMaker 2 days ago||
Microsoft has already had execs saying the next big thing is AI rewriting stuff to Rust. You think you are joking, but I'm sure it is on someone's roadmap in the Teams org.

Of course, being the Teams org they'd likely still find a way to end up with a bloated mess even after a Rust rewrite.

reinhash 3 days ago|
It's great to see so many big companies making the switch to Rust. It is an amazing language and by now it has proven to be a solid multi-purpose language. Many engineer consider Rust a systems programming language (and it is!), but it also offers great abstractions to write on a higher level, building API's and Interfaces
More comments...