4 ms·
What exactly is it about TUIs that make them better for somethings than GUIs? Is it just that they are simpler to use and less bloated? Would calling the direct
by Decabytes 5y ago
What exactly is it about TUIs that make them better for somethings than GUIs? Is it just that they are simpler to use and less bloated? Would calling the direct windowing apis in each operating system be better than going through a library like GTK or QT? Is the solution better TUIs or better GUIs?
- btschaegg 5y agoI think a big part of it, at least for advanced users, isn't only the individual tool itself, but the terminal ecosystem: Vim, for example, excels at quick nimble edits for someone who darts around the filesystem in their terminal. Even if you have to pop back into your shell for a command or two while editing, you have the option of C-z and `fg`. The same thing applies to many TUI tools as well. Many of them deliver things you could get with more primitive tools, as well (say `btop` and `htop` vs `ps`), but have a nicer feedback loop while still allowing for pop-in-and-pop-out interactions. GUI alternatives would have you pushing the mouse around a lot without much benefit. That, and they work well through SSH, without the hassle of setting up X11 forwarding. For other TUI tools that are typically used in longer sessions (e.g. `gdb`), that is also a huge benefit. Most likely you won't even realize how huge until you have tried to set up a non-TUI alternative for the same scenario (the remote debugging service for Visual Studio is a nightmare to set up, for example).
- pickledcods 5y agoAbsolutely this. Minimal setup debugging using gdb in TUI/sourcecode mode, optionally over ssh.
- tiborsaas 5y agoIt's like voxel based games VS AAA titles. Everyone is forced to used the same set of building blocks: https://en.wikipedia.org/wiki/Box-drawing_character https://en.wikipedia.org/wiki/Box-drawing_character And since there are obvious limitations, developers must focus on core functionality rather than getting paddings and margins right and be more creative in the process.
- cbm-vic-20 5y agoIME, TUIs provide constraints to the application that help them focus on their tasks without other distractions. TUIs are typically very responsive- you issue a command, and there's no wait. Feedback is nearly instantaneous. There are GUI apps that share this characteristic, if their authors put latency concerns as one of their primary goals, but the majority do not. Even fractions of seconds are noticeable, and make a significant impact on the usability of an application. TUIs are keyboard driven, so I don't have to reach for a mouse for most operations, which slows down most operations, and can promote RSIs. GUIs do often have keyboard shortcuts, but they still suffer from higher latency, and generally aren't a high priority concern for the UI author, so the shortcuts tend to be inconsistent, and not usually customizable, and users typically cannot create their own.
- rocqua 5y agoAs someone 2 comments down said, SSH is a big one. I can get a TUI up and running on a remote server trivially, and at rather low performance costs. Doing the same for a GUI is a much worse experience. And when it does succeed the GUI is detached from the general interface through which I am managing that remote services (a shell session running over SSH).