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 comments
the__alchemist 3 days 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 3 days ago||
They use GPUI. Says so on X.

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

sphars 3 days ago|||
Which I believe GPUI is the same framework that Zed (the editor)[0] is using

[0]: http://zed.dev/

ethin 2 days ago|||
The fact they're using gpui is... Bad. Is someone trying to make it integrate with native accessibility frameworks? If not (and if they force the native app on us) this transition is going to lock out a ton of people who use assistive technologies.
tensor 2 days ago|||
Yes, see: https://github.com/longbridge/gpui-kit. I've been following these rust UI toolkits and things like accessibility have consistently been missing. This is the first time I've seen a UI library that appears complete enough to build a real product with.
ethin 2 days ago||
Yeah, that's what worries me. Pretty much every Rust UI library I've seen which isn't wxdragon/Relm/GTK lacks accessibility. And most of them don't even have the primitives for it (given that most of them are abandoned).
ecshafer 2 days ago|||
This response doesn't make sense?

GP you asked if there is accessibility P response: yes, here You then respond that worries you and dismiss the proof?

ethin 2 days ago||
> This response doesn't make sense?

Apologies. I was noting that the lack of accessibility worried me (well, and weird accessibility breakage too).

rat9988 2 days ago||
You are dismissing again the answer you are getting. Why do you think it is lacking accessibility despite using a framework claiming " GPUI Kit ships 75+ documented components and primitives, WebAssembly support, AccessKit accessibility"
d1sxeyes 2 days ago|||
To be clear, GPUI Kit is not the same as GPUI. I am not sure if Discord is using GPUI Kit, but accessibility natively is possible with either.

It's reasonable to be concerned that Discord may not have focused on accessibility while rewriting.

It's less reasonable to be concerned that it may be impossible to write accessible apps using GPUI, as that is now possible (https://github.com/zed-industries/zed/blob/main/crates/gpui/...) although this is a fairly recent addition.

It's also less reasonable to assume that an app made with GPUI Kit will automatically be accessible. You still need to put effort into it.

somenameforme 2 days ago||
I don't know why people are ignoring the pink elephant here. For medium scale projects, like a Discord app is going to be, LLMs are now at a superhuman level of competence, including on higher level architectural/structural type decisions. I would be beyond surprised if the rewrite wasn't largely done by Claude (or similar). And in this context accessibility is also just a prompt away, if it wasn't included from the get-go, which it probably would have been.
ethin 2 days ago||
Accessibility isn't just something you one-shot. It takes a lot of back-and-forth and testing with actual screen readers/accessibility scanning tools to be good.
ethin 2 days ago|||
I'm not dismissing it, just uncertain how good it is. Quality over quantity and all that. You can have 75 or 100 or 200 UI components and some can be perfectly accessible while others might not be even things accesskit supports right now. Or Accesskit may only partially support a widget. As I've said downthread, I'm hoping that Discord using a UI toolkit like this will cause upstream effects with respect to Accesskit coverage, so we'll have to see when they start migrating people over to it.
marcprux 2 days ago||||
This is exactly why I started working on Day (https://daybrite.dev) as a successor to Skip (https://skip.dev). It uses platform-native toolkits everywhere, and so accessibility comes for free.

I haven't exactly "launched" it yet, but I'm already shipping apps through the App/Play Stores. See https://daybrite.dev/showcase/ for the 5-minute tour.

tommica 2 days ago||
Oh that looks fricking neat! Might wanna port my little diff-tool to this for funsies!
nextaccountic 2 days ago||||
It was real world use by COSMIC that motivated Iced to add a11y support in the first place

So Discord using gpui could mean it may get the needed features

Klonoar 2 days ago|||
COSMIC runs a fork of iced and things don’t make it back upstream nearly fast enough due to the one-maintainer-bus-factor.

You can’t exactly lump them together.

tensor 2 days ago|||
I don't understand. You can do accessibility with GPUI today. I linked a repo that shows how.
ethin 2 days ago||
Yes, and this is good progress (my comment downthread was before I just looked). According to it it uses accesskit, which is quite good already but still in development so accessibility would not be as good as using UIA directly. I am hopeful though that accesskit (which is also used in Godot) will keep getting better and these gaps can be closed.
tensor 2 days ago||
Yeah, and big products like discord using them should help push that along.
selfmodruntime 1 day ago|||
Turns out the browser (electron) wasn‘t always horrible after all.
the__alchemist 2 days ago||||
This is one angle. I do not see it as a deal breaker in the way you phrase it. I suppose we all have our own. If everyone's had to be satisfied, we'd have no software!

I think in the specific case of Discord, I.e. from a big company, I agree they should handle this properly. As a broader standard, I am not as concerned.

ethin 2 days ago|||
This is a dealbreaker for me even if I didn't want it to be. If your application does not either interact with a11y frameworks (UIA, AT-SPI, NSAccessibility, ...) or does not implement an equivalent that communicates with my screen reader, I literally cannot use your application. I could OCR your application, or use AI and have it use your app for me via screenshots, but neither are even remotely comparable to using the native platform accessibility frameworks.
veverkap 2 days ago||
Could someone use AI to make the GPUI kit become accessible? You (or someone else) mentioned that it doesn't even have the primitives so is it a non starter?
ethin 2 days ago||
No, I mentioned that most rust UI toolkits lack even the primitives. The primitives for even basic accessibility, without accessibility frameworks, would be things like focus events, carrot navigation, navigation in containers such as list/combo boxes, line/paragraph handling in multi-line edit boxes and the like. Adding native accessibility forces you to do a lot of this but just in a different way than routing text directly to a screen reader.

As for me doing it? According to prior comments in this thread it's already done, although I haven't tested it so I don't know how complete it is. Adding UIA support to a framework is different from making that support good (screen readers can be very picky). As an example, say you have a label of an edit box. If you position the label just right within it's parent container a screen reader will pick it up automatically and just announce it as you focus the edit box. But if you don't, all you'll hear is "edit <contents|blank>". There are ways around this (e.g., you can override label detection) but the "ideal" state is that the screen reader picks up that stuff automatically and you just give it the bounds of the various controls and UI elements.

Forgeties79 2 days ago||||
It’s potentially a dealbreaker for millions of people whether they want it to be or not unfortunately. For them accessibility is not optional or can otherwise be taken as a “wait and see” issue.
selfmodruntime 1 day ago|||
Neatly phrased comment, where „fuck the blind“ would have sufficed.
anthony-eid 2 days ago||||
gpui does have a11y support for accessibility, Zed just hasn't piped it through yet. I'm also pretty sure Discord is using their own fork of gpui with patches to add any missing functionality they needed
ethin 2 days ago||
I really hope Zed gets in the support, I'm curious to try it given all the good things said about it (particularly on HN :))
davkan 2 days ago|||
Could maybe use the browser client as a workaround.
lsaferite 2 days ago||||
Considering the fact that the gpui code only exists as a crate under the zed repo, I'd say you are correct.
porphyra 2 days ago|||
weird how the website doesn't have a single screenshot on it, considering it's for a GRAPHICAL user interface. You'd think the examples page would have some screenshots, but in fact it's just example code snippets with no indication of what the code would render as.

[1] https://gpui.rs/

[2] https://gpui.rs/examples/

drcongo 3 days ago|||
I've built a couple of desktop apps for myself recently using GPUI-kit [0] and it's been fantastic. I'm not a Rust programmer, so leaned heavily on Opus 5.5 for both, but the end result is two apps that are considerably faster than anything I could pay money for, and tailored to exactly what I need.

[0] https://gpui-kit.com

thisismyanon2 2 days ago||
I use gpui-kit because it's far and away the prettiest toolkit for Rust and because the underlying gpui crate provides the nicest abstractions over state and async.

But gpui-kit is slop for clankers. The name change from gpui-component to gpui-kit was messy with lots of dangling links remaining for weeks. What little documentation exists is impenetrable Claude speak or buried in "skills.md" files. The APIs are typically incomplete in a way that a human would've never signed off on. e.g. there's no way to enumerate the backing contents of combo boxes, there are multiple tooltip APIs (but even then only buttons can get tooltips). Mac support is clearly just a checkmark that no human has ever looked at (e.g. the way in which menus are mangled). The examples are unhelpful here because, well, see the second point.

Not a bad showing for what's mostly a one man show. But that raises the second problem. Zed's largely distanced themselves from the open source version of gpui and gpui-kit has one human developer. It's a rickety foundation for a commercial app (which is likely why Discord appears to have forked gpui).

drcongo 2 days ago||
Thanks for the extra context, definitely useful to know.
slashink 2 days ago|||
We're using GPUI for this.
z0al 2 days ago|||
Are you using Zed's crate or a private fork?
slashink 2 days ago||
Based on Zed's gpui but we have applied a lot of patches so it's basically a private fork at this point. We're hoping to work with Zed to upstream these patches!
z0al 2 days ago||
> We're hoping to work with Zed to upstream these patches!

Yes please. The GPUI ecosystem is too fragmented

marcprux 2 days ago|||
[flagged]
superdisk 2 days ago||
Looks like vibeslorp. Just checked the GitHub and I see you created it. Come on man.
indemnity 2 days ago|||
[x] rule of three

[x] smallcaps headings

[x] it's not this, it's that

[x] comically overselling marketing language

[x] detached third person perspective

slop confirmed

marcprux 2 days ago||
Absolutely none of those bullet-critiques are accurate.

And do you really think that? Did you look at https://daybrite.dev/showcase/?

marcprux 2 days ago|||
Funny. Have you ever built anything?
superdisk 2 days ago||
Yes, check if you want. I don't even mind AI but snarkily recommending your own project (which has an extremely "default vibed" landing page) as if it's an established tool is bad manners.
marcprux 2 days ago||
There was no "snark" intended, Nick. GPUI is simply the wrong approach here. Read the dozens of other comments in this thread regarding immaturity, in-accessibility, and overall unsuitability of that kind of framework for this kind of application. If you have some kind of counter-argument to that, then make it.

How about you step back and take a 5-minute look at the project and check your own snark.

yownie 2 days ago||
that's loser talk right there.
1024bits 3 days ago|||
We've been using Iced for Totem [0], our cross-platform collaborative workspace app. Incidentally we took a similar route to what Discord is aiming to do, layering a rust engine with native UI (e.g. Swift on mobile) and it has been going well so far.

The one major concern I have with this framework, and with rust UI frameworks in general, is accessibility. That's something you get for free or nearly-free in other ecosystems but seems to require a fair bit of elbow grease here.

Still, I would wholeheartedly recommend Iced, with the one caveat that it hasn't yet hit 1.0 and version upgrades could be a little painful, and might bring big changes.

[0] https://thinktotem.com

hbn 3 days ago|||
The Verge is paywalled now but the article really doesn't have much content other than "they're working on a Rust client and someone showed an early build using 290MB of RAM"
anthony-eid 2 days ago|||
Could you link this bug report please? I would love to take a look at it to see if i could fix it
the__alchemist 2 days ago||
https://github.com/zed-industries/zed/issues/38109

Opened a year ago. Still comments this week.

selfmodruntime 1 day ago|||
I would also be wary of doing this in Rust because the GUI framework story is very much not finished
satvikpendem 2 days ago||
> I had trouble reading more than the opening volley of the article due to popups.

Why do people not use adblockers even this late since their introduction?

dmix 2 days ago||
iPhone
satvikpendem 2 days ago||
There are adblockers on phones including iPhones too.
dmix 2 days ago||
I use a DNS one but it's not perfect.
satvikpendem 1 day ago|||
AdGuard and similar free ones via VPN are good.
asimovDev 2 days ago|||
please download uBlock Origin from the App Store
kayson 3 days 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())), )

ogoffart 3 days ago||
IMHO Rust isn't a great language for describing UIs because it is too explicit in places that doesn't need to be for coding a UI. Which is why in Slint (another Rust UI framework) we opted for a DSL. The application logic stays in Rust, but the UI is described in a language designed for it.

Your example would look like this:

    export component Hello inherits Rectangle {
        in property <string> text: "World";
        width: 500px; height: 500px;
        background: #505050;
        border-width: 1px; border-color: blue;
        drop-shadow-blur: 15px; drop-shadow-color: #0008;
        VerticalLayout {
            alignment: center; spacing: 12px;
            Text { text: "Hello, \{root.text}!"; font-size: 20px; color: white; horizontal-alignment: center; }
            HorizontalLayout {
                alignment: center; spacing: 8px;
                for c in [#f00, #0f0, #00f, #ff0, #000, #fff]: Rectangle { width: 32px; height: 32px; background: c; }
            }
        }
    }
    
More on why we chose a DSL vs code in Rust: https://slint.dev/blog/domain-specific-language-vs-imperativ...
c-smile 2 days ago|||
> Rust isn't a great language for describing UIs because it is too explicit in places that doesn't need to be for coding a UI.

That's is not about just Rust ... Any domain has its own optimal or sub-optimal language describing it. Criteria of optimality is a bit subjective of course. Like: INI, TOML, YAML, etc. are better (YMMV, again) for user facing configs than JSON or XML and so on.

I think that HTML is better for defining hierarchical UI structures and CSS and CSS selectors are (arguably again) better to define UI styling.

My Sciter[1] was initially using .FRM alike inputs (VisualBasic forms, good for IDE but bad for a human) but I quickly discovered that having styles, structure and code-behind-UI in single PL makes non-manageable mess. So Sciter uses HTML, CSS and JS we all familiar with. Not 100% match of course but good enough.

[1] https://sciter.com

ivanmontillam 2 days ago||
I love Sciter, but the curse of Discord is bloated web.

They have no shame in deploying a 300 MB hot mess bundle.

thisismyanon2 2 days ago||||
My experience has been that DSLs don't scale well. For simple things they provide a veneer of ease-of-use but eventually they were an albatross with Chef just as they were with QML and Slint. With both Slint and various Qt bindings for Rust marshalling data between Rust and the UI is painful. With Slint you get the added bonus of things just not yet existing in the DSL. That's a result of both immaturity and a strong focus on mobile at the expense of desktop. But the result is same. gpui has a killer dock widget, QML has the primitives to approximate one, and it's pretty much a no-go with Slint (though there's a third-party dock widget for Slint it's written in C++).

Here's a more idiomatic version of the previous example. IME gpui (and iced) is a lot easier to extend than something with a DSL, and if you check out the gpui example you'll see that gpui provides convenient methods to get consistent styles vs the Slint example where you hardcode widths and sizes. Those hex color abbreviations give me a facial tic every single time.

    use gpui::{black,red,green,blue,yellow,white};

    let Self{text,..} = self;
    
    v_flex()
        .gap_3()
        .bg(rgb(0x505050))
        .size(px(500.0))
        .justify_center()
        .items_center()
        .shadow_lg()
        .border_1()
        .border_color(black())
        .text_xl()
        .text_color(white())
        .child(format!("Hello, {text}!"))
        .child(
            h_flex()
                .gap_2()
                .children(
                    [red(), green(), blue(), yellow(), black(), white()].map(|color|
                        div().size_8().bg(color)
                    )))
MisterMunchkin 2 days ago||||
Slint is proprietary though, so that’s a dead end. I’m not going to use something which will inevitably be rug-pulled when you sell to private capital.
ogoffart 2 days ago||
Slint is an open source, free software. The whole framework is on GitHub. A rug pull can't take back what's already released, and one could always fork if needed.

Btw, a rug pull can happen under even the most permissive licenses. As we've seen in the past with some project changing license or direction. That's more or less already happened with GPUI when Zed refocused development on its own needs rather than other GPUI users resulting in several forks.

IshKebab 2 days ago||||
I'm not sure it matters anymore unfortunately. I've vibe coded a few apps using gpui-kit and it works well. It helps that gpui-kit provides a number of high quality components (e.g. the data table is especially good). But even where it doesn't (e.g. log output) Opus 5.5 was able to easily write one that worked perfectly.

It even added ANSI colour support... which I am still on the fence about but it did make the very good point that it means the logging is exactly the same in GUI and CLI mode.

LittleLily 2 days ago|||
isn't that basically QML?
ordu 3 days ago|||
> Surely there's a better way?

I'd like to know it. I don't think that it can be substantially better. You have to compromise between the amount of customization you are allowed to do and the amount of options you have to pick values for.

I can't vouch for GPUI, I don't know how good its compromise is, but it bears enough similarities to other modern UI-toolkits. I don't think there is a better way, but if you know one, I'd like to know about it.

And, well, don't forget, it is a front-page example, that is not necessarily an example how one should compose their code, it demonstrates what you can do with GPUI. In real life code you'd probably move those children's construction into separate named functions, maybe you'd use some predefined styles to apply to individual elements, instead of picking fg/bg/text-colors, maybe sizes and some other attributes for each one explicitly, and maybe some other tricks.

eviks 3 days ago||
One improvement could be a better way to group and elide units, e.g.

Instead of

.border_1().border_color(rgb(0x0000ff))

You get

.border(1 0x0000ff)

(guess, this can only be in a macro)

Or at least have "color" which understands that it's allied to border instead of having to repeat "border"

> I don't think that it can be substantially better

Don't give up too early, there is no way it can't be, we don't really have any good systems optimized for ergonomics to reach anything great

c-smile 2 days ago||
> .border(1 0x0000ff)

After 10 or so of those you'll start dreaming of

   border-left: 2px solid rgb(0 0 100%);
right?
eviks 2 days ago||
If you're dreaming, why would you stop at that when you could dream of much more visually compelling solid left thick border in a single symbol

┠

or more explicitly

├2

that'd be perfectly paired with a dream-like visual designer that doesn't exist?

tcallred 2 days ago|||
All a language needs to be good at expressing UIs is some sort of tail lambda syntax like Swift and Kotlin. It's the perfect way to express a tree structure (which is essentially all UI) while also being in a true programming language (as opposed to a markup language like XML).
CupricTea 3 days ago|||
This is basically what coding UI in Bevy was like before the `bsn!` macro
odo1242 2 days ago|||
Well, keep in mind that you’re not expected to have the entire UI in one statement. You’re supposed to break this up into functions. That’s why stuff like Flutter and SwiftUI work.

Also, this is basically what Tailwind code looks like.

ijustlovemath 3 days 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!
kalleboo 3 days ago|||
I'm never going to complain about SwiftUI again
selfmodruntime 1 day ago|||
HTML and CSS, for all their faults, are the best layout engine we have.
desolate_muffin 3 days ago|||
Someone needs close the loop and make an HTML/CSS to GPUI transpiler
Jonovono 3 days ago|||
You mean this? https://gpuix.dev
satvikpendem 3 days ago|||
So, Blitz? It's by Dioxus Labs and converts HTML and CSS into native Rust rendering like GPUI.
tomburgs 2 days ago|||
Honestly I'd pick this over whatever is going on with tailwind.

On a more serious note I feel like it's not bad but could be improved if they managed to break it down by styling domain (sort of like SwiftUI).

Something along the lines of .flex(gap: 2).text(size: "xl", color: ...)

vazark 2 days ago|||
honestly I'm not sure why they didn't choose to define a curated subset of HTML/CSS and use a parser. That's what the code is defining anyway
alexaholic 3 days ago||
One person's mess is another person's Tailwind
Swiffy0 3 days 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 3 days 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 3 days 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.
theLiminator 2 days ago|||
I believe institutional knowledge used to work on a ship of Theseus model. It's going to be completely different going forward.
robswc 2 days ago||||
> How is this different from when you join a company and learn your corner of the codebase?

Because most AI generated code is incredibly verbose and noisy. This can be true for any codebase, but it is especially egregious in AI codebases. It is hard to prevent that by just saying "be concise" because knowing exactly where to be concise is the measure of true skill/intelligence.

Every time I have success with AI coding, it is because whatever I need done can work as a pure function, where the probability I have to return to it is very very low.

Making sense of a codebase is like putting together a puzzle. A purely AI generated codebase is like trying to put it together without a picture on the pieces.

port11 2 days ago|||
This is more like ALL the developers have just joined a company where no other devs work and can pass along institutional knowledge. You know, the thing that makes all that complexity wieldy.
throwaway_new_1 2 days ago||||
>change your mind in 3 years

I think if people change their mind in six months, let alone 3 years, they would just rewrite it again with something different, or just double down on the AI rewrite to rewrite the rewrite to fix the gaps and so on. It's a rabbit hole.

What people are completely missing with AI is that when a company/someone makes the decision (which is most these days) to go heavily on the AI route, they are probably going to keep going that way.

We don't really know what’s the right balance of AI and People right now.

My personal take would be to leverage AI to fix and improve what already exists in a maintainable way and wait for others to experiment with going heavily AI. It's worked great for Apple who is generally years behind in a lot of things because they wait it out for others to experiment with things.

beardbandit 2 days ago||||
I don’t think this changes just because you don’t do a rewrite. This is happening already as engineering leans more on AI tools in our own company.

Things ship and change way too fast and the changes are massive.

SoftTalker 2 days ago||||
Also Reflections on Trusting Trust taken to a whole new level.
moralestapia 2 days ago||||
I'd say they're betting on AI getting good and reliable enough to not have to go back to the "old" practice.
kombookcha 2 days ago||
But are they betting more than they can afford to lose, is the thing.
moralestapia 2 days ago||
Yes, I wouldn't make that bet.
CamperBob2 2 days ago|||
Once your shared mental model of how the codebase works is gone it seems practically impossible to get it back.

You won't want it back. How much time do you spend surfing through your .o or .obj files today?

fao_ 2 days ago|||
Back in the day you'd read reference manuals which would tell you about the library, they might be hand written or a listing of the addresses and names. Today in the modern day, we still use reference manuals for writing C and C++. It's just encoded in websites, e.g. https://pubs.opengroup.org/onlinepubs/9699919799/functions/c... and https://en.cppreference.com/

But there are still libraries where familiarising yourself with the header is important, for example stb's libraries. man(1) and GNU Info were both invented to be computer-stored reference manuals, and indeed to this day you can type `man 3p open` to get the POSIX documentation of the system up in front of you.

I am not aware of many codebases that have manuals as complete as this, but back in the day (1970s-era to the 1990s-era) there would be internal documentation written as par of course for the specification created by the waterfall model of development. Post-2010 companies are very lackadaisical about documenting internal interfaces and libraries because they come from startup cultures where "move fast and break things" is the name of the game.

dieortin 2 days ago|||
> How much time do you spend surfing through your .o or .obj files today?

Those are not the source of truth for the application logic. But the higher level code is.

The application code describes the behavior of the program and the compiler translates it into a different representation following a set of known, deterministic rules. This is unlike an LLM producing code from a prompt, which is why the source code is still the source of truth, and not a bunch of prompts.

CamperBob2 1 day ago||
Determinism is something you'll have to give up if you want to stay employed, I'm afraid.

The solution, as usual in engineering, is negative feedback. Unfortunately, many people around here think that means "Shoot the messenger."

spunker540 2 days ago|||
It seems like the value is having something performant. Their choices were 1) stick to a web framework their employees know well 2) a performant native app their employees don’t know as well. And they chose 2.

If a model can tell you anything you’d hope to have a human tell you, what’s the difference? It’s a different point of failure— models can go offline, but employees can also quit anytime too.

mahart 2 days ago|||
I share the intuition but pragmatically if the codebase will only ever be interacted with through AI agents it probably is nothing and wouldn't matter anyway. You can probably even generate an exhaustive amount of documentation instantaneously if you are concerned about a human knowing their way around.
SZJX 1 day ago|||
Isn't that a concern peopld would have about all software? Not sure if there's something particular to a rewrite about this necessarily.
superxpro12 2 days ago|||
Would i rather have a massively bloated cross-platform electron app, or a native app in rust assisted by ai?

the native app wins every single time. Give me native or give me death!

port11 2 days ago|||
You’d think we learned this during all the front-end rewrites of the 2010s…
petra 3 days ago|||
When porting an app this way, don't functions/classes preserve the same functionality ?
j_w 3 days 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?
lukax 2 days ago||
With GPUI quite a lot can be shared. Styling is similar, components can have same names. If your application logic is already cleanly separated, the resulting code can be quite similar.
tlonny 2 days ago|||
I think there are lots of common patterns you find in GC’d languages that don’t translate well into idiomatic rust.

Consequently, porting my game engine from Java to Rust was more challenging than I had anticipated.

7bit 2 days ago|||
Your entire opinion is founded on assumptions.
gjsman-1000 3 days ago||
[flagged]
chneu 3 days 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.

gjsman-1000 3 days ago||
[flagged]
bccdee 2 days ago|||
They know the tires are rated for hitting a landing strip under XYZ conditions, they know how to test the tires to ensure they're still confirming to the expectations of that rating, and they're in contact with the trusted organization that's responsible for issuing that rating. Each expert has a comprehensive understanding of their field, and the fields comfortably overlap with no gaps. For any given perspective, there are several people with the complete picture of that perspective.

Contrast this with a vibe-coded "airplane" where nobody actually understands the tires and you're basically operating on a set of assumptions. The tires are not rated and there's no trusted organization. Maybe it works, but you don't actually know. Very different; don't play language games.

nozzlegear 2 days ago|||
You're putting forth a ridiculous argument. An airplane engineer doesn't need to know how to create the universe from scratch just to work their way up to maintaining airplanes, but they sure as hell understand how the major systems work, how those systems interact, and how to diagnose problems. They don't just tinker around blindly.
SZJX 1 day ago||
It's funny that I was just having this discussion with somebody yesterday. I guess it's always a question of degree. An airplane engineer may still not need to know every bit of detail regarding how all of their tools are produced before they can make use of the tools to build an airplane. But I agree that you raised a valid point in that at least they know how the components of an airplane itself fit together. Maybe it would be similar to how software engineers don't necessarily need to know all the details about how a computer is built (even though in some cases this would be beneficial), but if they don't even have the understanding of the actual _software_, building which is literally their job, it might be going too far. Similarly, a car driver doesn't necessarily need to know all the mechanics about a car, but is a software engineer more like a car driver or a car builder? Or indeed, is what we're currently doing with agents akin to wielding tools to build a system, which we still understand on a high level, or driving a black box? There is a balance there which people are still figuring out as everything is still rapidly in flux.
subarctic 2 days ago||||
My understanding was that for every component there's someone somewhere who understands exactly how it works at least in terms of smaller components/abstractions and for each of those, recursively, someone knows how it works
add-sub-mul-div 3 days ago||||
We're losing a respect and understanding of how basic competence works.
wolvesechoes 3 days 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 3 days ago||
Doubtful. The engine engineer doesn’t know the chemical engineering of modern fuels nor the code in the engine controller.
anthk 2 days ago||
In my country in order to earn a true CS degree you need to learn both Chemistry and EE.

Also check the Homebrew CPU running a custom port of Minix 2 with in-place ported C compilers, linkers and assemblers.

skydhash 2 days ago||
I had to learn geology and engineering drawing, because the first two years syllabus overlapped with civil and electromechanical engineering.
anonymous908213 2 days ago||||
"I'm clueless and don't know how anything works, therefore experts don't exist" is one of the worst takes to come out of this godforsaken tech.
Emjayen 2 days ago||||
This sounds awfully like the self-soothing mantra slop-kiddies everywhere tell themselves.

Plenty of people have a deep understanding of software/hardware, as that's the context here. I personally can take you from usermode, through the kernel (both NT and Linux), down to the hardware interface, explaining the vast majority of systems along the way, and critically, as they relate to performance concerns.

So can plenty of others who actually know+understand things.

gamblor956 2 days ago||||
You picked very bad examples. There are plenty of people who know exactly how everything in a plane or car works, how taxes work, how medical billing works, how a Cpu works.

Cal used to require EECS students learn how to make a basic CPU. Students at CalTech learn how to make advanced planes as student projects.

alala-lala-lon 3 days ago||||
[dead]
rvz 3 days ago|||
This is textbook whataboutism.
PreciousH 3 days 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.
pjmlp 3 days ago||
It is a full browser, not surprising at all, only for those that never coded native applications.
odo1242 2 days ago|||
More than that: it's a full browser that doesn't share any of the system browser libraries (using it's own browser engine) and also NodeJS. You can often save almost ~300-500 megabytes by switching to something like Tauri (even Tauri+NodeJS) that uses the system's own browser framework.
asdff 2 days ago|||
I mean so is lynx
pjmlp 2 days ago|||
Lynx was created for UNIX systems that used around 8 MB, and was text only, JavaScript was yet to be invented.
atomic_cattlepr 2 days ago|||
Lynx is a "full browser" in the same way that Emacs is a "full word processor."
fao_ 2 days ago||
... EMACS is a full word processor? It's a bit spartan in terms of how the interface feels, but functionally it's a lot better than what modern writers get given in vibecoded packages
c-hendricks 3 days ago||
Oh if you don't like large build artifacts Tauri might not be something to get excited about.

For reference, my src-tauri/target/ folder is 8.3gb.

deaton 2 days ago||
Its not Tauri, they're using GPUI
c-hendricks 2 days ago||
You're right! Apologies. My brain saw Rust and Electron and went right to Tauri.
Kuyawa 3 days 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

jttnr 3 days 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 3 days ago|||
I really hope with hardware prices going back to the last century, we finally get some best practices back.
markbao 3 days ago|||
Misinformation. Discord isn’t 10GB and nobody outside Discord has actually used the Rust port.
hendrikmans 3 days ago|||
Source?
nticompass 2 days ago||
It's a joke.
RunSet 3 days ago|||
In a perfect world it would be reduced to 0 MB.

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

asimovDev 2 days ago|||
they recently added google searchability or something adjacent to that. I received a lot of pings in various discord servers about it being opt-out and that by default my messages are searchable now apparently
hn773746483 2 days ago|||
Discord even sends its DPO (data protection officer/privacy team) tickets to outsourced offshore copy & paste template support farms/AI chatbots. I've requested my data numerous times, half of the time the ticket was closed without a response, and the ones that DID get a response were the same copy & paste template telling me my data package is being generated.

All data packages were missing 90% of my account data (bug? size issue with zip files?), no avenue to report this to Discord of course, because the only words their "privacy team" know is... :^)

I was going to paste exactly what they sent me, but it turns out some of my data request tickets have been deleted by them.

gear54rus 3 days ago|||
you must be joking 10GB haha

who downloads this? there's a website available

saghm 3 days 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.
TingPing 3 days ago||
A standard exists for Wayland apps. https://flatpak.github.io/xdg-desktop-portal/docs/doc-org.fr...
saghm 2 days ago||
I get a 404 for that link.
chandlerswift 2 days ago||
Perhaps https://flatpak.github.io/xdg-desktop-portal/docs/doc-org.fr... ? From a quick skim of the page it's not immediately obvious if that actually will allow PTT to work, though; I'm only suspecting that because I don't see any of its siblings that would even conceivably allow for PTT.
saghm 16 hours ago||
No clue if it's possible or not. I was not able to find any way to do it when I last checked around a year ago, but maybe something has changed since then, or maybe it just isn't implemented in Firefox yet.
nonethewiser 3 days ago||
What the fuck. That's amazing. 10GB->10MB can't simply be moving from Electron right?
sgarland 3 days 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, no blocklists, no concept of servers, etc. I can’t imagine everything else Discord has squeezes into another 5 MB.
pjmlp 3 days ago||||
Electron is a full Chrome instance, plus whatever else makes up the application.
nonethewiser 3 days 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 3 days 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.

flykespice 2 days ago||
That is horrible, is it really that common that electron apps eventually consume all your storage with each update?
chii 1 day ago||
if the app cleaned up the update properly, then no. For example, signal desktop is fine.

I dont have discord, so what i said is just conjecture, but bad update files laying around isn't uncommon imho.

hypfer 3 days 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 3 days 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.

throwitaway222 2 days ago|||
Yeah I have to agree here - the days of being scared of complete rewrites are pretty much over.
hypfer 3 days 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 3 days 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 3 days 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 3 days 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.

upcoming-sesame 2 days ago|||
npm memes https://programmerhumor.io/javascript-memes/javascript-exper...
throwaway2037 2 days ago||
From the website https://gpui.rs/, I see this description:

    > GPU-accelerated UI framework for Rust
Can someone explain to me why a text editor needs to be GPU-accelerated? Literally, you are only blitting a few icons and painting text. What am I missing? To be clear, I am not here to doubt that the toolkit is good. Rather, I am asking why is "GPU-accelerated" important? Most people in 2026 that use an IDE are also equipped with a multi-GHz CPU has has plenty of compute to paint whatever pixels necessary at more than 60Hz refresh rate.
nomel 2 days ago||
I think you underestimate how intense drawing text is, with all the aliasing and whatnot that goes on, spanning the full width of a 4k monitor, and don't realize all the IDEs you mention are GPU accelerated. You can get a feel for its worth by using a terminal that isn't GPU accelerated, or turn off GPU acceleration in VSCode, Microsoft office, etc. Add in images and video, and you get people complaining about poor battery life.

It's either you peg a CPU while simply scrolling, or your GPU does a small amount of power efficient, buttery smooth, work.

throwaway2037 2 days ago|||
This is a very good reply! I stand corrected, and thank you to do so in a very polite and succinct manner. A better way to think about GPUs in 2026: They are used as a co-processor and are very efficient to paint pixels.
hburd 2 days ago|||
You can cache the glyphs in an atlas and avoid re-rendering each glyph every time. But this comes with its own complications and tradeoffs.
dmix 2 days ago|||
I tried Zed quite a bit and I didn’t noticed much performance difference vs VSCode. Might be an overrated angle even though developers eat that stuff up in marketing.
danpalmer 2 days ago|||
Zed's performance only really shows in huge windows, lots of layout things going on, big files, etc. Basic usage doesn't show it on modern high spec dev machines.
itsTyrion 2 days ago|||
Can't confirm. Found it to be faster basically always. Starts FAST, opening a project or switching is "blink and you miss it", so is basically every dialog and menu
cush 2 days ago|||
Discord is a text editor?
throwaway2037 2 days ago||
Fair point. It would be better to say: "Primarily text-based GUIs". I was looking for a good way to describe apps that are not primarly showing video or rendering 3D graphics.
asimovDev 2 days ago||
a lot of discord is non-text. People share videos and images all the time. Everyone has profile pictures and profiles are customizeable with banners and animated backgrounds. It's not an IRC chatroom app.
falsaberN1 2 days ago||
Oh, so the reduction in RAM usage is going to mean it's going to use my precious VRAM instead? No thanks.
pornel 2 days ago||
If you're using an OS newer than Windows XP, then the app window is going to be rendered by a GPU-based compositor anyway. It's going to exist in VRAM either way. CPU-based rendering will just do extra work to upload the pixels to VRAM.

I don't know about GPUI in particular, but it's possible to make GPU-based rendering use less VRAM by generating graphics with shaders on the fly instead of using pre-rendered sprites/bitmaps like it used to be done with CPU-based rendering (e.g. computed gradients and drop shadows, large text rendered straight from curves instead of a prerendered atlas)

7bit 2 days ago||
Yeah, so why not use OS then for rendering and roll your own rendering pipeline?
pornel 2 days ago||
because OSes have different UI toolkits with their own vendor lock-in, quirks, limitations, preferred languages, legacy baggage, and random bursts of "everything is now deprecated except the newest fad which will be deprecated next year" and "we're making everything flat and/or semitransparent!". Then most of the time the stock widgets are too basic to even support what Discord wants. This is an expensive PITA to develop and test for, and it's what lead app developers to run away to Electron.
mintflow 3 days 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 3 days 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 3 days 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 3 days 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.
pndy 2 days ago|||
Haven't been checking this for 5 years but has something changed or there's still a risk that Discord will ban your account for not using the official client?
Telaneo 2 days ago||
That part of the terms of service is still there, although they don't go out of their way to ban people unless they act like bots or whatever. I don't worry too much about Vencord, since all I'm using it for is editing CSS.

Discord could be knobheads about it, but I think they realise there's little point in actually implementing any checks and banning accounts unless said accounts actually cause problems. That section of the terms of service is probably there just as a catch-all just so they have a reason to ban, just so they don't need a good reason.

asdff 2 days ago||
Use ripcord
Telaneo 2 days ago|||
Ripcord's last official update was in 2021?[1] Why in the name of all that is holy would I use that?

[1] https://cancel.fm/ripcord/

rapist 2 days ago||
it can send and receive messages what more do you want
Telaneo 1 day ago||
Voice chat and functional sharescreen with audio on Linux.
magackame 2 days ago|||
It's abandoned. Does it even work anymore? Or are there thirdparty patches for it?
stasomatic 2 days ago||
Who cares? I've never had performance issues with Slack, Discord and the like. It runs fast enough on my MBP. They could make it faster by removing the casino lights and prompts and upsells, and research other ways to monetize. Electron is not the issue with Discord, it's their constant annoying nagging.
mvdtnz 2 days ago||
Not everyone is on a Macbook Pro. There is an enormous addressible market of people on lower end devices.
abdullahkhalids 2 days ago|||
Apps end up being implicitly targeted for performance at a certain level of computer. If your computer is faster than that level (which it seems it is), you won't face any problems. if your computer is slower, you will face problems.

But the kicker is, if everyone buys faster computers, the developers will correspondingly stuff more "features" in there to make it slower so the same number of people are still screwed. This is the recorded history of software engineering.

literallyroy 2 days ago|||
People playing games trying to squeeze out a few more frames.
lstodd 2 days ago||
Or a few more Eve clients
nozzlegear 2 days ago|||
> They could make it faster by removing the casino lights and prompts and upsells, and research other ways to monetize. Electron is not the issue with Discord, it's their constant annoying nagging.

Amen. I hate Discord, and I loathe that I have to use it just because "gamers" use it and it became the default for video game communities.

odo1242 1 day ago|||
A MacBook Pro is one of the most performant possible computers you could try this on. Electron apps are absolutely terrible without those kinds of resources (RAM especially). Keep in mind that Discord is also an app intended to be used by people who are gaming or streaming video as it’s original purpose, so it should be using as little CPU as possible to not interfere with e.g. the game.
protocolture 2 days ago|||
Slack used to be a sizable portion of my old business stack on an 8GB X1 Carbon.

Windows doesnt leave you a lot of change from 8GB these days.

I used to have issues as Firefox would open a tab, cap out my available memory and 3cx would start stuttering causing voice issues.

The solution was to move to a carbon with 32GB RAM, but like, I should probably expect more out of Windows/Slack/3CX/Firefox in the first place. Feeding the beast more RAM is no longer a financially viable alternative for a lot of people.

stasomatic 2 days ago||
The software bloat isn't ever going to go away. If you had 512 GB of RAM, would you care? We need cheap RAM.
elxr 1 day ago|||
Discord takes over 2 seconds to launch for me, which is ridiculous for a mostly text-based app.

In fact, there's almost no electron app that feels good to launch. I care very much about having things I interact with on a daily basis feel quick.

nophunphil 2 days ago|||
From that angle, sure. But maybe every program running on my machine doesn't need to run a full web browser instance.
stasomatic 2 days ago||
I agree, but that's where we are and I've never been hampered. Electron is not going away.

I run Slack, Discord, Signal, Bitwarden, Asana, VS Code, GitHub - all idling quietly on a 16GB MPB M2. Was the same on my M2.

It's overblown, I don't care about Electron, how it's made (I understand how), who makes it, no dog in the hunt, but there is too much FUD about it, IMO.

skydhash 2 days ago|||
In lot of corporate offices, it’s SFF and 1 liter desktops with 8 gb of ram and windows. You use Slack and Chrome, plus MDM software and you barely have enough compute left to move the cursor.
elxr 1 day ago||||
> there is too much FUD about it, IMO.

Yeah it's not as bad as people make it seem, but it's also far from ideal. Especially with how many tools we have nowadays to build performant desktop apps, a company of that size should really not be using electron if they know better.

drdexebtjl 2 days ago|||
You’re not representative of the target demographic for Discord, dude.

It’s kids playing Roblox on a decommissioned school laptop in a third-world country.

asimovDev 2 days ago||
I really feel for them. Back in the day I couldn't play a game while I had Skype open. I was so happy when my friend groups switched to TeamSpeak which used miniscule amount of resources in comparison to Skype. Well until 2015 came and we all switched to discord lol
Telaneo 2 days ago|||
No snowflake feels responsible for the avalanche.
PUSH_AX 2 days ago|||
Discord runs games inside it now, although it's just a wrapper around a frame for the game it still doesn't help if its heavy.
selfmodruntime 1 day ago|||
Exactly. Most people hating on electron have hundreds of tabs open
viraptor 2 days ago||
Me, but also everyone a bit. Almost nobody cares about one of those applications in isolation. You start caring when you get a few of them and run out of ram. Sure, you can run Slack and Discord or something similar at the same time. But once you do, can you comfortably do other work without any visible slowdown? Or is this the threshold for "I need more than 8GB of ram?" You may be spending $ because of decisions like that.

Hot take: We should be able to comfortably run generic office desktops today with 4GB ram. We don't because too many people think "Who cares?"

stasomatic 2 days ago||
I haven't run any laptop or a desktop with less than 16GB of RAM for over 2 decades. That's table stakes and a minimum. My uConsole CM5 Lite has 16GB. My 14 year old TP X230 has 32GB. I don't know what to tell you, if you want to swap to disk, then suffer the consequences.
viraptor 2 days ago||
There are two problems here:

1. You can't imagine that <8GB is enough for office work. It still is with enough care.

2. You can't imagine that a lot of this usage is waste. Sure you can buy more ram, but what if you needed half the memory and didn't swap?

I've got 30GB in use (some of it already compressed) and around 20GB of that is useless copies of some browser engine in various apps. It's insane that anyone is accepting that as table stakes and tells the user to "suffer the consequences" rather then raging at the current state of the industry.

We ran quick and responsive office suites in a fraction of that decades ago and 4GB in a common office machine should handle this just fine. (And still can on 8GB on a well configured machine. 4GB is tight but may be still comfortable on Linux)

No. I want the great native rewriting and de-Chroming to start, and I want the companies that don't follow to suffer the consequences of getting rejected from the more lean machines.

stasomatic 1 day ago||
1. You can't imagine that <8GB is enough for office work. It still is with enough care.

Perhaps with DOS?

I don't need to imagine it, I've used 4/8GB early Airs, netbooks, slow Gateways and Dells. Turtles. I don't want to optimize my RAM. If something runs away, I'll kill it. I need more RAM. What you are saying is romantic in principle, and I don't disagree with the principle, but that's a dream and we need more RAM. I can subsist on rice and beans and tofu, but I don't want to.

WhitneyLand 2 days ago|
Notable on the mobile app side that react native is getting tossed out along with electron.

It makes sense and I think they are going to be more teams moving in this direction.

Now that agents are good enough to one shot native UI from a Figma spec, these extra layers will be seen more as adding unnecessary complexity and ram bloat.

More comments...