Live data from Hacker News

Stop Making TUIs

sockpuppet.org

191–200 of 579 posts

Re: Stop Making TUIs

#191

Earlier quoted context omitted.

TUI apps are only platform independent if you make them so. GUI apps are only platform independent if you(r framework) make them so. It's a quite common illusion that TUI apps are "automatically" platform independent. Even knowing which terminal emulator intercepts which shortcuts and how they handle width change, control character, mouse events, images, etc and design around them is not a trivial task. On the other…

They don't work fine. I run lot's of TUIs because they are snappier. You may bury this problem with money buying 64gb laptop, but that facade falls as soon as you launch local LLM and discover there's no space left for Spotify.

Believe or not, millions of programmers (presumably the most tech-savvy demographic) use VSCode for their daily job.

Re: Stop Making TUIs

#192

Earlier quoted context omitted.

> To get a good terminal UX, I think the answer to this is probably to throw all that compatibility mess away and redesign a modern terminal protocol that bakes in accessibility, regions, scrolling, selection, proper keyboard, etc. Why not just… a GUI framework or layout that’s meant to be keyboard driven and information dense?

TUIs run on any OS with minor patches to support quirks, GUI frameworks need a lot of work. TUIs don't need to follow any OS guidelines, cross-platform GUIs always look bad outside of the "main" platform. If you're only targeting macOS/Windows/Gnome/KDE then the solution is easy: just grab a GUI control set and go ham. Then there's remote access: you can spawn an X11 app through X forwarding and have a terrible laggy…

> I think the answer to this is probably to throw all that compatibility mess away

> TUIs run on any OS with minor patches to support quirks

So, which one is it?

Re: Stop Making TUIs

#193

Earlier quoted context omitted.

TUIs run on any OS with minor patches to support quirks, GUI frameworks need a lot of work. TUIs don't need to follow any OS guidelines, cross-platform GUIs always look bad outside of the "main" platform. If you're only targeting macOS/Windows/Gnome/KDE then the solution is easy: just grab a GUI control set and go ham. Then there's remote access: you can spawn an X11 app through X forwarding and have a terrible laggy…

> TUIs don't need to follow any OS guidelines, cross-platform GUIs always look bad outside of the "main" platform. So because TUIs look universally bad, they're better than cross-platform GUI?

>So because TUIs look universally bad

You can't stay engaged if the menus don't bleep and bloop at you and confetti rains down on every click? That's a personal problem. A minimal UI is not automatically a bad-looking UI.

Re: Stop Making TUIs

#195
It's interesting going to order auto parts or construction materials. All old tui like console programs if you look at what they use. They are good and quick at them too.

Re: Stop Making TUIs

#196
post #56

"I built my first serious Mac application" I will just stop here. No hates for macs, but your typical cli/tui software devoper is concerned about making their software run on almost anything with an actual os. As soon as I see references to specific operating systems or platform specific libraries my bullshit meter goes off. I was expecting an article about methology and tooling to develop guis, got an apple fan tell…

This is covered towards the end of the article.

It's only "covered" by saying

>But remember: I’m not really building applications for other people to use. I’m building them for me.

What's the point then? What's the point of writing an entire argument proselytizing towards application developers and ending with saying you're only talking about applications you're writing for yourself?

Re: Stop Making TUIs

#197
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, I think the answer to this is probably to throw all that compatibility mess away and redesign a modern terminal protocol that bakes in accessibility, regions, scrolling, selection, proper keyboard, etc. Why not just… a GUI framework or layout that’s meant to be keyboard driven and information dense?

Countless reasons.

Invent a gui client environment that is universal, works the same way everywhere, over any kind of channel, and is already implimented and supported everywhere, and utterly weightless in all dimensions (ram/cpu/network), and then you might be able to ask that question without it being incredibly ignorant.

Today the closest you might be able to say is web/electron, which is gross on all counts. If anything the closest is X11, which is not remotely close enough.

That's why not just...

Re: Stop Making TUIs

#198

You know what's awesome about TUIs? They live in a tab in my terminal. 95% of the time, my system has three windows open: terminal, browser, Signal. Please, make more TUIs and web apps, so they can live in my terminal or my browser.

Additionally, I can with very high confidence run TUI software inside an ssh session to one of my headless machines, and then further within gnu screen or tmux detach and later resume a session with everything I was doing. Even if I switch from my laptop to my desktop, or want to leave a bunch of stuff waiting for a week and come back to it later. Once you get the key bindings for screen or tmux thoroughly memorized…

Exactly this. Being able to attach to a tmux session over SSH and pick up where I left off is a killer feature for me. No GUI remote solution comes close in simplicity and responsiveness.

Re: Stop Making TUIs

#199
TUIs are really the worst of both worlds IMHO.

The one advantage that a terminal has, is that commands can be concise and scriptable. But that only really applies to CLI.

A TUI is just a poor man emulation of a GUI, without any advantages.

Re: Stop Making TUIs

#200

Earlier quoted context omitted.

What do you like about them? I disagree, but so many people seem to like them that I assume I'm missing something. The main one I've heard before is that they work nicely over SSH, but I assume there must be more?

IMHO the rise of TUIs is heavily correlated with the near-abandonment of professional quality graphical interfaces. If there was a powerful, information dense, configurable docking/tiling, multi-application-composing GUI framework (all things a good terminal can do) then yes, build everything in that. I’d love to see it. Until then, TUIs are vastly better than another Electron app or Mac app using UI frameworks that…

Yeah, I feel the same. Most modern GUIs waste so much space and hide actions behind hamburger menus – TUIs just get out of my way and let me work fast. I’ll take a well‑made TUI over a sluggish Electron app any day.
Post reply on HN