Live data from Hacker News

Stop Making TUIs

sockpuppet.org

171–180 of 579 posts

Re: Stop Making TUIs

#171
The typical TUI fan is a nerd with no clue about typography so therefore they don't notice any problem with being shown elements that have no reason to be monospaced in monospace.

i.e. ignorance is bliss in the world of typography.

Re: Stop Making TUIs

#175
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?

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 experience on Linux, you can use RemoteApps on Windows to have a good remote experience (but almost no other platform), you can use VNC to have an awful cross-platform experience, or you can use a TUI and have all the graphs and interactivity you need over a responsive, low-bandwidth connection on any combination of client+server.

Re: Stop Making TUIs

#176

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 interface…

Use Qt or Flutter

Re: Stop Making TUIs

#177
A wiki that's somehow not in a browser, a tv remote replacement without obvious keyboard shortcuts, a jupyter lookalike with no editing (as far as I can tell), and two chat interfaces with skills. Good for you, but not like how I use computers.

Re: Stop Making TUIs

#178

Earlier quoted context omitted.

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…

Okay but TUIs don't matter here though right? You can easily run GUIs over the web with any box anyway if you wanted to. So how is your headless sever running 24x7 (which is what allows feature you talk about, not tmux or tuis) not the reason you can do that but TUIs are? I have a windows box that never shuts down and i remote into it and use it GUI mode to do everything you said but with a proper GUI interface. I al…

A server needs a lot more things to have a GUI compared to what's necessary to just run an SSH daemon that offers CLI/TUI access, where SSH is just providing secure network access for the most basic interface the server has anyway (the TTY).

Re: Stop Making TUIs

#179

The nice thing about TUIs is: they are platform independent. Whereas with SwiftUI apps you are bound to macOS.

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.

Re: Stop Making TUIs

#180
post #25

Counterpoint: Build more TUIs in Rust using Ratatui: https://ratatui.rs/ Why? Because just look at the examples on that page.

Or for those coding in Python there's Textual: https://textual.textualize.io/ Or for Go coders there's BubbleTea: https://github.com/charmbracelet/bubbletea Why? Because TUI!

Heh, I have one in C23 with Ruby, Python, Go, and JS bindings...may have gone overboard. Not going to publish though until I have dogfooded it enough though :P
Post reply on HN