I've already experimented with dropdown menus and minimizing sections. While I too love the TUI and keyboard driven experience, many want something they can click on, less overhead from every application having their own hotkeys. For me, it's about reaching more people, and the hope that I can bring more of them into the mouseless development experience
To me, these reasons underscore the need for a genuine GUI, rather than a TUI that requires users to open a terminal just to have something clickable.
This is more about blending in among GUI tools, which is also important.
This is what I find difficult to understand, why is that important? And to whom?
It made sense 35 years ago when MS-DOS was shipped by default and you just had to make do.
A full-featured web browser or a video chat client can't be realistically made TUI. I could have run Emacs in TUI mode, but I appreciate variable font support in non-code texts I write.
New users tend to get really involved with the buttons, but gradually shift to full text control over years.
Obviously in CAD sometimes you cannot enter coordinates and must grab the mouse... but it's still faster if you minimize use of the mouse.
Tools like Plasticity CAD¹ or Blender feel way more keyboard-friendly in this space.
Also lazygit and neovim (since you mentioned modals) are GUIs in the terminal. The entire reason for lazygit to exist is to have a user-friendly experience for people who don't want to use the more complex and spartian git cli.
I am not sure why you think my comment is in disagreement of that.
> The entire reason for lazygit to exist is to have a user-friendly experience for people who don't want to use the more complex and spartian git cli.
Same, I fully agree with that statement.
I agree there are also many GUIs tailored for professionals. Not sure if there are TUIs tailored for general consumers though.
Also there are some areas that's universally acknowledged to be better suited for GUI, anything that requires visualization like video editing, image editing, 3d modeling, etc. Maybe someone can go full ffmpeg to edit a feature length film, but that'll take some effort.
Only if the TUI is non-scriptable. That's the big bait-and-switch possible here: Is it a TUI in that the menu system is made out of text, or is it a TUI in that it's a command line with a scripting language and the ability to create new commands out of composable pieces? Just saying "Textual User Interface" doesn't disambiguate the two.
it was amazing watching them work, and there was no mouse involved. there wasn't even a mouse connected to the terminal. F-keys and hotkeys galore, and the applications were extremely responsive, none of this 400ms response from a webserver then another 1200ms waiting for the JS to render the page.
I am in favor of TUIs if they can bring this kind of accommodation for power-users. I agree with you that there is a strong danger of UX people getting involved and making things perfect for new people at the expense of anyone advanced.
When a 'TUI' begins to incorporate features like clickable buttons, drop-down menus, scrollbars, windowed interfaces (as opposed to panes & separate screens), it gradually shifts away from its core identity. Eventually, it becomes a GUI operating within the limitations of a terminal.
Imagine something like lazygit with textual buttons, drop downs and other TUI anti-patterns. Or even more extreme, without its keybindings and modality. It would miss the point entirely.