Live data from Hacker News

Ask HN: Interesting TUIs (text user interfaces), maybe forgotten ones?

news.ycombinator.com

1–10 of 299 posts

Ask HN: Interesting TUIs (text user interfaces), maybe forgotten ones?

#1
I use relatively few TUI's, and don't know much about them—about what good, convenient UX flows in TUI's can look like. I want to write some in Emacs. Do you have particularly nice examples of TUI's that deserve to be known and imitated? I know there's a lot of abandoned programs from the pre-GUI era that refined TUI's to a high level.

(I'm only familiar with a handful of modern ones in Emacs—Magit, the SLIME inspector, dired, as well as the terminal TUI from the Linux tool perf).

Re: Ask HN: Interesting TUIs (text user interfaces), maybe forgotten ones?

#4
I recently built a TUI for exploring and developing CUE, JSON, Yaml.

Large inspiration for the overall UX comes from the Bloomberg terminal, where every function is reachable with four letter shortcut from the command box. It was really the command box that I liked. I've also built a sort of "flex" panel component for the layout so you can create as many panels as you like.

https://docs.hofstadter.io/getting-started/hof-tui/

https://github.com/hofstadter-io/hof/tree/_dev/lib/tui

This was built on the tview/tcell stack in Go. There is also the Charm.sh stack that takes a different approach but is generally prettier and more polished (having a company behind it)

Re: Ask HN: Interesting TUIs (text user interfaces), maybe forgotten ones?

#6
In stark contrast to most GNU/*nix tools, I really liked MS-DOS's edit.com text editor. Unlike emacs or vim or even nano, it didn't have a bunch of invisible shortcut keys, just a Windows-like drop-down menu system (but rendered in DOS).

You could easily browse through the menu hierarchy, but still memorize certain shortcuts that you often use (just like Windows). In later versions you could even use the mouse to select things if you wanted to. It didn't try to force any one particular method onto you, but let you use the input you're most comfortable with.

So many CLI tools are incredibly idiomatic and require you to do something in a very particular way with no on screen hints. Even the help screen is normally hidden behind some key combo. TUI or not, that seems unnecessarily elitist.

I think some of the old telnet MUDs or BBS games are nice to learn from, whether they used helpful text prompts (you are here, this is what you can do) or just rendered graphical menus in ASCII with colors. For some reason I still don't quite understand, games still seem to have more UI focus than productivity apps. Maybe cuz they tend to target the general public instead of B2B users?

Another pattern I really like: In more modern GUI IDEs and editors like Sublime or Jetbrains or VScode, you can usually launch a floating command input bar that will search through available files, commands, settings, etc. That lets you quickly find the thing you want without knowing the key combo for it (like format code, or forking a branch, or turning off word wrap). It would be cool to have a LLM layer in there that could parse natural language (instead of a basic keyword search) and execute commands based on that.

Re: Ask HN: Interesting TUIs (text user interfaces), maybe forgotten ones?

#8
The other day I found many TUI tools on a site called Terminal Trove:

https://terminaltrove.com/

And it also features a great list of them here that many might not have heard of.

https://terminaltrove.com/list/

For example trippy and nvtop look very nice for TUIs and other 'top' based tools they have listed there.

https://terminaltrove.com/categories/top/

https://terminaltrove.com/trippy/

https://terminaltrove.com/nvtop/

There's screenshots and install instructions that's also convenient.

Re: Ask HN: Interesting TUIs (text user interfaces), maybe forgotten ones?

#9
post #3

Midnight Commander immediately comes to mind, but also Borland's C++ compiler.

I believe Norton Commander was the original product (for MS DOS), Midnight Commander is its open-source cross-platform clone. FAR Manager is another notable TUI clone of NC.

Windows Commander/Total Commander are also NC clones, but implemented as GUI instead of TUI.

NC was one of the most convenient UIs for managing files, it’s a pity none of the major operating systems adopted this style for their default file managers.

Re: Ask HN: Interesting TUIs (text user interfaces), maybe forgotten ones?

#10
post #6

In stark contrast to most GNU/*nix tools, I really liked MS-DOS's edit.com text editor. Unlike emacs or vim or even nano, it didn't have a bunch of invisible shortcut keys, just a Windows-like drop-down menu system (but rendered in DOS). You could easily browse through the menu hierarchy, but still memorize certain shortcuts that you often use (just like Windows). In later versions you could even use the mouse to sel…

Not only that, I found it much easier to create TUIs on DOS than on a UN*X system. I still have a hard time with curses. Zortech c on DOS had a small set of screen functions, disp_*().

These are enhanced printf(), scanf(), getc() type functions by adding cursor positioning on an 80x25 screen. Pretty basic but you could create nice applications with these basic functions in Zortech c.

Granted, on DOS the screen size did not change as it does in UN*X, making TUIs easier.

On the systems (minis) I worked on decades ago, TUIs were far easier then anything I have seen since.

Post reply on HN