logoalt Hacker News

ricardobeattoday at 4:16 PM11 repliesview on HN

Hard disagree. Make more TUIs!

TUIs have downsides like accessibility, poor mouse support, but work really well if you focus on keyboard input. It is a better/faster input mode to begin with, especially for power users, but also for average people; you'd be surprised at how much more user-friendly an arrow-keys driven UI can be vs modern web interfaces.

I've been building my own TUI framework [1] and getting amazing results. Good TUIs are more of a GUI than a dumb text terminal.

If we had a cross-platform usable GUI framework, and more consistency across OSes, the story would be different.

[1] https://github.com/ricardobeat/milktea


Replies

grepps09today at 5:48 PM

I'm very keyboard-driven but I never really got TUIs. A GUI litterly can have just as good keyboard support, but because it doesn't force the user to use it, they rarely take the time to learn it. It's just always tempting to take the path of least resistance.

Especially becuase TUIs doesn't really have any of good properties that a CLI offers such as composebility. It's still a fixed UI with panes and menus which has just been squeezed into a character grid, and now forces the user to learn its pre-set keyboard bindings (which surely can be changed, but with every app having it's own config managment).

It's kinda the worst of both worlds to me. Either go all in and give me a proper text-based interface like Emacs (where you can globally configure how you wanna deal with lists of text in buffers), or just make a proper GUI with good keyboard support.

show 1 reply
hylaridetoday at 4:49 PM

Yeahs ago I remember when my big bank switched from a TUI front end to a web front end for their front line staff. What originally took a few quick keyboard/tab combinations that was hard wired into employee muscle memory immediately took 2-3 times longer. Fortunately, the need to go into a physical bank doesn’t matter as much, but it’s still a regression…

show 3 replies
a2ff6eeb0today at 4:24 PM

GUI programs can also use the keyboard.

show 2 replies
wowczarektoday at 5:15 PM

> If we had a cross-platform usable GUI framework

I could swear there once was a (n)curses or otherwise text based GTK+ implementation / backend. It didn't do everything of course, and this was, I don't know, about 2003-2007, but you could compile a GTK application and run it in the console.

I tried finding a link, but unfortunately could not, can't even remember the name, I only remember building a piece of software that way that did GUI or TUI depending on how it was linked.

show 1 reply
0x3444ac53today at 5:46 PM

Yeah TUIs are great. I'm shit at making GUIs but I was able to slap together a relatively simple TUI for some tooling at work, without any AI. Cheaper, faster, cross platform, less intensive. Most TUI frameworks nowadays have mouse support as well etc. So what if it looks just a little dated?

hedgehogtoday at 4:51 PM

It's not hard to make a portable UI framework if you accept similar limitations to the terminal (limited OS integration, accessibility support, etc). You can do anything you want and ship it through RFB.

mawadevtoday at 4:53 PM

Plus, when you ssh into a server and don't want to or can't rdp it, you at least have more degrees of freedom when you juggle complicated commands, like k9s

01100011today at 5:06 PM

I have old wrists, essential tremor and tics. I try to avoid the mouse where possible. Yes, please make more TUIs!

leephillipstoday at 4:46 PM

I’ve been enjoying making TUI programs for my own use. It turns out that the Kitty terminal emulator, with its saveable sessions of arrangements of panels that can communicate with each other, is an interesting framework for TUIs:

https://lwn.net/Articles/1080821/

grepps09today at 5:17 PM

[dead]

63today at 5:27 PM

When you're one of the people who finds TUIs inaccessible, "accessibility" isn't just a downside to be considered, it's table stakes. I think they're fine for one off toys for individuals and small groups, but if you're selling a product to the public, it ought to be accessible first and foremost.

show 1 reply