LOL. Conveniently, electron is everything other than the kernel. Also, as much wasted RAM as an entire second instance of chrome that shares nothing, but oh well.
> LOL. Conveniently, electron is everything other than the kernel. Also, as much wasted RAM as an entire second instance of chrome that shares nothing, but oh well.
Well, with RAM being so cheap, why bother trying to trying to be memory efficient? It's not like OpenAI has an infinite pool of "AI" software engineers to work on this...
Yeah, I was kind of surprised recently that there's no solid native way to build desktop apps on Linux! I was thinking I'd build something actually native with AI but then the options were QT or or gtk...
Well yes, I was surprised by the situation in Windows too! So my stack is now split like this
- Apple: SwiftUI/AppKit
- Android: Jetpack
- Windows + Linux: Avalonia (C#)
Avalonia seems good so far. I couldn't do Qt because I can't deal with that qBittorrent look. GTK is aesthetically pleasing for me, but it only runs on Linux. Avalonia lets me target both of these UI-toolkit-less platforms with something native-ish. Flutter is probably good too, but I am using uniffi-rs and that doesn't generate Dart bindings AFAIK.
How would you know? It's impossible to have done a thorough analysis of all the Windows UI frameworks, five have been released since I started typing...
Indeed! I wrote my note-taking app with a block editor (like Notion) in Qt with QML for the UI and C++ for the logic and it's been an incredible experience![1]
You don't care what were you trying to build but for a quick me alone Linux app I used Flutter.
Honestly it's my go-to when I want to have a quick native app on any platform but dont want to bundle electron.
Flutter is solid choice, and Canonical seems to be putting weight behind it for Ubuntu as well. Canonical is also now the new lead maintainer of Flutter Desktop.
QT and GTK are as native (and solid, I guess) as it gets, since there's no "default" UI toolkit that's shipped along with the kernel, unlike e.g. Windows or macOS. Speaking of Windows, why do they even ship browser-UI apps as a part of the OS? Do they find native Windows UI development too hard or feature-limited even with LLM assistance?
Because Microsoft screwed up their native UI story. They are slowly starting to go native again with WinUI3, but Microsoft went through a rough period with UI frameworks, I mean how many do they have now all still "supported"? WinForms, WPF, MFC, WinUI, MAUI, etc.?
Yeah, I've lost track years ago. Still, if there is a "modern" one (WinUI 3, I guess), it should be possible to build a nice weather app in it. Anyway, I've just realized they ship a HTML-based UI in order to be able to serve HTML/JS-based ads through it.
I mean there is the no true linux argument, but covering the main stream desktops you basically have kde which is written with qt(so qt is native) or gnome which is written with gtk and both frameworks/DEs do implement other things besides "just" the gui, so you are native.
I'm not usually one to defend Microsoft, but since Teams works great in a browser, I actually prefer it that way. My video conference doesn't need access to my whole filesystem and an opacity layer that prevents me from seeing what it does. I actually applaud them for supporting browsers as well as they do.
I'm using teams-for-linux which is basically the browser version put in a wrapper so you get the notification are icon with the unread messages showing.
Keeps breaking in strange ways, though. Just like it always has. For example, it will randomly switch to light mode and the only way to recover dark mode is by selecting dark mode (which doesn't change anything) and then restarting. Restarting alone also doesn't do anything, mind you.
Yes... Just use DEB package files for any distro. Make a compatibility layer that is distro dependent so that it can come preinstalled on any distro. It converts the DEB package to a distro native package so that it doesn't fuck up existing packages or the existing distro-native package manager, and gives you the apt and dpkg commands . Unlike appimages and flatpaks it has no reviewer, no store and it can be installed just like EXEs on windows which is already the case for DEBs on debian and debian based distros. Would this work?
Yeah idk what OpenAI was thinking. Just going off their own claims… OpenAI must be filled with bozos to not be able to utilize their own supposed product capabilities…
Exactly my thoughts! I was expecting a Rust app written from scratch available at least in Qt and GTK flavors , and maybe with a third and a fourth option.
Don't they have agent swarms with infinite tokens?
They replaced a pretty decent native Swift Mac app (with only some chronic state management bugs), weighing ~100MB ish, with the Codex app that most people don't need, made in Electron, which takes minimum 5GB+ including filesystem cruft. Today I ran into a memory leak that froze the app and made the Renderer process take 5GB, then 10GB of RAM.
That was after I asked it to only touch 3 text files in its working directory, after which it sparked macOS permission prompts to access my Desktop, Documents, Downloads, and other apps' data. Thank god for the web platform and web apps.
> They replaced a pretty decent native Swift Mac app (with only some chronic state management bugs), weighing ~100MB ish, with the Codex app that most people don't need, made in Electron.
Not even a $1T dollar company wants to maintain a native Swift Mac app even though they have AI models to build native apps for every platform.
Maybe they thought Electron would save them tokens to build the feature once and it works everywhere rather than spending more tokens on building the same feature on 3 platforms.
What better way to showcase their tools capabilities than to deliver apps that are native, efficient, and integrate well with the host system? By compromising with Electron and making mediocre, bloated software they are signaling that they just aren't there yet.
It would be like Ford buying Hondas for their company cars. It might save them money but it sends the wrong message.
Yeah that's what gets me. If, according to them, "software development is a solved problem" then there's no reason they can't make native, efficient, well integrated apps for each platform. If the problem is solved, just have the AI do it! If it's truly as advanced and accelerating as they claim, then there's no need for electron anymore.
AIUI the reason is, "we", collectively even though we don't all work on them, optimize browsers for speed above almost all else. Then, when all the advertising websites on the internet consume all that speed, we can't go back and have to optimized for speed even harder. All that optimizing for speed ends up consuming lots of RAM, from all the images, the speed-optimize DOM with lots of cross-linking, the JIT and its generation of native code paths, the endless layers of caches, etc. etc. at every point where a browser can choose between RAM and speed it will choose speed unless it's just impossible to choose it for some reason.
So even if you write good code in Electron, it still tends to eat resources like candy.
On the plus side, if you write good code, you will pick up all those optimizations too, which is not necessarily all bad. Running something like VSCode at all is a powerful testament to the browser ecosystem now. IDEs do a lot of very heavy duty lifting and need a lot of performance to do all their work. But you can imagine that when the same text rendering system that enables all that fancy & fast syntax highlighting and all the other decorations and features in the editor window is used to display a preview of a markdown file that said preview is probably going to eat way more RAM than your instincts may have guessed.
I have already created a croos-platform solitaire game in Rust with Opus 4.5. Done in one evening. I absolutely do not understand why OpenAI could not write a proper application in 6 months. Do they struggle to use the product they sell?
They probably just don't see it worth the extra effort. And maybe they want to keep it in sync with the web UI.
It definitely is a fraction of the work these days to maintain three different desktop apps + two different mobile apps + a web app. But it's still a lot more work than an Electron app that is merely tweaked between platforms.
Sure, but you are OpenAI, you should be showcasing the actual possibilities created by your product. I mean, Linux desktop users are going to be in the vast majority software development adjacent.
I was under the impression electron is chosen less because of broad cross-platform concerns and more because chat apps, specifically, require a level of care in text rendering that nobody really wants to design from first principles when they can just piggy back on web technologies.
1. generally done well by many different UI frameworks
2. generally done better by most popular native UI frameworks than what Electron provides
BUT - those UI frameworks are typically not (very) cross-platform. In that context, Electron provides one of the best unified text-rendering stories of cross-platform options. But definitely far from the best overall.
The desktop app is actually really good (esp on macos). I used to be CLI only, but after trying it recently it's super convenient. Much easier to manage multiple projects simultaneously and it has a built in diff viewer, file browser/reader, terminal, side chat interface, etc.
> App was released in February & took 6 entire months to port to Linux
Product releases at large companies are slowed dow by coordination and resources more than actual development. (I'm an Electron maintainer who is currently working on better Linux support in the framework, and also a developer/PM for a commercial app that supports Linux.)
It's very likely that the Codex Electron app already "worked" on Linux back in February, as in someone internally could build and run it from source and start a chat session. That fact would have made it possible for a small team to make a business case and start getting support from ops, QA, CS, marketing, legal, etc. The engineers would spend their unlimited tokens on Linux-specific build, packaging, and platform integrations (remember this is a computer use agent) to take the app from a prototype to something a company could actually launch and support for millions of users.
Apps are also a moving target. The entire time building up to release, the Linux desktop app would have been getting feature and design updates for free from the updates going out on Mac/Windows/web. None of those other teams working on those features have have had the time (or the mandate) to coordinate with Linux engineers if they were building a separate app from scratch, and I suspect such a proposal would never have gotten off the ground.
I work in a large corp, I know how these things work - my company has taken longer to do simpler things than this. My observation wasn't to call this out as unusual or unexpected.
I think you've summarised it really well, & it shows:
- the revolutionary promises of AI-driven rapid delivery is nonsense when the delivery bottleneck was always elsewhere - AI is speeding up the part that was never slow
- the fact that - as you point out - it was likely working in Feb but needed a business case gives a good impression of the leadership's approach to Linux support: it's likely such internal case-making will continue to be a factor in future Linux build maintained
Linux users have stronger preferences for the terminal than either Windows or macOS users. Even the same person will use the terminal more in Linux than the other two!
That's an unfair comparison because while I have nothing bad to say about terminals on macOS.. on Windows it's just still a shitty experience that doesn't solve even half of my problems.
Obviously if they took 6 months of active prioritized development to do this they're incompetent with or without ai.
What's remarkable is that it clearly wasn't a priority, which not only sends a clear message to Linux users, but also highlights that their platform choice is questionable if the leading selling point of said platform is something they don't see as an up front priority.
Though of course the third option is that it wasn't an explicit low priority but rather they're simply in disarray organisationally.
The most remarkable thing is that it was built at all. What self-respecting Linux desktop user wouldn’t be satisfied with the TUI?
It is a marketing expense. We are talking about it. Surely the token cost was worthwhile on that basis alone. Students will likely get some usage out of it, too. But paying a human to do this port would have been an insane thing to do two years ago. I’d be surprised if they have more than 1000 MAUs for this client by the end of the year.
- Electron based app: Electron is a framework sold on the basis of enabling rapid cross-platform development at the cost of performance.
- Frontier AI company: AI is sold on the basis of enabling rapid development
- App was released in February & took 6 entire months to port to Linux