What would you say are the merits of the terminal that a TUI encapsulates?
My opinion is that TUI is just a GUI with less fidelity. Being composed of text characters provides no additional benefit other than a retro style. The benefits of the terminal are outside of TUIs - composing scripts, piping data, bash etc.
Vim keybindings, one of the most powerful and widely supported ways of interacting with information, basically impose the "grid of text" nature that define TUIs anyway, so my message prompt has to look like a terminal. The rest of the UI can be whatever, but grid-of-text works well for structured output, especially code blocks, as well.
TUIs compose with tmux. Pi's homepage says "use tmux" twice on it. It fits right into an already-mature ecosystem including a clipboard (powered by Vim visual / line / block mode) and easy integration with shells, editors, and other tools. GUIs generally have to re-invent all those wheels (tabs, splits, sessions, etc.) and it never integrates as well with other tools in a totally cross-platform way.
> What would you say are the merits of the terminal that a TUI encapsulates?
GUI scripting is still not a thing today. That's the biggest issue with GUIs.
Plus the mouse is genuinely bad for ergonomics.
Plus if you type _fast_ then TUIs are a great starting point.
Plus what's the equivalent of scrollback for a bunch of mouse clicks?
Plus TUIs are much more I/O efficient, which means running them over ssh/mosh/whatever is a great option.
Plus the shell is a programming language -- the GUI isn't just hard to macro-record/script: it doesn't even have a programming language you'd use for that.
I think the only point you made which is necessarily TUI-specific is the I/O efficiency / ssh point. Everything else is just a tendency of TUIs vs GUIs, but there's nothing preventing you from making a keyboard-centric GUI with no mouse support and built-in Bash scripting, or whatever scripting.
Text interfaces can offer precision and breadth of tooling that guis don't.
I do a fair amount of CAD so I'll use that example. Nobody who uses CAD professionally is clicking all the little buttons for tools. They're using commands, shortcuts, scripts, etc.
A GUI is slow and clunky. A textual interface, once learned, has way more degrees of freedom.
> They're using commands, shortcuts, scripts, etc.
Yes, power users often use shortcuts and automation, but how is that an argument against GUIs?
It simply depends a lot on the actual task. Certain things absolutely require a (high fidelity) graphical interface. Other things can be done just as well (and with less distraction) in a simple TUI. You can't generalize.
I don't think anyone referring to GUI means 'no commands/shortcuts/scripts', like, all of those that all CAD programs are GUIs that have commands, shortcuts, etc.
My two cents is that having all of your text be monospaced is not really ideal for agentic workflows where you do in fact read a lot of prose and in the future may want diagrams, rendered from a full browser's capabilities, etc.
I think I like the aesthetic of using a TUI because it makes me feel more like whatever 'real programmer' means to me... but I recognize its also cope.
(Also TUIs made a lot more sense when code was more expensive, because the monospacing constraint made it faster to build UI, etc.)
have you ever used, for example, vs code or Excel? both have robust GUI and keyboard capabilities. Andexcel has vba and now python and other scripting, and vscode is eminently extensible.
One small example - ChatGTP desktop intercepts highlighted text selection with "Ask ChatGTP" bubble. I have my own app that materializes a menu on highlighted text, but ChatGTP blocks it. No issues with that in the terminal. I am not a terminal junkie, but these opinionated paper cuts are annoying.
It's not entirely about what they're watching (though even what you are describing sounds awful), it's about what they're missing out on in that time. It's 2 hrs every day not communicating with another human being, not developing motor skills, not problem solving etc.
I have 2 kids under 5 and we have ~0 screen time (unless we are having some sort of crisis and need a distraction for a few minutes). We spend time with similar families, and those with more screen time. I'm not trying to sound superior when I say there is a VAST difference in ability between the two groups.
My opinion is that TUI is just a GUI with less fidelity. Being composed of text characters provides no additional benefit other than a retro style. The benefits of the terminal are outside of TUIs - composing scripts, piping data, bash etc.