Live data from Hacker News

Why TUIs are back

wiki.alcidesfonseca.com

351–360 of 443 posts

Re: Why TUIs are back

#351

I wish TUIs weren't back. I'll take a web interface over a TUI any day. No installing fonts that are too clever, no tweaking my terminal config to get it to display right, no guessing the navigation shortcuts that person thought was best, real text editing with OS standard text navigation, better integration with my password manager, text expander, etc... I live on the CLI, I have one a hotkey away, but please, techn…

I spent decades using vim and Emacs but having moved to GUIs a few years ago I can't see myself going back.

This whole TUI thing just seems like a fashion trend.

Re: Why TUIs are back

#352
I think well made GUI will always be superior to TUI. And have all the same possibilities and more. But it is also very sad that now decades into this computing thing we do not have any accepted good ways to make GUIs. Or at least widespread enough ways.

Re: Why TUIs are back

#353
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 is really integrated into a programming language or part of the standard library.

Outside of Swing (which lacks access to a native browser element), we have Tk (no browser component, no drag'n'drop, at least from Tkinter), wxWidgets (seems that the community is very small and especially its bindings needed to be resurrected at least once), Qt with the ever looming possibility that it will get deshittified to make more money (... and no, KDE is not that important and I doubt the KDE community could take care of a fork long term).

Which leaves us with Electron or the other variants of 'browser component + JavaScript/CSS and callbacks to a local server, which is a really bad programming model (ignoring the memory/runtime overhead for even trivial applications).

The problem is, to build a decent cross platform gui toolkit, one needs a lot of funding and a lot of people (usability, accessibility, design, documentation, testing...). The open source community didn't manage to pull this off (GTK is by now for all practical purposes Linux only) and there is no modern contender for Qt or Swing (with their own problems).

TUIs are no solution to the core problem (and it would be absolutely possible to have a GUI toolkit with a TUI renderer for perhaps 80% of GUI needs), but I understand every developer who chooses TUIs for cross platform UIs given the alternatives.

Re: Why TUIs are back

#354

Earlier quoted context omitted.

Take a good look around and check how often people do really change computer platform. And you already have so many things that are different that the "same look" is just an excuse. Gnome, KDE, macOS, Windows does not have the same UX in their file explorer which is a basic utility that everyone has to use. Same with connecting to a WiFi and creating a new user account. So why would you want Discord to be consistent,…

I don't really have any issues working out how to use modern electron apps, they all follow very simple UX patterns, I find them much easier to use than the average native wxWidgets/qt app. Simple, consistent UI is less about the color scheme and border radius being consistent and about things being simple and well laid out on a higher level. Two apps can have different CSS while being easy to understand because the…

Electron apps use the usual web 2.0 forced keyboard focus antipattern which breaks page up and page down scrolling, so they are difficult to use. Also blurry text rendering.

Re: Why TUIs are back

#355
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'm still motivated to adopt a TUI application in lieu of a pure CLI or GUI because of the ability to use it over SSH.

Why can't you use cli over ssh? I mean you could even do gui id you really wanted to.

Re: Why TUIs are back

#356

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 occasional programmer.

> Electron or the other variants of 'browser component + JavaScript/CSS and callbacks to a local server

On the other hand, I absolutely hate this as a user. I would lose features and go back to the command line rather than having to deal with this. Everything is wrong in these applications, they don’t support standard keyboard shortcuts, they look weird and out of place and lag where you least expect it.

> TUIs are no solution to the core problem (and it would be absolutely possible to have a GUI toolkit with a TUI renderer for perhaps 80% of GUI needs)

There are a couple of TUI framework that are almost there already. I like the fact that they are useable without fuss over ssh and stuff but I think they are solving the wrong problem. I would rather use something like tmux but that sucks less for the windowing and persistence bits and get more focused and composable CLI. Make a simple REPL with readline so it has a standard and expected behaviour instead of trying to make everything look or behave like an IDE.

OTOH, I really like how this is driving improvement in terminal emulators.

Re: Why TUIs are back

#357
post #218

Earlier quoted context omitted.

Where would one go to familiarize one's self with Flutter and with dart?

https://flutter.dev/ https://dart.dev/ https://dartpad.dev/

I saw that - and it doesn't seem to fit the bill. First, Dart is a language, not a GUI toolkit; and Flutter seems to be focused on Dart. It also seems to be opinionated in other ways in the introduction, rather than exemplifying its flexibility and adaptability to _your_ platform, programming language etc. Most importantly, it seems it will get you to produce apps whose UI fits a mobile phone rather than a desktop. I also get the sense that Google has strong control over this project.

Maybe I'm mis-perceiving - but that's the impression the flutter.dev site gives people.

Re: Why TUIs are back

#358

Earlier quoted context omitted.

As I said, the advantage of the TUI is that they avoid context-switching.

Except the part where you switch into the TUI from a normal bash prompt, and your normal bash invocations get eaten by the parser.. Which is essentially exactly the same thing, except your UI is trash relative to a normal GUI

You're not switching, it's all in the same pane, doesn't mess with windowing or focus, your keyboards shortcuts still work etc.

Re: Why TUIs are back

#359
post #46

Earlier quoted context omitted.

Unfortunately, remapping escape to caps lock can lead to serious friction if you have to work with different laptops a lot, like I do. The muscle memory gets in the way a lot.

I always remap Caps Lock to Ctrl. I understand that Caps Lock needed to be next to Shift in typewriters, but in computers it seems like it is wasting a key in the home row for only be used sometimes for screaming (which can be done by holding shift...)

I remap Caps Lock to Ctrl when held and to Esc when pressed - the best of both worlds when you live in Neovim. https://github.com/rvaiya/keyd works really well for me on Linux, but there is a similar software on MacOS.

Re: Why TUIs are back

#360

Earlier quoted context omitted.

I'm still motivated to adopt a TUI application in lieu of a pure CLI or GUI because of the ability to use it over SSH.

Why can't you use cli over ssh? I mean you could even do gui id you really wanted to.

Yeah, not sure why I included the CLI bit... of course they work well over SSH.
Post reply on HN