Hacker News new | ask | show | jobs
by joshka 28 days ago
Historically, “TUI” referred to “Text User Interface”, but language evolves and “Terminal User Interface” has been common usage in terminal-app/tooling communities for at least the last decade (probably more).

The distinction we (Ratatui) draw is that the rendering surface is a terminal: historically sometimes a physical hardware terminal (someone got Ratatui running on a Minitel a while back), more commonly today a terminal emulator/PTY environment.

That framing also better captures the kinds of constraints and capabilities Ratatui apps actually deal with: terminal escape sequences, cell-based rendering, alternate screen buffers, mouse handling, resize behavior, scrollback interaction, etc.

In addition, these apps don't only do text only these days as modern terminals support various graphics protocols (Sixel, Kitty, iTerm graphics) and other extensions that can allow for weird and wonderful things that are not just text.

2 comments

Thanks! As I think about terminals in quite different contexts (credit card terminal, battery terminal, train terminal, etc.) I'm realizing that it's really just any kind of endpoint at all, so pretty much any human interface device (HID) should probably be called a terminal. But when taken to that level, using the acronym TUI (in the "terminal" sense) to mean "not a GUI/CLI" (as if big old consoles or emulators/PTYs thereof are the only type of terminals) seems questionable.
Sixels are far from modern :) They were introduced in the VT240 (special purpose version of the 220) and became mainstream on DEC terminals with the 320.