Discord is ditching Electron and its new app uses less RAM

(theverge.com)

127 points | by archb 2 hours ago

34 comments

  • the__alchemist 10 minutes ago
    I had trouble reading more than the opening volley of the article due to popups. Am a Discord user, and rust application programmer: What GUI framework are they using? EGUI? GPUI? Something custom?

    GPUI from comments? I meant to try GPUI, but backed off after an announcement pending its maintenance would be in question (?) a few months ago, and Zed broadly ending up being a false messiah, for my uses. (Not on the tier of JetBrains IDEs, a bug with a long thread they closed which (still I believe?) causes it to open cached versions of files, then clobber edits made since the cache, e.g. by other programs. I.e. the sort of bug which renders software too dangerous to use. I will not switch to a GUI framework from a group that ignores bugs of that severity reported by many people)

    • earthnail 7 minutes ago
      They use GPUI. Says so on X.

      " (And it's not Tauri, it's GPUI, so good guess everyone.) "

  • Insanity 1 hour ago
    Maybe the good thing to come out of the RAM crisis is that engineers will care about memory usage again lol.
    • himata4113 1 hour ago
      The bad thing here is that modding discord will become significantly harder and might have been their original intention here.
      • cfbradford 29 minutes ago
        They’re showing how easy it is to vibe code a port of the app. A motivated developer outside Discord could do the same and release OpenDiscord or whatever if they cared enough to want to mod the app that way.
        • uproarchat 6 minutes ago
          Ahem there is also the option to check out competitors ;)
        • toomuchtodo 19 minutes ago
          This is the way, LLMs are an enabler and force multiplier to help you build whatever interface you want on whatever protocol you have to reverse engineer.

          Provide it the official client and point it at public api endpoints (or an LLM operated mitm proxy), set it to work to reimplement.

      • muddi900 1 hour ago
        Some vibekiddie will reengineer this, and mod it.
      • rbits 39 minutes ago
        They can just repackage the web app and mod that if all else fails.
      • ecshafer 34 minutes ago
        oh won't someone think of the discord mods!? If its too hard for them to mod, they won't have time to groom children.
    • chasd00 7 minutes ago
      The good thing is AI enabling web developers to write native apps.
    • dirtbagskier 21 minutes ago
      [dead]
  • kayson 30 minutes ago
    I'm very interested in (and a total novice in) cross platform GUI application development. Hadn't heard of GPUI, though I had heard of Tauri. I looked at the GPUI front page and saw this mess of almost-CSS method chaining... Surely there's a better way? This seems horrible to me.

    > div() .flex() .flex_col() .gap_3() .bg(rgb(0x505050)) .size(px(500.0)) .justify_center() .items_center() .shadow_lg() .border_1() .border_color(rgb(0x0000ff)) .text_xl() .text_color(rgb(0xffffff)) .child(format!("Hello, {}!", &self.text)) .child( div() .flex() .gap_2() .child(div().size_8().bg(gpui::red())) .child(div().size_8().bg(gpui::green())) .child(div().size_8().bg(gpui::blue())) .child(div().size_8().bg(gpui::yellow())) .child(div().size_8().bg(gpui::black())) .child(div().size_8().bg(gpui::white())), )

    • desolate_muffin 10 minutes ago
      Someone needs close the loop and make an HTML/CSS to GPUI transpiler
    • ijustlovemath 27 minutes ago
      That's a result of the borrow checker meeting dev ergonomics. Method chaining/functional style ks extremely common. GPUI is also fairly low level, it lets you do a ton of things!
  • Kuyawa 1 hour ago
    The app size also went from 10 GB to 10 MB, start time went from 10 secs to 10 ms

    Goodbye Electron, we barely knew you

    • RunSet 1 minute ago
      In a perfect world it would be reduced to 0 MB.

      https://news.ycombinator.com/item?id=30311982

    • jttnr 29 minutes ago
      I wonder where the 10GB come from. Quick check on Flatpak shows 240 MB download and 568 MB installed size for the Linux install.

      https://flathub.org/en/apps/com.discordapp.Discord

    • pjmlp 51 minutes ago
      I really hope with hardware prices going back to the last century, we finally get some best practices back.
    • hendrikmans 16 minutes ago
      Source?
    • markbao 44 minutes ago
      Misinformation. Discord isn’t 10GB and nobody outside Discord has actually used the Rust port.
    • nonethewiser 48 minutes ago
      What the fuck. That's amazing. 10GB->10MB can't simply be moving from Electron right?
      • sgarland 0 minutes ago
        This has to be hyperbole. I built (with Claude) a P2P LAN voice-only chat app in Rust recently, using native frameworks for each platform (Swift, GTK, Win32), and it weighs in at about 5-6 MB depending on the platform. I have spent an enormous amount of time looking for places to squeeze it further. It has ephemeral channels and password protection, but that’s about it: no text chat, no video, no friends, blocklists, no concept of servers, etc. I can’t imagine everything else Discord has squeezes into another 5 MB.
      • pjmlp 48 minutes ago
        Electron is a full Chrome instance, plus whatever else makes up the application.
        • nonethewiser 43 minutes ago
          Yes, and that only explains about 150MB.

          If it were simply the Chrome install that would imply Electron is 9GB+ by itself, which it most certainly is not.

          • chii 34 minutes ago
            It's probably left over old instances and updates that werent deleted properly. These apps tend to download the update as an entire bundle, rather than any sort of binary diff and patch.

            Therefore, if you have an old install and have gone thru several (many) cycles of updates, the installation directory could be riddled with old versions and update files that make up the bulk of that 10 gig.

      • hypfer 47 minutes ago
        It can and it does, because it drops a ton of code for scenarios that do not exist. (Not these numbers, of course, but if you check the comments of that account.. well. Yeah. Some kid)

        Electron rose to fame because one could just do everything with it and it was good enough.

        Being able to do everything also means that the thing can do everything everywhere all at once, which is many lines of code.

        ___

        The magic of electron was that it was "cheap", however, with code being all AI-generated, that's even cheaper. So now everything will be some slop rust until the point when people realize that there is a cost to be paid after all.

        For electron, that has been RAM and performance. For the vibeslop.. well. We shall see.

        • delta_p_delta_x 45 minutes ago
          Unironically, with LLMs, everyone should be looking to cut their system resource consumption (memory, disk, network, GPU, I/O traffic in general) and rewrite everything natively. Have a platform-independent business logic layer, and a platform-dependent UI/UX layer. Done. It's not even that hard, and has been done several times over; we quite literally have MVC/MVVM/etc that were invented two decades ago.

          Operating systems developers should be looking to profile everything. Benchmarking and profiling used to be horribly time-consuming; nowadays, with agents, this is almost trivial. Then valuable engineer time can be spent looking at actually solving and optimising the workloads, from the kernel, to drivers, to user-mode libraries, to vendored applications.

          About a decade ago programming was expensive, and we decided writing everything in JavaScript was OK, and wasted everyone's memory instead of using programmer time to write fast and efficient native applications. This is no longer the case.

          • hypfer 40 minutes ago
            > Unironically, with LLMs, everyone should be looking to cut their system resource consumption (memory, disk, network, GPU, I/O traffic in general) and rewrite everything natively.

            Depends.

            There is a lot of value in man-made software where the man knows exactly what happened where when why.

            If you just revibe in rust, you get something that works at this point in time, but this deep architectural knowledge is completely lost and you're at the mercy of Dario not locking down your account for wrongthink.

            That can still be fine for smaller tools where the cost of recreating them from scratch is alright, but revibing your core business thingy is likely a horrible idea, which I encourage people to do, as I'd love to have the business opportunity to take over their frustrated customerbase ca 5 years from now.

            • delta_p_delta_x 37 minutes ago
              I don't think we should just 're-vibe' it as you put it. Naturally the rewrite should be progressive and thoughtful, backed by test-driven development at all levels, and regression tests every step of the way. To reiterate: writing code used to be a lot more expensive, which justified foisting React, Electron, JS on everyone. No longer the case.

              I've mentioned in another comment, but my biggest pet peeve is that AI agent applications (Claude, GPT, etc) are themselves just Electron wrappers over their web pages. What a waste.

            • nonethewiser 38 minutes ago
              >and you're at the mercy of Dario not locking down your account for wrongthink.

              Inference cannot be controlled. The models are already out there. It's too late.

              • hypfer 35 minutes ago
                Good luck doing the full-hands-off one-shot revibe stuff this all is referring to with GLM-5.3.

                That needs claude-like capabilities.

                It also should not be done at all. But that approach needs it.

                Using open weights models like GLM-5.3 can also speed up rewriting, but then you're rewriting and not revibing, which is a lot slower.

    • gear54rus 38 minutes ago
      you must be joking 10GB haha

      who downloads this? there's a website available

      • saghm 27 minutes ago
        Push-to-talk does not work well on in the browser at least on Wayland/Linux. The shortcut only gets sent to the active window, which for the type of contexts where push-to-talk is useful (e.g. gaming) is a dealbreaker. I've read stuff indicating that xdotool can manually handle things reasonably enough on X11, but I was never able to get it working reliably for any of the various Wayland replacements for xdotool, so when I've done voice calls, I've had to grudgingly use the desktop client.
  • mintflow 59 minutes ago
    I noticed this news and because one of my codex banked reset is expiring soon

    I launch codex with astra+ultra on my tauri project because webview sometimes cause blank screen on user device to let it to rewrite the tauri projec to GPUI

    It did those stuffs for me

    - get rid of the CGO and MINGW toolchain for cross building windows on Linux

    - wrote a compatbility layer to communicate the original app backend written using rust

    - Achieve not ideal but acceptable UI/UX as the tauri project

    - The new build using 24MB memory which is quite good and I do not even bother to check the tauri version

    It amazing time to rewrite, though I still can't remember joy of old days that manual coding, but my lower back ask me to just embrace the Agentic coding...

  • Telaneo 1 hour ago
    Holy Jesus of Nazareth. I love it.

    I just pray that Vencord will continue to work in some form, if only so I can use whatever font I want. I'm not a fan of many other changes they've made and I've thus had to reverse, but I'm willing to trade away the flexibility of CSS for an app that uses 5 times less RAM. Even better if it doesn't go away at all, but we'll see.

    • RankingMember 30 minutes ago
      It's great they're working on improving performance, but as they move towards an IPO I'd be looking hard at getting off their platform altogether. They're already shoehorning ads and all kinds of nonsense into their app- it's only going to get worse after the IPO.
      • Telaneo 23 minutes ago
        Network effects keep me on it. I'm waiting for the day it collapses so I can spin up a Teamspeak (or whatever) server again, but it's just too darn convenient for everybody else, so I'm stuck with it unless I want to become even more of a hermit.
  • Jonovono 5 minutes ago
    GPUI is pretty great. I whipped this up the other week and now I no longer need to open VSCode: https://diffy.run
    • wackget 1 minute 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!

  • PreciousH 1 hour ago
    It's crazy how much RAM electron needs, at my old startup the main product was an electron app, i initially used to run into this issue where AI wouldn't clean up the dev builds it spunned up for e2e testing and each could be over 500MB, it just get's to a point that the cross platform advantage is no longer worth it, i think it was one of the main reasons cursor had to move off electron to rust based builds.
    • c-hendricks 32 minutes ago
      Oh if you don't like large build artifacts Tauri might not be something to get excited about.
    • pjmlp 52 minutes ago
      It is a full browser, not surprising at all, only for those that never coded native applications.
  • throwaway2046 54 minutes ago
  • Daedren 1 hour ago
    I've never used GPUI. Does GPUI provide the same assurances of accessibility? Of proper CJK rendering?

    Activities will apparently still use Tauri. Is that going to be a compatibility nightmare due to WebKit? (At least until CEF comes out)

    • mintflow 57 minutes ago
      It render accetpable Chinese text, and the IME stuffs work on the control such as search box
  • Venn1 1 hour ago
    The Linux desktop client was using a bit more memory than I expected. 1326 MB from a cold start, and I'm only in 11 servers.
  • hendrikmans 18 minutes ago
    Electron being bad is a bit of a junior- to mid-level engineer tell in my eyes, the sort of thing you'd say if you've just learned that some apps use more RAM than others, maybe built a small Rust TUI and are now wondering why not everything is using Rust. Something you'd believe just before you learn what engineering trade-offs are.

    So, yeah, enjoy rebuilding complete browsers, I guess? I'm sure they'll run more efficiently than the rendering engines that have been refined and tweaked over the course of now multiple decades.

    Well, unless you leave out the annoying stuff, like a11y, IME, RTL, but who needs those things anyway, am I right.

    Then you find out that iterating on a fully Rust-based app is sloooow, so you add a scripting layer, maybe integrate a little Lua VM or something that lets you execute JavaScript?

    Congratulations. You've built a browser, just with fewer features, more bugs, and probably higher RAM usage. Good job.

    • vmg12 3 minutes ago
      Electron is bad, just because Rust is not a good language for building UIs doesn't make electron not bad. People that pick electron (and Rust / gpui) just completely ignore the entire host of other options that are available (I suspect because they want to avoid thinking).
    • delta_p_delta_x 11 minutes ago
      > is a bit of a junior- to mid-level engineer tell in my eyes

      There is absolutely no reason for Discord—a chat application—to run everything a browser does. Why do I need to play videos in the chat application? Why do individual avatars and even tags have to run custom shaders? It's called scope creep.

      > a11y, IME, RTL

      All of this can be done at the platform level. Win32 did this three decades ago. Comes with entire language packs.

      > so you add a scripting layer, maybe integrate a little Lua VM or something that lets you execute JavaScript

      See above: scope creep; features for features' sake.

    • post-it 15 minutes ago
      > Then you find out that iterating on a fully Rust-based app is sloooow

      Maybe not anymore. I don't work on any Chrome-sized Rust codebases so I don't know, but iterating on anything is so much faster that it might work out fine.

  • smolder 1 hour ago
    There was already an electron-free native client for discord some years back, but they interfered with it. At this point, there's nothing at all impressive about this. It's not hard to ask AI to "RIIR" as has been shown many times. However, I am glad that building stuff on electron might finally be seen as lazy and wasteful.
  • Swiffy0 1 hour ago
    Not sure what to think of this.

    Sure, a Rust implementation will perform better and use less RAM, but it's quite obvious that the transition to Rust will be done almost entirely by AI.

    Don't get me wrong, the AI coded Rust version of Discord will most likely work just fine. The thing I'm wondering about is if it's a good idea to rewrite your whole codebase (which I assume is handwritten since Discord predates AI coding) with AI because now there is nobody that knows how it really works - I'm wondering what's the value of having a human-written codebase + the people who wrote it. Just feels like one shouldn't throw that into the trash like it's nothing?

    • kombookcha 1 hour ago
      I'm with you and I think a variety of companies are going to learn this in a highly expensive way over the next few years. Once your shared mental model of how the codebase works is gone it seems practically impossible to get it back. Like what would you even do if you change your mind in 3 years - sit everyone down to meticulously comb through all the AI code until they start to get how it works? Getting back to a similar level of understanding seems like it would take ages and effectively locks you into the new solution in a way that cannot be feasibly reversed.
      • stackbutterflow 40 minutes ago
        How is this different from when you join a company and learn your corner of the codebase? In a sufficiently large enough codebase no one had the whole mental model in their head even before AI. What you did was find and ask that one person who knew enough about some part of the project to answer your questions. Now you can ask a model.
    • petra 37 minutes ago
      When porting an app this way, don't functions/classes preserve the same functionality ?
      • j_w 26 minutes ago
        Well not really? You are going from a webpage (Electron) to a native application via Rust. Say you port a React website to a Rust native application, is anything about that code actually similar?
    • gjsman-1000 1 hour ago
      Here's the critical assumption: Somebody has to know how it works, in order for it to be usable.

      That's not actually true. Nobody understands everything about how an airplane works, not even the lead engineers. Nobody understands everything about how a car works, or how medical billing works, or how taxes work, or how traffic flow works, or how a CPU works, or how almost anything works. You just need to understand the broad picture and be able to find the details when necessary.

      • chneu 34 minutes ago
        Your post is absolute nonsense. Plenty of people know exactly how everything on a plane or car works, or a CPU. I've worked with tons of people who do.

        The fear of deskilling is very valid and is already messing things up.

      • wolvesechoes 46 minutes ago
        > Nobody understands everything about how an airplane works, not even the lead engineers. Nobody understands everything about how a car works

        Of course people do.

        • chasd00 0 minutes ago
          Doubtful. The engine engineer doesn’t know the chemical engineering of modern fuels and neither know the code in the engine controller.
      • add-sub-mul-div 55 minutes ago
        We're losing a respect and understanding of how basic competence works.
      • rvz 39 minutes ago
        This is textbook whataboutism.
      • alala-lala-lon 28 minutes ago
        [dead]
  • krystalgamer 37 minutes ago
    If I understand correctly, they're ditching Electron but still using React but with their custom renderer.
  • asow92 35 minutes 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?
    • taschmex 8 minutes 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.

  • xmichael909 3 minutes ago
    more for sam altman!
  • lookeey 49 minutes ago
  • greatquux 43 minutes ago
    DO TEAMS NEXT
  • resters 27 minutes ago
    discord's electron app was a study in bloatware, quite unlike nearly all other electron apps I've used.
  • jmyeet 11 minutes ago
    We've barely begun seeing the impact of AI on software (IMHO). Things like vibecoding the Adobe suite are going to destroy Adobe. That's going to happen to other companies too. It'll take awhile but it will happen.

    I've always disliked Electron apps in principle. The idea was you could write once, run anywhere, which is something we've heard before so many times but it never really works out that way. Back in the early days of Java we heard this mantra with applets and Java desktop apps and the reality was "write once, test everywhere".

    The cost is simply too high. Nobody wants an entire browser engine packaged to run a desktop app. Security-wise, this is a nightmare. It's such a huge attack surface (eg [1]). And resource-wise it's also a nightmare. Honestly, Electron apps can't die fast enough for my liking.

    What I think we'll see is a return to desktop apps because the cost of porting them to new platforms is dropping like a rock.

    There are modding issues with Discord's migration but I believe modding itself is going to be an issue in a world where it's going to be increasingly easy to find and use exploits.

    I also wonder if Discord is the best we can do here. I've always hated Discord from a UI/UX perspective. Nothing about it is intuitive (IMHO). There are like 3 different settings buttons. You join a Discord and you get yet another custom flow of having to go to this channel and select roles and do something before you can do something else blah blah blah. Everything feels shoe horned. And Discord channels are a worse repository for information than the old forums were.

    [1]: https://www.sentinelone.com/vulnerability-database/cve-2026-...

  • nonethewiser 47 minutes ago
    It doesn't say but it's likely a direct product of AI.
  • musha68k 34 minutes ago
    Potentially even more lightweight: ditch Discord altogether.

    Maybe we should collectively use more of our personal tokens to re/write, extend and mix up the common(s) stacks at this point?

  • dist-epoch 44 minutes ago
    As the motto says, "you can just do things"

    Such a rewrite would have been unthinkable 2 years ago, but now it's table stakes.

  • pipe01 1 hour ago
    RIP mods
    • pjmlp 48 minutes ago
      Somehow we were able to do mods with native applications back in the last century of desktop computing.
  • paxy 29 minutes ago
    We are at a point where the "port this to rust, make no mistakes" meme is basically a reality.
  • Kuyawa 54 minutes ago
    "To continue reading *blah blah* *barfs* Verge subscription" WTF???

    15 years reading the verge without subscription. What happened?

    • hypfer 49 minutes ago
      You've read them without a subscription for 15 years, but they had 15 years of salaries, server cost, etc. That is what happened
    • pjmlp 49 minutes ago
      You have not been paying attention the last two years, as they decided to go subscription instead of loaded with ads like anything nowadays owned by Future, like Toms Hardware, Anything Central.
  • anocna 13 minutes ago
    [flagged]
  • arbor-group 16 minutes ago
    [flagged]
  • acdev_app 19 minutes ago
    [dead]
  • acdev_app 25 minutes ago
    [dead]
  • eastbound 1 hour ago
    That's a direct benefit from AI.

    If all products ditch Electron, it satisfies the NSA requirements of having AI-generated backdoors on your computer, while allowing you to reduce your RAM consumption and letting this precious silicon for Sam Altman (He's quoted saying RAM is better spent in data centers than in personal computers - and in an era where everything is Cloud, one might wonder why the base Macbook Pro has 32GB).

  • elevaet 30 minutes ago
    Hopefully we will get an Electron-free VSCode too at some point.

    edit: there is one https://github.com/Sidenai/sidex haven't tried it yet