Comment by OlympicMarmoto

Comment by OlympicMarmoto 4 hours ago

65 replies

It is baffling how these AI companies, with billions of dollars, cannot build native applications, even with the help of AI. From a UI perspective, these are mostly just chat apps, which are not particularly difficult to code from scratch. Before the usual excuses come about how it is impossible to build a custom UI, consider software that is orders of magnitude more complex, such as raddbg, 10x, Superluminal, Blender, Godot, Unity, and UE5, or any video game with a UI. On top of that, programs like Claude Cowork or Codex should, by design, integrate as deeply with the OS as possible. This requires calling native APIs (e.g., Win32), which is not feasible from Electron.

namelosw 3 hours ago

The situation for Desktop development is nasty. Microsoft had so many halfassed frameworks and nobody knows which one to use. It’s probably the de facto platform on Windows IS Electron, and Microsoft use them often, too.

On MacOS is much better. But most of the team either ended up with locked in Mac-only or go cross platform with Electron.

  • OlympicMarmoto 3 hours ago

    This is another common excuse.

    You don't need to use microsoft's or apple's or google's shit UI frameworks. E.g. see https://filepilot.tech/

    You can just write all the rendering yourself using metal/gl/dx. if you didn't want to write the rendering yourself there are plenty of libraries like skia, flutter's renderer, nanovg, etc

    • jarek-foksa 3 hours ago

      Customers simply don't care. I don't recall a single complain about RAM or disk usage of my Electron-based app to be reported in the past 10 years.

      You will be outcompeted if you waste your time reinventing the wheel and optimizing for stuff that doesn't matter. There is some market for highly optimized apps like e.g. Sublime Text, but you can clearly see that the companies behind them are struggling.

      • coldtea 6 minutes ago

        >Customers simply don't care. I don't recall a single complain about RAM or disk usage of my Electron-based app to be reported in the past 10 years.

        I see complains about RAM and slugginess against Slack and countless others Electron apps every fucking day, same as with Adobe forcing web rendered UI parts in Photoshop, and other such cases. Forums are full of them, colleagues always complain about it.

      • FranklinJabar 39 minutes ago

        > I don't recall a single complain about RAM or disk usage of my Electron-based app to be reported in the past 10 years.

        When was the last time complaining about this did anything?

      • cpuguy83 2 hours ago

        Not seeing complaints doesn't mean they don't exist. Not to mention ui latency that is common in electron apps that is just a low-level constant annoyance.

      • adastra22 2 hours ago

        I have complained about literally every Electron based app I have ever used. How would you know there are no complaints?

      • woah 2 hours ago

        The various GPU-accelerated terminal projects always make me chuckle

      • behnamoh 35 minutes ago

        > Customers simply don't care.

        They do, but they don't know what's causing it. 8GB of RAM usage for Codex App is clown-level ridiculous.

      • frumplestlatz an hour ago

        I don't bother complaining about Electron-based applications to the developer, and I expect that's not an unusual position. It's not like the downsides are hidden, unique, or a surprise, and if the developers' priorities aligned with ours, they wouldn't have picked electron in the first place.

        I use web-tech apps because I have to, and because they're adequate, not because it's an optimal user experience.

    • incr_me 3 hours ago

      How is File Pilot for accessibility and for all of the little niceties like native scrolling, clipboard interaction, drag and drop, and so on? My impression is that the creator is has expertly focused on most/all of these details, but I don't have Windows to test.

      I insist on good UI as well, and, as a web developer, have spent many hours hand rolling web components that use <canvas>. The most complicated one is a spreadsheet/data grid component that can handle millions of rows, basically a reproduction of Google Sheets tailored to my app's needs. I insist on not bloating the front-end package with a whole graph of dependencies. I enjoy my NIH syndrome. So I know quality when I see it (File Pilot). But I also know how tedious reinventing the wheel is, and there are certain corners that I regularly cut. For example there's no way a blind user could use my spreadsheet-based web app (https://github.com/glideapps/glide-data-grid is better than me in this aspect, but there's no way I'm bringing in a million dependencies just to use someone else's attempt to reinvent the wheel and get stuck with all of their compromises).

      The answer to your original question about why these billion dollar companies don't create artisanal software is pretty straightforward and bleak, I imagine. But there are a few actually good reasons not to take the artisanal path.

    • namelosw 23 minutes ago

      It's essentially asking application developers to wipe ass for OS developers like Microsoft. It's applaudible when you do it, understandable when you don't.

      Even though OpenAI has a lot of cash to burn, they're not in a good position now and getting butchered by Anthropic and possibly Gemini later.

      If any major player in this AI field has the power to do it's probably Google. But again, they've done the Flutter part, and the result is somewhat mixed.

      At the end of the day, it's only HN people and a fraction of Redditors who care. Electron is tolerated by the silent majority. Nice native or local-first alternatives are often separate, niche value propositions when developers can squeeze themselves in over-saturated markets. There's a long way before the AI stuff loses novelty and becomes saturated.

    • embedding-shape 2 hours ago

      > You don't need to use microsoft's or apple's or google's shit UI frameworks. E.g. see https://filepilot.tech/

      That's only for Windows though, it seems? Maybe the whole "just write all the rendering yourself using metal/gl/dx" is slightly harder than you think.

      • OlympicMarmoto an hour ago

        The proof that rendering is not _that_ hard because the flutter team did it when they switched off skia (although technically they still use skia for text rendering, I'll admit that text rendering and layout is hard)

    • browningstreet an hour ago

      They’re all iterating products really fast. This Codex is already different than the last Codex app. This is all disposable software until the landscape settles.

    • [removed] 3 hours ago
      [deleted]
  • zem 2 hours ago

    "native" is used for different things, from "use the platform's default gui toolkit" to "compile to a machine code binary". the former is a bit of a mess, but the latter is strictly better than wrapping a web view and shipping an entire chrome fork to display and interpret it. just write something in qt and forget about native look and feel, and the performance gain will be enough to greatly improve the user experience.

    • belfthrow 2 hours ago

      Should just use javafx or swing. Take a leaf out of intellij which while it as it's own performance problems (although not from the fact of the ui framework) has a fantastic ui across Mac / windows / nix

      • adastra22 an hour ago

        I can’t tell if this word salad is sarcasm or genuine.

        • coldtea 4 minutes ago

          From the suggestions it looks like sarcasm, but you never can tell these days

  • weaksauce 3 hours ago

    microsoft also uses react native for the start menu and also bricked that during a recent upgrade apparently... along with breaking other stuff.

  • harikb 3 hours ago

    As I outlined in a sibling comment. You can still use React and your JS developers. Just don't ship a whole browser with your app.

    May be an app that is as complex as Outlook needs the pixel-perfect tweaking of every little button that they need to ship their own browser for exact version match. But everything else can use *system native browser*. Use Tauri or Wails or many other solutions like these

    That said, I do agree on the other comments about TUIs etc. Yes, nobody cares about the right abstractions, not even the companies that literally depend on automating these applications

  • walt_grata 2 hours ago

    Do not give a shit about how they excuse doing a bad job. If their tools make them that much more productive, and being the developer of those tools should allow you to make great use of them.

    Use native for osx Use .Net framework for windows Use whatever on Linux.

    Its just being lazy and ineffective. I also do not care about whatever "business" justification anyone can come up with for half assing it.

  • dheera 2 hours ago

    This. Even Linux is nasty. Qt and GTK are both horrible messes to use.

    It would be nice if someone made a way to write desktop apps in JavaScript with a consistent, cross-platform modern UI (i.e. swipe to refresh, tabs, beautiful toggle switches, not microscopic check boxes) but without resorting to rendering everything inside a bloated WebKit browser.

    • adastra22 an hour ago

      That’s what React Native is. But JavaScript is the problem.

rafram 4 hours ago

- Video games often use HTML/JS-based UI these days.

- UE5 has its own custom UI framework, which definitely does not feel "native" on any platform. Not really any better than Electron.

- You can easily call native APIs from Electron.

I agree that Electron apps that feel "web-y" or hog resources unnecessarily are distasteful, but most people don't know or care whether the apps they're running use native UI frameworks, and being able to reassign web developers to work on desktop apps is a significant selling point that will keep companies coming back to Electron instead of native.

  • harikb 3 hours ago

    I have been building Desktop apps with Go + Wails[1]. I happen to know Go, but if you are ai-coding even that is not necessary.

    A full fledged app, that does everything I want, is ~ 10MB. I know Tauri+Rust can get it to probably 1 MB. But it is a far cry from these Electron based apps shipping 140MB+ . My app at 10MB does a lot more, has tons of screens.

    Yes, it can be vibe coded and it is especially not an excuse these days.

    [1] https://wails.io/

    Microsoft Teams, Outlook, Slack, Spotify? Cursor? VsCode? I have like 10 copies of Chrome in my machine!

    • rafram 3 hours ago

      I've looked into Tauri and Wails, but they don't seem realistic for a cross-platform app with wide distribution across multiple platforms and platform versions.

      One of Electron's main selling points is that you control the browser version. Anything that relies on the system web view (like Tauri and Wails) will either force you to aggressively drop support for out-of-date OS versions, or constantly check caniuse.com and ship polyfills like you're writing a normal web app. It also forces you to test CSS that touches form controls or window chrome on every supported major version of every browser, which is just a huge pain. And you'll inevitably run into bugs with the native -> web glue that you wouldn't hit with Electron.

      It is absolutely wasteful to ship a copy of Chrome with every desktop app, but Tauri/Wails don't seem like viable alternatives at the moment. As far as I can tell, there aren't really any popular commercial apps using them, so I imagine others have come to the same conclusion.

      • harikb 3 hours ago

        If the web-interface of a website can serve same HTML to all browsers, these UI can as well. I don't think we have IE6 level incompatibility these days. I have no idea what specific incompatibility you are talking about. I am writing my 4th desktop app since early 2025.

        But sure, you could have some specific need, but I find it hard to believe for these simple apps.

    • hodanli 3 hours ago

      I am in love with wails. having python and JS background with no go experience. I pm'ed Ai agents to create a fairly complex desktop app for my own use. it is day and night in terms of performance compared to lightest electron app.

  • anonymous908213 4 hours ago

    Given that OpenAI managed to single-handedly triple the price of RAM globally, people will very much care about their chat application consuming what little scraps are left over for them, even if they don't know enough about anything to know why their system is running poorly.

  • [removed] 20 minutes ago
    [deleted]
pama 3 hours ago

My main take is exactly the opposite. Why not build everything with a simple text interface (shell command) so the models learn to use these tools natively in pretraining. Even TUI like codex-cli or claude code are needless abstractions for such use cases and make full automation hard. You could add as many observability or input layers for humans as you want but the core should be simple calls that are saved in historical and documentation logs. [the headless/noninteractive modes come close, as do the session logs]

  • markbao 2 hours ago

    TUI is easy to train on, but hard to use for users. Part of the reason it’s easier to have LLMs use a bunch of Unix tools for us is that their text interface is tedious and hard to remember. If you’re a top 5% expert in those tools it doesn’t matter as much I guess but most people aren’t.

    Even a full-featured TUI like Claude Code is highly limited compared to a visual UI. Conversation branching, selectively applying edits, flipping between files, all are things visual UI does fine that are extremely tedious in TUI.

    Overall it comes down to the fact that people have to use TUI and that’s more important than it being easy to train, and there’s a reason we use websites and not terminals for rich applications these days.

  • vardalab 2 hours ago

    I agree. I like using Claude or Codex in VM on top of the tmux. Much more flexibility that way. I open a new tmux window for each issue/task big enough to warrant it, issue a prompt to create a worktree and agents and let them go to town. I actually use claude and codex a the same time. I still get observability because of tmux and I can close my laptop and let them cook for a while in yolo mode since the VM is frequently backed up in proxmox pbs. I am a retired hobbyist but this has been a nice force multiplier without devolving a complete viby mess. I hope these new orchestration tool support this like vs code remote development does. Same for cloud. I want them to support my personal "cloud" instead of laggy github mess.

  • ryandrake 3 hours ago

    It would be cool if I didn't have to worry about whether I was "in" or "out" of the AI TUI. Right now, I need at least two terminals open: One running my shell, that I use to issue shell commands, and one running Claude, where I can't. It would be nice if it could just be my shell, and when I wanted to invoke claude, I'd just type:

       c Do this programming task for me.
    
    Right in the shell.
    • stevejb an hour ago

      Most AI agents have a 'bash mode' and, you can use Warp terminal which is terminal first, but easy to activate the AI from the terminal. For example, if you mangle a jq command, it will use AI to suggest the right way to do it.

coldtea 9 minutes ago

Desktop GUI is a lost art. Gen X were the last people to master it.

bopbopbop7 4 hours ago

> even with the help of AI.

This is what you get when you build with AI, an electron app with an input field.

  • hdjrudni 4 hours ago

    Doesn't have to be. I just revived one of my C++ GLFW app from 2009. Codex was able to help me get it running again and added some nice new features.

    I guess you get an Electron app if you don't prompt it otherwise. Probably because it's learned from what all the humans are putting out there these days.

    That said.. unless you know better, it's going to keep happening. Even moreso when folks aren't learning the fundamentals anymore.

  • airstrike 4 hours ago

    I've done way, way more than that, as I'm sure others have too.

    This is just bad product management.

    • bopbopbop7 3 hours ago

      So where is all this amazing software that you and others built with AI?

      All I see is hype blog posts and pre-IPO marketing by AI companies, not much being shipped though.

      • saint_fiasco 3 hours ago

        You won't see it because it's mostly personal software for personal computers.

        I've got a medical doctor handwriting decipherer, a board game simulator that takes a PDF of the rulebooks as input and an accounting/budgeting software that can interface with my bank via email because my bank doesn't have an API.

        None of that is of any use to you. If you happen to need a similar software, it will be easier for you to ask your own AI to make a custom one for you rather than adapt the ones I had my AI make for me.

        Under the circumstances, I would feel bad shipping anything. My users would be legitimately better off just vibe coding their own versions.

      • airstrike 2 hours ago

        quality takes time. I'm still in stealth

    • measurablefunc 3 hours ago

      Their goal is to ship as fast as possible b/c they don't care about what you care about. Their objective is to gather as much data as possible & electron is good enough for that.

      • romainhuet 2 hours ago

        I work at OpenAI, and I get the concern. From our side, this was a careful tradeoff: Electron lets us iterate faster and makes it possible to bring the Codex app to Windows and Linux very soon. That doesn’t mean performance or UX don’t matter—we’re actively paying attention to both.

        Would genuinely love your thoughts if you try it. Early users have been surprised by how native it feels!

        • measurablefunc an hour ago

          I use Google's antigravity so I personally have no problem w/ electron applications. At the end of the day UI performance is not a bottleneck for me.

  • OlympicMarmoto 3 hours ago

    Claude code is perfectly capable of writing low level rendering and input code and it can be equally as mindless as vibe coding web apps.

    E.g. just say "write a c++ gui widget library using dx11 and win32 and copy flutters layout philosophy, use harfbuzz for shaping, etc etc"

  • babypuncher 3 hours ago

    At the end of the day LLMs just reproduce the consensus of the internet, so it makes sense that a coding agent would spit out software that looks like most of what's on the internet.

    LLM output is called slop for a reason.

AstroBen 2 hours ago

What features are they missing that a native app would allow for?

No-one outside of a small sliver of the tech community cares if an app is built with web tech

Electron also opens up easier porting to Linux which almost certainly wouldn't happen if companies insist on native only

uxhacker 2 hours ago

Why would widgets and buttons be better than a console, and or voice?

  • scotty79 an hour ago

    Because you see stuff before you decide what to invoke?

noonething 2 hours ago

What if they kept the 'good stuff' from us? Does that seem likely here?

wilg 3 hours ago

Unpopular opinion: why would you want a "native app"? On macOS, basically every app Apple makes themselves is worse in terms of design, usability, and performance than a popular Electron-based alternative.

For example, I tried opening a 200MB log file in Apple's Console.app and it hung. Opened right up in VS Code.