Live data from Hacker News

Why TUIs are back

wiki.alcidesfonseca.com

371–380 of 443 posts

Re: Why TUIs are back

#371

CLI. Wtf is a TUI? LLMs say it has some to do with interactivity in a menu or something, but believe me, we had this all in the 80’s. Nothing new here, but the truth is the CLI is better faster and cheaper. Pick all three.

CLI is "run a command, get output, drop you back at your shell prompt". TUI is a full-screen interface inside the terminal which you stay inside of, no longer interacting with your shell.

Re: Why TUIs are back

#372
post #276

Earlier quoted context omitted.

> cross platform That's one word that should never been used in an design meeting. None of the GUI I've used has managed to do this right. Even Emacs and Firefox. The platform are totally different (and in the case of Linux/Unix, there's a lot of different HIG competing). So trying to be cross platform is a good illustration of the lesson in https://xkcd.com/927/ The best bet should be a core with the domain with a U…

> The best bet should be a core with the domain with a UI shell. And then you swap the shell according to the platform. I've rarely seen that turn out very well. Typically it works ok on whatever desktop main developers use, and not so much on the others. That means using multiple frameworks, witht their own idioms and quirks and having to repeat a lot of work. Unless your UI is very simple it is pretty expensive to…

The best way I’ve seen this implemented is having the domain be a library or a protocol/server. For a lot of saas, we already have people writing the mobile versions and the web version..

Yes. It’s more work than dumping Electron on users. Quality often is.

Re: Why TUIs are back

#373

For the record: I have a terminal open at all times, my life is automated trough Bash scripts and I am a VIM / TMUX user. With that background, most TUIs are really two steps back compared to a decent GUI. (Wild west navigation/hotekeys, broken copy and paste, lack of integration with the environment, just to name a few.) The core of the problem is IMHO, that we really lack a decent cross platform GUI platform, which…

> which is really integrated into a programming language or part of the standard library. Not a programming language, but the programming language: C. The toolkit needs to be available as a C API because that lets it a) provide stable API and ABI and b) provide bindings for multiple other languages without having to jump through hoops, especially for other compiled languages (binding Qt to Python might be easy, but b…

Nicely written and I totally agree with you.

I like, that you also added backwards compatibility and ABI stability, two very important and valid points. There is to this day the joke, that the best way to write a binary GUI app for Linux is to target the Win32 API and run it via Wine, if you care for a stable platform. ;-)

Re: Why TUIs are back

#374

For the record: I have a terminal open at all times, my life is automated trough Bash scripts and I am a VIM / TMUX user. With that background, most TUIs are really two steps back compared to a decent GUI. (Wild west navigation/hotekeys, broken copy and paste, lack of integration with the environment, just to name a few.) The core of the problem is IMHO, that we really lack a decent cross platform GUI platform, which…

I think you are right and completely agree with most of your points. > wxWidgets (seems that the community is very small and especially its bindings needed to be resurrected at least once) Which is a damn shame because they are very close to native appearances on both macOS and Windows and are much easier to program than anything Qt. I think it’s the solution I prefer for multi platform GUIs, both as a user and as an…

Thank you very much, and I also agree with your points: Electron Apps simply never feel right, even if I work within them all day (VS Code for example).

I also agree, wxWidgets is quite great, although I have to also agree with the comment above, that C++ for a GUI library is just a PITA when used from any other language. AFAIK the consumers from wxWidget (wxPython, wxErlang?, ...) are using a C wrapper around the C++ wrapper to use it.

Re: Why TUIs are back

#375
post #201

I think it's the smoldering ruins of the OS vendor self interest collapsing in on itself. There's not a single good universal UI. The best is the browser and it is reasonably successful but the sandbox makes it specifically unsuitable / high friction for doing things that need local access to files, network, etc. And it is ridiculously high overhead if you just want to run something simple. Then remote access is even…

And TUIs

* Are simple to grasp for uses * Efficient to use (not just resource wise) * Look nice on nice terminals

Notcurses (C++) and Ratatui (Rust) did help ncurses (C) a lot.

Re: Why TUIs are back

#376

Earlier quoted context omitted.

It's about the ascii code and terminal code. (Almost?) Every non-printing character can be entered with Ctrl+ . With Control pressed, D is eot (end of transmission), G is bell, H is backspace, I is line feed (next line), L is form feed (new page), M is carriage return (start of line), Z is substitute, and [ is escape.

I is tab ('\x09' or '\t') and J is new line ('\x0a' or '\n'). These Ctrl combinations follow a predictable linear mapping to the control character section of the ASCII table. Basically Ctrl subtracts 0x40, so I is 0x49, Ctrl I is 0x09.

TIL: Ctrl subtracts 40.

(28 year emacs user)

Re: Why TUIs are back

#377
Am I missing something: "[TUIs are] easy to automate". What am I not seeing or know about? I had to go crazy mad routes of automating TUIs with `tmux` just to get to some repeatable process.

Re: Why TUIs are back

#378
It doesn't really make sense to me. I've been using Emacs and Vim for decades, and have been using Claude Code for months, but I moved to Codex GUI and the VSCode Claude Code plugin eventually. The biggest problem is that monospaced fonts are not really the best for reading, and with coding agents, people should be reading text most of the time.

The current implementation isn't command-line, but a re-implemented GUI in disguise, awkward and even more buggy. Why should I use that over a GUI? I would prefer Electron over those TUI unless I have to SSH.

Re: Why TUIs are back

#379
post #62

I think if you look purely at the numbers, the real reason TUIs are popular is claude code, everything else is background noise compared to it. What originally got me excited to build TUIs was the concept of delivering apps over the wire via SSH. SSH apps resemble a browser in that way: no local installs required. It's a major reason why I enjoy hacking on https://pico.sh -- deploying the TUI requires zero user invol…

I don't think that's true, because it appears to me that the upswing in new TUI programs predates Claude Code's takeoff.

rust community likes tui ever since Ratatui and some other packages are making it easier than for example ncurses or notcurses etc. - i think Ratatui package is one big propellor for tui use and creation nowadays from slightly before claude code etc.

Re: Why TUIs are back

#380

> The hardcore, moved to vim or emacs, trading immediate feedback and higher usability for the steepest learning curve I’ve seen The only hard part about vim is to be forced to strecth the finger up to Escape for what is essentially the most essential function in a modal editor: Going back to command mode. The ideal workflow is do a quick edit and go back to command ("normal") mode instantly. The fact that Escape is…

> I don't see where the learning curve is Right here: > modal editor

The big problem is stupid guides talking about modes instead of calling it a command interpreter, which it is. Modes are an irrelevant implementation detail.
Post reply on HN