| ▲ | kristiandupont 3 days ago | ||||||||||||||||||||||||||||
Only tangentially related, but: what is the appeal of TUI's? I don't really understand. The advantages of CLI's are (IMO) that they compose well and can be used in scripts. With TUI's, it seems that you just get a very low fidelity version of a browser UI? | |||||||||||||||||||||||||||||
| ▲ | chazhaz 3 days ago | parent | next [-] | ||||||||||||||||||||||||||||
The advantage of TUIs is that you get a low-fidelity browser UI that doesn’t need to be exposed to the internet, that can be run remotely via SSH, which doesn’t ship you megabytes of JavaScript, and which works equally well on everyone’s machine | |||||||||||||||||||||||||||||
| |||||||||||||||||||||||||||||
| ▲ | MrGilbert 3 days ago | parent | prev | next [-] | ||||||||||||||||||||||||||||
They are usually faster to create and pretty much cross-platform. They should also work great with screen readers, though that is only an assumption. TUI also means that I do not have to memorize an infinite amount of command line parameters. I really like well-made TUIs. | |||||||||||||||||||||||||||||
| ▲ | rgoulter 3 days ago | parent | prev | next [-] | ||||||||||||||||||||||||||||
Practically? The best keyboard-driven programs are (incidentally) TUIs. For some reason, expressive keyboard-driven interfaces aren't as popular in GUI interfaces. | |||||||||||||||||||||||||||||
| |||||||||||||||||||||||||||||
| ▲ | lucideer 3 days ago | parent | prev | next [-] | ||||||||||||||||||||||||||||
Apart from the apparent comparative ease of creation relative to GUIs (I suspect Electron apps may be easier than TUIs), I think the main benefits from a user perspective seems to be down to cultural factors & convention: - TUIs tend to be faster & easier to use for cli users than GUI apps: you get the discoverability of GUI without the bloated extras you don't need, the mouse-heavy interaction patterns & the latency. - keybindings are consistent & predictable across apps: once you know one you're comfortable everywhere. GUI apps are highly inconsistent here if they even have keybindings - the more limited widget options brings more consistency - GUI widgets can be all sorts of unpredictable exotic - anecdotally they just seem higher quality | |||||||||||||||||||||||||||||
| |||||||||||||||||||||||||||||
| ▲ | oneeyedpigeon 2 days ago | parent | prev | next [-] | ||||||||||||||||||||||||||||
You get a low-fidelity version of a browser UI with guaranteed keyboard support. If web apps had the same level of keyboard support, TUIs would be less appealing. | |||||||||||||||||||||||||||||
| |||||||||||||||||||||||||||||
| ▲ | victorbjorklund 3 days ago | parent | prev | next [-] | ||||||||||||||||||||||||||||
Faster and easier to use. I love for example Lazygit. It’s the fastest way to use git (other than directly as a cli of course but if you want some graphical info lazygit is great) | |||||||||||||||||||||||||||||
| ▲ | mystifyingpoi 3 days ago | parent | prev | next [-] | ||||||||||||||||||||||||||||
Look up k9s, it's a great example. But as sibling comments say, it's all keyboard driven and most actions are single keypresses. | |||||||||||||||||||||||||||||
| ▲ | ashu1461 3 days ago | parent | prev | next [-] | ||||||||||||||||||||||||||||
I had the same doubt. With CLIs you can make your own custom shortcuts, LLMs can use it to get things done for you as well. With TUIs I think either these are hobby projects or meant for people who are obsessed with speed. Though speed impacts are also something which I am uncertain about. Comparing Vim with IDEs, for sure there will be few things which are faster in vim but decent no of things which can be done faster in an IDE as well, so can't comment on your overall speed gains. | |||||||||||||||||||||||||||||
| |||||||||||||||||||||||||||||
| ▲ | wtetzner 2 days ago | parent | prev | next [-] | ||||||||||||||||||||||||||||
For one thing, you don't need to run them in a browser. | |||||||||||||||||||||||||||||
| ▲ | Cthulhu_ 3 days ago | parent | prev | next [-] | ||||||||||||||||||||||||||||
Before Windows / GUIs, everything was a TUI. Some of those applications were kept around for a long time even when Windows was mainstream, because they were faster. If you've ever seen an employee (or co-worker) work in one of those applications you'll see it. They can zip through screens much quicker than someone doing point and click work. | |||||||||||||||||||||||||||||
| |||||||||||||||||||||||||||||
| ▲ | freeplay 2 days ago | parent | prev | next [-] | ||||||||||||||||||||||||||||
Memorizing CLI commands and typing/editing them over and over can be very time consuming. Use k9s for example. Let's say you want to determine where the value of an environment variable is coming from. 1. 'kubectl get deploy -n example' (find the name of the deployment in question) 2. 'kubectl describe deploy example-app -n example' (determine where the value for the env var is coming from) 3. 'kubectl get cm example-app-config -n example -o yaml' (check the value of the referenced key in the config map) This is a very basic example but you can see where it lead to slow debugging that is made even slower by its propensity to typos and the need to look up command syntax. Once you get comfy in a well designed TUI, you can fly through this process in 10 seconds. | |||||||||||||||||||||||||||||
| ▲ | thiht 2 days ago | parent | prev | next [-] | ||||||||||||||||||||||||||||
I recently started using k9s after using kubectl for a while. It's just faster and more convenient. A well made TUI also offers a bit more discoverability than a CLI. If you know exactly what you're looking for the CLI is fine, but if you need to explore a little bit, a TUI is better. | |||||||||||||||||||||||||||||
| ▲ | d4rkp4ttern 2 days ago | parent | prev | next [-] | ||||||||||||||||||||||||||||
TUIs can be self explanatory if designed well. Ideally the same tool would have a CLI mode with JSON(L) formatted output, launched with a flag like —json so that it can be composed (unix-like) with other CLI commands, and also usable by LLM-agents, with jq etc. This is what I do in a TUI/CLI tool I’ve been building | |||||||||||||||||||||||||||||
| ▲ | whatever1 2 days ago | parent | prev | next [-] | ||||||||||||||||||||||||||||
The only real advantage is that you have access to a UI—ish everywhere, because the ssh server is running everywhere by default (at least at machines you would want to connect to). Http servers are not installed by default, and they are a pita to configure / secure. | |||||||||||||||||||||||||||||
| ▲ | rockwotj 3 days ago | parent | prev | next [-] | ||||||||||||||||||||||||||||
you also get a very slimmed down interface that is usually way faster to load. one of the reasons I love HN is that it is super snappy to load and isn’t riddled with dependencies that take forever to load and display. Snappy UIs are always a breath of fresh air. | |||||||||||||||||||||||||||||
| |||||||||||||||||||||||||||||
| ▲ | benterix 2 days ago | parent | prev | next [-] | ||||||||||||||||||||||||||||
Many tools offer both CLI and TUI interface. TUI is especially useful at scale, when you need to deal with a large amount of resources efficiently or have a good overview of the whole environmtnt faster - e.g. *top, k9s, Midningt Commander etc. | |||||||||||||||||||||||||||||
| ▲ | chilli_axe 3 days ago | parent | prev | next [-] | ||||||||||||||||||||||||||||
In addition to what other commenters said - TUIs can be installed on a server and used over SSH | |||||||||||||||||||||||||||||
| |||||||||||||||||||||||||||||
| ▲ | jama211 3 days ago | parent | prev | next [-] | ||||||||||||||||||||||||||||
The appeal is I can use it with just a terminal connection to the server | |||||||||||||||||||||||||||||
| ▲ | korse 2 days ago | parent | prev | next [-] | ||||||||||||||||||||||||||||
Sometimes a gui is helpful for things (such as monitoring) but you don't want to leave your terminal because it screws with your workflow. | |||||||||||||||||||||||||||||
| ▲ | israrkhan 2 days ago | parent | prev | next [-] | ||||||||||||||||||||||||||||
I was skeptical too, but after trying lazygit, lazydocker, k9s and a few more TUI programs, I can see the value. | |||||||||||||||||||||||||||||
| ▲ | 3 days ago | parent | prev | next [-] | ||||||||||||||||||||||||||||
| [deleted] | |||||||||||||||||||||||||||||
| ▲ | perrygeo 2 days ago | parent | prev | next [-] | ||||||||||||||||||||||||||||
> low fidelity version of a browser UI? That's the point. For me, with very few exceptions, modern web UI is steaming pile of dogshit - no consideration for user's attention, speed, or usability. TUI are extremely low fidelity; there's nowhere to hide all that enshitified cruft! Stripping the functionality down to its bare essence vs navigating a bespoke web UI with the design aesthetic of clown vomit. I can tell you which one is more productive for me. | |||||||||||||||||||||||||||||
| ▲ | nobleach 2 days ago | parent | prev [-] | ||||||||||||||||||||||||||||
I can give an anecdote if that's helpful. Imagine you're wanting to download an object from S3. You start to type out the command in your CLI. You hit enter, only to realize, see that the object is not found. You have a typo somewhere... but where? The bucket is huge so, you resort to listing the contents and passing the results through grep. Then you copy the object to the clipboard so that you can edit your original command. I see one of the other comments mentions K9s. The exact same use cases manifest with that tool. YES, if it's just a one-shot, nothing beats the CLI. Many things where you need to investigate the resources a bit more, lend themselves to a TUI (or GUI if that's your thing). I come from an era where folks could fly through tasks on dumb terminals. (AS/400 apps). The moment we gave them "better" gui tools, they slowed way down. No matter how many times we told them, "you can still use your TAB and ENTER keys!" TUIs were just a sweet spot. | |||||||||||||||||||||||||||||