Like Brooke Shields, I'd rather nothing comes between me and my LLMs.
Back in the late 1980s, there was no question—the Mac changed everything, and everyone agreed that graphical was the superior interface. But we in the Unix world were slow to convert fully, because of a couple of problems:
* designing GUIs is hard, especially for programmers;
* writing GUI code is hard (and often tedious).
So good GUI apps really came from teams of elite designers and developers. The best ones all worked for Apple. There was an acceptable second tier that all came from major companies. If you wanted to write a custom one-off tool for yourself, however, you'd be in for some pain and the result would be jank.
But LLMs solve both problems. Point Claude at a description and some mockups of an app, and it will give you that app, or at least a slick-looking prototype that is suitable for your use if not the wider market's. So we no longer have an excuse. ALL our apps should be graphical, because creating graphical apps is now easy.
No, they didn't. The Mac's GUI benefitted in certain specific applications, like DTP, early on, but the Mac was an also-ran for most serious productive work for a very long time, and even when GUIs became standard in the PC ecosystem, it wasn't until the late '90s that productivity apps decisively moved from the DOS-based TUI world to Windows GUI applications.
> So good GUI apps really came from teams of elite designers and developers. The best ones all worked for Apple.
The folks who actually managed to build interface paradigms that successfully reconciled complex business functionality with sufficiently easy-to-master GUIs worked mainly for IBM and Microsoft. The CUA paradigm was the winner here.
People seem to forget that Apple had next to zero penetration into the business computing market, and nearly went bankrupt, back in the '90s.
With X based apps, you can run GUI apps through SSH. That was all the rage for light remote access to resource hungry desktop app a few decades ago...
But that being said, in my opinion, a few limited TUI apps are useful, but most of them nowadays are young "cool kids" that wants to be cool by using "terminal apps" without really having really embraced the spirit of the terminal and commands.
For them, using GUI apps would look like a basic computer user and not an expert nerd.
The magic of the terminal, is not that you run things in almost black and white with low graphics, but that you were supposed to use "simple" commands that you can scripts and pipe one through each others at will.
Lists a bunch of things .
Fails to make any clear points .
Fails to give real reasons for the few claims it makes .
I can see how LLMs help.
I wouldn't want to maintain software for other people entirely vibe coded. I think I might think again about native app development for my own needs, if it's kind of disposable.
- All those GUI windows look the same. How the fuck do I tell one app from the other?
- The abysmal corner radii are a clear indication of terminal macOS. Pun fully intended.
People talk shit about LLM writing. Well, here's a prime example of why I like LLM-speak. Does this article have personality? Yes. Attitude? Yes. Is it structured and accessible? No.
I'll take clarity over personality any day of the week.
Of course, I didn't mean to imply that there's a dichotomy between personality and clarity. There's a dichotomy between ordinary LLM writing and personality.
Here's an organically grown summary:
• TUIs suck because they are primitive, often buggy, hard to write and aren't accessible. Their existence isn't due to any real technical advantage but more because UNIX historically had a very bad UI toolkit (Motif) which established a 'culture' of TUIs.
• It's now easy (on macOS) to write native apps that use SwiftUI and give a much better GUI. You can just vibe code them.
• Some specific skills, features, templates etc are linked which look useful if you agree with this approach.
• You don't have to give up remote access because there's no reason the GUI has to run on the same machine as the thing it controls. A native GUI can just SSH in to a remote machine and run non-TUI CLI tools to control it. Lots of apps have worked this way and it functions fine.
• On the other hand, TUIs are portable (ish). The author concedes this may sometimes be useful.
I prefer my articles to be coherent without having to wade through pages worth of irrelevant material.