tancop
5 hours ago
I used to think vibe coding would get us slow Electron apps but now we got speed wars between game launchers. I hope this comes for all types of software.
With that said, I tested it right now and Steam takes about 2 seconds to restore from tray and 10-15 for cold boot. The new Epic launcher is around 0.5 and 5 like the article mentioned. Maybe it's still in A/B testing or something.
yboris
5 hours ago
Vibe coding can yield us Tauri apps that end up being like 3mb rather than 130mb for a "Hello World" app.
m_w_
5 hours ago
I would go one step farther - if you're vibe coding, skip Tauri altogether. I've been on-and-off vibecoding a GitKraken replacement using egui instead, and the memory footprint is very low. Otherwise can't tell the difference, as I'm not reading the code either way.
wren6991
4 hours ago
Using Tauri on Linux gave me appreciation for why Electron just ships an entire browser. WebKitGTK is kinda rough around the edges.
egeozcan
3 hours ago
I vibe-coded a paste manager using wails (https://github.com/egeozcan/mahpastes), and I'm currently on linux (bazzite) and I have 0 problems with the rendering.
wren6991
3 hours ago
One of the things I hit is that there is no way to trigger an "open folder" dialog. It gets mapped to "open file" instead. The correct hooks exist in both WebKit and in GTK, but not wired up in WebKitGTK. I think the fix would be quite minor but I looked into what is involved in raising a patch and decided to leave it. There are a lot of minor paper cuts like this.
I did hit a couple of CSS or rendering quirks, but the rendering perf also seemed noticeably poor, and that's harder to live with.
kelvie
3 hours ago
Isn't egui really cpu inefficient though? It repaints at 60fps if e.g. you move the mouse over it
m_w_
3 hours ago
If it is, it hasn't been a problem so far. I have been focused heavily on memoization, to what extent that's possible when fully vibe coding.
Fwiw, what it's trying to replace (GitKraken) is slow, clunky, and resource hungry, so it's not hard to beat.
tdhz77
3 hours ago
No mobile support either
catigula
4 hours ago
You're probably doing something the LLM has less fluency with.
m_w_
3 hours ago
Definitely would concede this, but I haven't had any issues so far. It's been able to make things look exactly as I've dictated them, even with relatively complex visualization of git branching. I get the sense that, with how capable Opus 5.5 is, "less capable" no longer means "not capable enough".
0x457
4 hours ago
LLMs can for sure write GTK4 (or Relm4), Swift UI, whatever windows uses, Kotlin for Android.
james2doyle
5 hours ago
You can just skip Tauri entirely and get true native apps. No web wrapping required
sosodev
4 hours ago
But there’s still no way to get consistent results cross-platform without a web view, right? I guess Tauri isn’t even consistent because it relies on the system’s browser and they do differ to some degree.
tadfisher
4 hours ago
My friend, inconsistency is the entire point. You now have incredible power to write truly native apps that fit in with the platform and follow all the standards. The bottleneck is now you, or whoever owns each target platform and understands what native apps feel like.
sosodev
4 hours ago
So I’m supposed to maintain a native app for each platform and try to be sure they’re aligned in every way except visuals? Sounds like a recipe for bad UX if anybody uses more than one of them.
Kuyawa
3 hours ago
Not you, your coding agent, for three platforms and at least ten languages
If you go Rust all the way all you need is the installer for each platform
bigstrat2003
3 hours ago
On the contrary: using a web view is the worst possible UX for your users. It's slow, uses a ton of memory, and doesn't integrate well with the desktop. The only reason people ever did it was laziness, not because it produced a better product.
Rohansi
3 hours ago
I'd argue that being slow and using a ton of memory has more to do with (very) poorly optimized websites rather than blaming browsers as a whole. Sure, they'll never be as efficient as native, but people put a lot of work into optimizing browsers and most websites are never optimized.
Memory use alone is an interesting case for comparison because websites tend to have a lot more images/videos loaded than other applications. All of those PNGs and JPEGs need to be decompressed before you can paint them to the screen which makes them much larger.
skydhash
2 hours ago
> I'd argue that being slow and using a ton of memory has more to do with (very) poorly optimized websites rather than blaming browsers as a whole.
A web browser is a huge platform. Audio, 2D and 3D graphics, file handling, network requests,... A lot of code while your application needs are tiny. That is wasteful and a security risk.
Rohansi
2 hours ago
That's really only argument against shipping a browser with your application. For ordinary websites (or WebViews) that's not really a concern because it is shared and automatically updated.
mort96
4 hours ago
Yeah the problem is having to write 5 apps, not the inconsistency.
mikestew
3 hours ago
If you're writing five apps, you're doing it wrong. A huge amount of probably any app can be contained in a common blob of business logic and wiring, with some native presentation on top. Yes, I oversimplify, but folks have been doing exactly that for decades. More work? Yup, even with a common engine it's more work than firing up Electron. That's where "do we even give a shit about what we're shipping?" comes in. If there's no pride in the finished product, well, Electron isn't going to save your product, either.
dpkirchner
3 hours ago
IME, the UI library idiosyncrasies are the pieces that take the longest to get right. Common business logic is super simple by comparison.
mort96
3 hours ago
> A huge amount of probably any app can be contained in a common blob of business logic and wiring, with some native presentation on top.
I keep seeing people claim this, yet most UI software I see really doesn't do anything that complicated. It's some basic database CRUD stuff and some basic algorithms, and then all the actual effort lies in making the UI feel good.
skydhash
4 hours ago
> Yeah the problem is having to write 5 apps, not the inconsistency.
Isn’t that what abstraction and interface is about? You can write the common business logic and presentation concerns, and then share it across each native implementation.
That is what web wrapping is in truth, but it’s just inneficient because of the huge surface area of web technologies.
mort96
3 hours ago
For a whole lot of apps, almost all of the difficult stuff is in making the UI feel right.
skydhash
2 hours ago
Aesthetics, usability, and technical flavor are different axes and feel right is a subjective point. And based on anecdata, usability is what actual users want. Web wrapping is mostly an exclusive focus on aesthetics. With native frameworks, you often get very close to "feel right" without much effort.
Karrot_Kream
13 minutes ago
> With native frameworks, you often get very close to "feel right" without much effort.
I've only seen this sentiment on nerd forums but never among my less technical friends, so I'm a bit reluctant to accept this wisdom honestly. That said, if you're just building something for a technical crowd you'll probably make them much happier if you make your implementation use native widgets and take up much less memory and redraw faster at the expense of a slightly jankier UX. Though, this is probably why IRC clients all feel janky lol.
For example a lot of my less technical friends/family really like the visual design of Spotify even though it conflicts with a lot of design language on MacOS, Windows, and Android.
agentdev001
4 hours ago
Or my manager... or my stakeholders. Damn you powers that be!
masklinn
4 hours ago
> But there’s still no way to get consistent results cross-platform without a web view, right?
… good? I want my applications to be consistent with the platform they run on, not with their own stupidity on other platforms.
tavavex
4 hours ago
The hidden reason why so many people are frustrated with 'modern design' that goes unaddressed is that most software nowadays completely ignores the standards of the system it runs on. Every single developer of even the most trivial apps insists that their design language is the most important in the room, which is what brings us to the temptation of using a webapp for everything so every user on every OS sees the exact same thing. It's gotten so bad that the only places I see native system UIs from third parties is either older software or hobbyist projects, but never anything corporate.
exmadscientist
3 hours ago
Some of that is also that what "native UI" means has shifted a bit. To look at Windows, Win95 had a thoroughly considered UI design that was very well adapted to both what it needed to do and the hard constraints on it. Win11 is... kind of a shitshow. (Are parts of it still from Windows 3.1? I haven't tried to track them down... but in Win10 there were a few dark corners.) It made sense to match the native UI in the Win95 days. It often doesn't now, it's simply not a target worth hitting. You could just use Win32 and target the older Win95 look, but apart from appearance issues, it was designed to work well in 1995, and we simply demand different things from our UIs now. Like support for touchscreens. Old Win32 apps are painful on touchscreens. (But, often, awesome without a mouse.) And those are real considerations, not oooh-shiny-new-thing designer BS.
tavavex
2 hours ago
Yes, modern Windows design is a bit of a mess, caused by both the designer bug of redesigning everything (we have had at least 3 different Windows design languages prevalent over the last 10 years) and Windows having to support extremely old legacy software. The second was almost nonexistent when Windows 95 was designed, they could have a true clean slate, so the comparison isn't as fair. But still, even with the abundance of native UI frameworks, the point holds true that no new software uses any of them, no matter if it's Win32 or WinUI. They could implement them very easily, and some hobbyist software does so, and it looks very native and in-line with the rest of Windows 11, but they choose not to.
And yes, the 3.11 ODBC file selector is still in Windows 11. Praise be to legacy components.
ModernMech
an hour ago
As a user of both windows and mac operating systems, I'd rather the app be consistent between them so I don't have to adopt a different workflow depending on which OS I'm using the app on.
bhaak
4 hours ago
What’s wrong with something like Qt or wxWidgets for native crossplattform GUI frameworks?
bryanlarsen
4 hours ago
Is consistent results what you want? non-native controls look and behave funny on iOS, and the iOS look on any other platform is annoying.
ogoffart
2 hours ago
There is also Slint that'd fir perfectly. Others have built game launcher with it as well
joshheitzman
4 hours ago
Skia is the 2D graphics library used in Chromium. A number of GUI frameworks (Flutter and Avalonia) directly use Skia to do non-native platform GUIs that are consistent across platforms.
adastra22
an hour ago
"Consistent across platforms" is not a user requirement.
freakynit
4 hours ago
Like these https://goodapps.store/
Disclaimer: All mine, open-source, ai-assisted, less than 5MB each. I love rust+tauri combo.
Kuyawa
3 hours ago
Much better it can give us just webview in wry and winit without tauri bloat
AlienRobot
4 hours ago
Tauri doesn't solve the problems Electron solves. It just externalizes the solution so things can subtly stop working randomly.
RobRivera
4 hours ago
I see it as a forcing function to clean up tech debt
gopalv
3 hours ago
> forcing function to clean up tech debt
The real reason rewrites to fix tech debt used to fail was that it took too long to get to feature partity & the goal posts moved constantly while you were on the rewrite team.
The sunk cost of existing code is no longer considered in a rewrite.
Maybe it was hard to write in the first place, but it is not hard to rewrite anymore, as long you've got decent tests.
benoau
3 hours ago
I think in Steam's case it was more like a lack of competitive pressure, their publisher dashboard still packs HTML/CSS fixes for IE6/7/8 that's code they probably haven't touched in ~20 years and it's certainly not because they couldn't afford or lacked time to work on it!
tombert
3 hours ago
I actually think that vibe coding lends itself well to stuff with really strict type systems. When you use Claude Code, it basically works on a loop until it gets something "right". A type system allows for part of the "right" criteria to be baked into the compilation, giving a hard block if it doesn't at least pass that.
I've had reasonably good luck having Claude generate Rust code that performs well.
ihuman
an hour ago
> Maybe it's still in A/B testing or something
Are you on the beta branch? It doesn't look like its in stable yet (Settings --> Interface --> Client Beta Participation)
burnte
4 hours ago
yeah, Steam takes forever to start, one of the slowest apps I use. Photoshop is similarly lethargic starting up.
herrherrmann
5 hours ago
It’s similar for the productivity/launcher app Raycast. They’re trying to find new USPs compared to the many copycats.
TehCorwiz
2 hours ago
Not really a war. Steam updated their client the day before Epic decided to mouth off. Kinda hilarious actually.
righthand
5 hours ago
Surprise it’s speed wars between Electron apps. Steam is based on Chromium/Electron.
tancop
5 hours ago
The new version of Epic is based on Tauri. Also written in JS and probably React (haven't decompiled it yet) but the web runtime is part of Windows instead of shipped with the app so it takes less disk space and RAM. And you can write perf sensitive code in Rust for even more speedup.
righthand
4 hours ago
I also avoid installing Tauri apps too. Anything that loads Javascript that’s not my browser is a bad smell and potential resource hog IMO.
Insanity
3 hours ago
Interesting, I didn't know they moved to a Chromium based desktop application. But honestly, I don't feel like there's any performance issues with the steam desktop client (I'm running it on Fedora, but I'm assuming performance is relatively similar on different platforms).
hurfdurf
3 hours ago
The switch from IE/Trident to Chromium happened in 2010 alongside launching support for Macs.
2OEH8eoCRo0
4 hours ago
I'd imagine one can now focus on creating a client for a single OS and having the AI do the porting to others as it would essentially be a translation.
Perhaps it will bring back native apps because supporting other platforms is less laborious.
sleepybrett
3 hours ago
i don't care how fast it is beyond a certain point. What is more shocking is all the bugs that vibe coding landed epic. I can't imagine shipping software at this scale in this state.
toomuchtodo
5 hours ago
Hopefully LLM models and harnesses improve to where Chromium or Electron apps can be more trivially converted to native apps. You're paying for tokens for downstream compute efficiency across the user base.
cloverich
4 hours ago
They already are. I asked opus 5.5 to plan out and begin building a swift version of my electron notes app, using a similar architecture / feature set. I hut enter and honestly forgot about it. 2 hours later im reading slack while making my next round of coffee, and my session is interrupted by a native app opening on my phone (the model installed it for me to test). It.... has 2/3 of the features already and looks awesome, holy crap. It skipped my suggestion to use the Lexical (web) editor and is.... using. platform native one.
time will tell if it can make it the way i like but.... it can definitely get far. Used 40% of my session limits on my $20/mo sub.
agentdev001
4 hours ago
I wonder what best practices here look like at this point. In my world, we've moved past skills for something like this, having porting helper/validator/etc things be harness level is measurably better than what skills look like right now. The open plugin spec is certainly an improvement (namely in packaging and distribution)- but, really you'd be leaving perf on the table if you were not to tune your harness. I wonder if something like dsh, pi, or other extensible (coding) harnesses have something like a concept of "harness as an extension".
shawabawa3
5 hours ago
People still talk about "Vibe coding" or implying "vibe coded" stuff is poor quality
Imo it's just the only way to write software now. Opus 5.5 is better at coding than humans. Human code is slop.
manmal
4 hours ago
It’s just that the vibe coded stuff has so many assumptions baked in, that you will be constantly surprised about the behaviors your slopped codebase has. Doesn’t matter for small tools, where you’ll be delighted that clicking that one label copies it to your clipboard - nice one, Claude, that’s delightful!
It’s less nice when your web app launches that other service only when the other Tailscale node is up, because the agent interpreted your prompt as a hard access rule.
tavavex
4 hours ago
It's because no matter how 'good' the AI output is, "vibe coding" is strongly associated with "completely unreviewed and untested". LLMs have brought the skill floor straight through the ground and into the depths of hell, so people are doubly cautious with it because there's a very good chance with any vibe coded app that there's not a single person in the world that truly understands what it actually does just behind the scenes. It could be completely fine, or it could be breaking your system or uploading your sensitive data somewhere because the vibe coder provided flawed instructions or the LLM decided to make an unexpected 'optimization'. Wanna roll the dice and find out which one it is?
jerf
3 hours ago
I'm reserving "vibe coding" in my head for "the programming style where you just prompt your way around without even looking at the code and only caring if your happy path works".
I have a couple of nice "vibe coded" apps I would never dream of releasing because I'm not interested in the QA, more than anything else. The problem is the other people who are not quite so considerate and think that what they tossed out in 15 minutes is of interest to the rest of the world. The value of a software package release now is more in the QA than the code.
Calazon
4 hours ago
Yeah I'm really impressed by what Opus 5.5 can manage.
I feel like human code is on a wide quality spectrum. The best human code is way better than what Opus 5.5 can do. But the average code, I'm not so sure.
bigstrat2003
3 hours ago
I have only very rarely in my career encountered code worse than what an LLM produces. It happens, but your typical programmer is still quite a bit better than an LLM.
vsgherzi
4 hours ago
I feel bad for your employer
creata
4 hours ago
> Human code is slop.
I'm not saying you have to be grateful to the millions of people whose work the AI you use was trained on, but why shit on them...
pythonaut_16
3 hours ago
Opus 5.5 is impressive and I'm happy using it to write a ton of code.
But it also still writes awful code with poor maintainability if you don't keep a very close eye on it.
tancop
4 hours ago
Trust me I know what it's like. I do a lot of it. Even with Opus you still have to guide it aggressively or your codebase turns to slop.
An experienced dev with Claude is better than either of them alone but you can't just point your agent at a repo and expect good results. And when people talk about vibe coding that's usually what they mean.
bigstrat2003
3 hours ago
> People still talk about "Vibe coding" or implying "vibe coded" stuff is poor quality
Yes they do. Because it is. Anyone who cares about the quality of their product is, at minimum, carefully reviewing the output from an LLM to make sure it didn't sneak in anything crazy. More likely they are writing a lot of code by hand, because that is faster than reviewing and correcting the LLM code. Competent developers do not just hand it off and say "the AI is really good so I can trust what it put out".
oriolid
4 hours ago
Creating slop was already a solved problem before AI. AI just made it much more efficient.
oblio
4 hours ago
Hand crafted artisanal slop vs dark software factory slop.
sitzkrieg
3 hours ago
human code is slop. tell us all what the LLMs were trained on? slop?