Live data from Hacker News

Stop Making TUIs

sockpuppet.org

161–170 of 579 posts

Re: Stop Making TUIs

#161

Incoherent and far too long . Lists a bunch of things . Fails to make any clear points . Fails to give real reasons for the few claims it makes .

Did you read it all the way to the end? It's coherent and does give real if debatable reasons for the claims it makes, I think it also does so quite clearly although if I'd written it the ordering of the sections would be different. 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 bu…

> Did you read it all the way to the end? It's coherent ...

I prefer my articles to be coherent without having to wade through pages worth of irrelevant material.

Re: Stop Making TUIs

#162
post #118

As a ratatui library maintainer, NO - please don't stop making TUIs ;) As a developer outside of that, I love the scratch the itch apps stuff mentioned in here. I have a vibe coded SwiftUI chess repertoire builder app that fits in that same sort of space that I'm currently working on, where I'd probably not have chosen to explore the idea if not for coding agents. I agree with the article that the terminal is an odd…

> To get a good terminal UX, ...

At that point you're just inventing a new DOM variant and aren't fundamentally different from any other opinionated GUI framework. The value of the terminal for me is the minimalism. I absolutely despise all these new "features" that get added via protocols. I _want_ the boring grid composed entirely of extremely primitive character cells where WYSIWYG in terms of any underlying abstraction. The only innovation I welcome in this space are improvements to portability and speed.

My snarky response to the author's title would be that you can take your GUIs and all the janky flashing lights they entail and shove them up your ass.

Re: Stop Making TUIs

#163
Maybe on macOS you have great APIs, libraries and toolkits for making high quality GUIs, but if you're wanting to write open source software or target open source platforms, your options are limited and poor.

On the Linux/BSD side, most toolkits are of not great quality, you'll inherit all sorts of subtle bugs and quirky behaviours. Most of the software that's of _great_ quality doesn't use the toolkit, but interfaces with the compositor directly. The effort for developing GUIs under such circumstances is dramatically higher than a TUI, and a TUI is usually "good enough".

I really would prefer GUIs for a lot of things. But when a TUI takes a few weeks to make, the equivalent GUI would take a few months to make.

Re: Stop Making TUIs

#164
It's funny I'm currently creating a TUI. A mutt like mail client. I didn't have any second though to consider GUI for the project because it's so ridiculous.

It's inherently cross-platform (msys under windows). It allows to copy any part of UI. It doesn't require dependencies other than curses.

Re: Stop Making TUIs

#165

Tabs vs spaces. I’ve always appreciated the positive side of TUIs and appreciated less the positive side of GUIs. I didn’t grow up with a computer at all and in one of my first adult jobs I had to use a TUI at Papa John’s for punching in orders, it was 20x faster than anything I used after it at other restaurants that were GUI driven (keyboard speed wins for me, fit my brain perfectly). I think I learned it in 5 minu…

What you're comparing is really "keyboard-driven" via "mouse-drive".

A GUI can be keyboard-driven and as fast as a TUI. The sad truth is that the status quo for GUIs is absolutely terrible, and most were rushed out and not properly tested to check if they're really usable without a mouse.

Re: Stop Making TUIs

#166
post #81
post #40

Make more TUIs .... The main thing I like is that TUIs are guaranteed to be navigable by keyboard. So many non-TUI apps don't include shortcuts at all for critical actions. It makes the first week of using the app more efficient and the entire rest of your life less so. Add on to that, I can probably run a TUI on my server. Or my cloud instance. And in my sandbox. Over SSH. So: do make TUIs and bind their keys to Vi-…

>The main thing I like is that TUIs are guaranteed to be navigable by keyboard I don't disagree with you, but in ye old days you had guis that were navigable by keyboard. And these were discoverable. That one program you use every day, you can spend the time to learn the short cuts. You can still get things done by clicking around though. I suspect the underlying issue is one of limitations. Terminals are limited in…

Mnemonics made keyboard shortcuts obvious but they’re basically dead now. Holding alt sometimes reveals them.

Re: Stop Making TUIs

#167

Earlier quoted context omitted.

Huh? None of these force single-instance by default

They don't do anything by default. The developer makes it do what the developer wants (not the user). You claimed the developer has to "actively block it" which isn't the case. Even in SwiftUI which has the simplest way to support multiple windows with zero work, the developer has to use WindowGroup, and if they didn't then you don't get to open more than one window.

You appear to be conflating multiple windows in a single process with multiple processes. The default is that each process is almost entirely isolated from the rest of the running system. You have to actively work to even detect that another instance of the program you wrote is running.

Re: Stop Making TUIs

#168

One of the biggest upsides of TUIs over GUIs is that I can run any number of TUI instances. Meanwhile a GUI's developer has to decide to grace me with the ability to even open more than one window. "A tabbed interface will be sufficient!" -- yay, I'll never be able to view two screens of info at the same time.

TUI developers could implement the same kind of anti-features. This isn't a trait of GUI vs TUI.

Re: Stop Making TUIs

#170

Keep making TUIs. Keep making whatever you want. These "terminals weren't made for that" kind of comments are a bit tiresome. I can run TUIs on machines I only have ssh access to and they are often leaner than the corresponding GUI variant - though perhaps less so with today's fancier TUIs. 'top' has a TUI and isn't exactly new, some interactivity - yes, even in a terminal - can be nice. I'm currently trying to creat…

I’m absolutely into agentic coding and you’re still right. A TUI can live easily in a tmux window on a machine I can SSH into from my phone. Also: yes, you can vibecode a UI, but the author’s point reduces to absurd conclusion that you shouldn’t write and distribute any software at all.
Post reply on HN