Remix.run Logo
qq66 8 hours ago

Nothing in this article is wrong, but worth noting that pre-AI, the companies that most significantly transformed the way we use our computers (Slack, Spotify, VS Code, etc.) did ship desktop apps.

xp84 8 hours ago | parent | next [-]

“Desktop Apps”? I’d say pre-Electron, the ones that existed that far back shipped desktop apps, but for the past 10-15 years it’s all been Electron slop, which hardly qualify as “desktop apps” in my book.

If anything, it’s my very faint hope that AI would give companies - especially non-software companies - the bandwidth to release two real native apps instead of just 2 builds of a shitty Electron app. Fat chance though, I think, not least because companies love to use their “bRaNdInG” on everything - so the native look and feel a real app gives you “for free” is a downside for the clowns that do the visual design for most companies.

data-ottawa 8 hours ago | parent | next [-]

For what it’s worth, I tried making a GTK4 app. I got started, created a window, created a header bar, then went to add a url/path entry widget and everything fell apart.

Entry suggestions/completions are formally deprecated with no replacement since 2022. When I did get them working on the deprecated API there was an empty completion option that would segfault if clicked. The default behaviour didn’t hide completions on window unfocus, so my completions would hover over any other open window. There was seemingly no way to disambiguate tab vs enter events… it just sucked.

So after adding one widget I abandoned the project. It felt like the early releases of SwiftUI where you could add a list view but then would run into weird issues as soon as you tried adding stuff to it.

Similarly trying to build an app for macOS practically depends on Swift by Sundell Hacking with Swift or others to make up for Apple’s lack of documentation in many areas. For years stuff like NSColor vs Color and similar API boundaries added friction, and the native macOS SwiftUI components just never felt normal while I tried making apps.

As heavy as web libraries and electron are, at least work mostly out of the box.

IshKebab 7 hours ago | parent [-]

There are definitely a shortage of good GUI toolkits - making one is a huge undertaking. GTK is mediocre, as you discovered.

QtWidgets is extremely good though, even if it is effectively in maintenance mode.

Avalonia also seems good too though I haven't used it myself.

hn_acc1 5 hours ago | parent | next [-]

I've used Qt off and on, and it's generally worked as advertised. Although when drawing very short lines on a canvas way back when (~2004), it wouldn't do a great job and I had to hack in custom routines that did a much better job.

For prototyping / one-offs, I've always enjoyed working in Tcl/Itcl and Tk/Itk - object oriented Tcl with a decent set of widgets. It's not going to set the world on fire, but it's pretty portable (should mostly work on every platform with minor changes), has a way to package up standalone executables, can ship many-files-as-one with an internal filesystem, etc..

Of course, I spent ~15 years in EDA, so it's much more comfortable than for most people, but it can easily be integrated into C/C++ as well with SWIG, etc.

robinsonb5 4 hours ago | parent | next [-]

> I've always enjoyed working in Tcl/Itcl and Tk/Itk

In the near future I need to lash up a windows utility to generate a bunch of PDF files from a CSV (in concert with GhostScript), with specific filenames. I was trying to figure out the best approach and hadn't even considered Tcl and Tk - with Itcl you might have just given me a new rabbithole to explore! Thanks! (...I think!)

hn_acc1 3 hours ago | parent [-]

I hope it works out! It's amazing how far Tcl/Tk has come since I "had" to use it as a wrapper around an X11 window back on an SGI Irix, using Tcl scripting to interface to an OpenGL backend. I think that was like 7.3.x or something in 1994. And it was pretty cool back then already! The team around Tcl is small, but dedicated and brilliant, IMHO.

hermitcrab 4 hours ago | parent | prev [-]

>Although when drawing very short lines on a canvas way back when (~2004), it wouldn't do a great job and I had to hack in custom routines that did a much better job.

QCanvas (or was it QGraphicsCanvas?) has long since been replace with QGraphicsScene, which is much more capable and doesn't suffer from pixelation issues.

hn_acc1 3 hours ago | parent [-]

Probably. We paid thousands / year for the developer seat in our startup, and in the end, it wasn't great. I did manage to make the Tcl/Tk event loop and the Qt event loop work together, so we could have Tk windows inside a Qt app!

hermitcrab 3 hours ago | parent [-]

There is a small business licence.

hermitcrab 6 hours ago | parent | prev [-]

Qt is still under very active development. Although there seems to be a lot more emphasis on QML than the widgets side of things for some time.

nozzlegear 6 hours ago | parent | prev [-]

> If anything, it’s my very faint hope that AI would give companies - especially non-software companies - the bandwidth to release two real native apps instead of just 2 builds of a shitty Electron app.

Anthropic has the resources of a fully armed and operational Claude Mythos (eyeroll), but they still choose to shit out an electron app on all of their users instead of going native like their competitors have done.

duped 8 hours ago | parent | prev [-]

All of those examples are web apps, two of them started on the web itself, and none of them transformed anything about how we used our computers (slack replaced a number of competitors, spotify is iTunes for the web, and VS code is a smaller jetbrains)