logoalt Hacker News

Why TUIs Are Back

253 pointsby rickcarlinoyesterday at 6:42 PM281 commentsview on HN

Comments

schmorptronyesterday at 7:18 PM

I think part of it is also that we're able to still LARP as full developers of complex systems while vibe coding by seeing an interface that makes us look like l33t h4xx0rs even though we're just pressing continue 15 times

show 14 replies
qudatyesterday at 8:14 PM

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 involvement.

show 6 replies
cassepipeyesterday at 7:49 PM

> 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 used is a historical artifact that needs to be called out.

So just remap CapsLock to escape, it system-wide, it's not that hard and it's nice to have Escape there generally. In Linux and MacOS it's just a GUI setting away and in windows you just have to edit (create?) a registry key. Can be done on any machine under a minute.

Apart from that I don't see where the learning curve is since you can just start with the basics from vim-tutor and look up for more when you feel you're spending too much time on something. I already felt faster than in any other editor when I just knew the basics. The real problem of vim is that you get used to modal editing very quickly and it feels like the stone age when you don't have it.

show 7 replies
danpalmeryesterday at 11:09 PM

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, technology has advanced significantly since the terminal was the only option, and we have far better options for building UIs now.

show 1 reply
giancarlostoroyesterday at 7:44 PM

Because nobody is investing in native UI development. Electron is proof that if there were a simple to use GUI stack that companies would adopt it.

show 5 replies
zmmmmmyesterday at 10:06 PM

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 more a debacle. Can I access an application running on my windows host from my Mac? can I forward that through a tunneled connection?

TUI is a simple, universal protocol that does what you need and is natively remote. Whatever I use locally will seamlessly work over an SSH connection.

And it's a big middle finger to the OS vendors who thought locking everyone in by making everything incompatible or ecosystem specific was a winning strategy.

show 1 reply
spankaleeyesterday at 8:57 PM

I really don't get terminal UIs that try to rebuild GUI-like functionality. Don't we think that computer interfaces should get better? We're not limited to a grid of characters to pretend to draw lines and shapes with anymore. You can't even display an image in a terminal without a non-standard terminal like Kitty or iTerm.

It's just a shame that we don't have a great cross-platform, streamed, UI system. The web is great in it's own ways, but clearly something could be a lot better for this purpose. Flutter's ok, but not on-demand enough and too married to Dart.

show 4 replies
ohneiyesterday at 7:32 PM

The TUIs I've looked at seem to be largely NPM dependent? Bizarre that agents apparently don't have time to rewrite themselves in something that isn't a security tire fire. It kind of makes me assume that all this agents taking over stuff is from people working at garbage-pivot-garbage startups that don't really have to worry about any consequences but not being fast enough.

show 5 replies
_jackdk_yesterday at 8:26 PM

The diagnosis for GNU/Linux is better than I expected but I think is still incomplete. Yes, you have two major toolkits (GTK+ and Qt) and many minor ones (most of which wrap one of the majors). Qt is proprietary but also available under a free software licence, but what if you don't want that that complexity? It feels like modern GTK+ is less of a cross-platform toolkit and more of a runtime layer for libaidwaita and the GNOME stack. So if you don't want to conform to GNOME's UI conventions, it's not clear where else to go.

Also, the explosion of new languages in recent years means having to write a new set of FFI wrappers around existing libraries, and it's easier to make an idiomatic library for TUI development than wrap all of GTK+ or Qt.

show 1 reply
abhinavsharmayesterday at 7:19 PM

To me it's just that they're great for people who live in a terminal

- No distractions from visual content

- Extreme efficiency with keyboard

- AIs can code them up quickly. It used to be a total pain

show 3 replies
0xbadcafebeeyesterday at 9:31 PM

It's nuts that software developers are allowed to design user interfaces at all. They're incapable of making a user interface that isn't text. It's like if plumbers designed houses, they'd make all the floors slope downward, because that's the easiest way for pipes to run.

Oh we need multiple windows we can move around/resize? Let's make them text windows. We want people to be able to quickly select options? Yeah make those text boxes. We want to quickly compose documents with some kinda style/formatting? Yeah they'll need to write more text to format it (but let's not make any apps to easily view the text in formatted mode).

show 1 reply
herrherrmannyesterday at 7:24 PM

There are a lot of points in there that are just generally bad in modern applications – e.g. UI inconsistencies, lack of automation and general configurability (shared ways to handle windows, layouts, keyboard shortcuts, etc.). I think it’s fair to say these things are just hugely lacking in modern operating systems. Linux might come close, but only with lots of tinkering. macOS is clearly lost and degrading now, and Windows was never close to having these qualities.

I don’t know if TUIs will be the answer, but it’s an interesting development!

pelcgyesterday at 8:20 PM

There are a lot of TUIs in existence worth looking at if one is interested or curious about them [0], [1], [2]

[0] https://github.com/rothgar/awesome-tuis

[1] https://terminaltrove.com/explore/

[2] https://github.com/ibraheemdev/modern-unix

Even before Claude Code, I always see htop as the prime example of a good TUI.

mgaunardyesterday at 8:54 PM

Power users have always preferred the command-line, since expressing what you want to do as a programming language is of course much more powerful and productive than clicking menus.

To avoid context-switching from the command-line, many essential UIs were made text-only. Another route would have been to integrate the command-line within graphical applications, but few did it -- the main example that comes to mind is Jupyter.

show 3 replies
xmodemyesterday at 10:02 PM

TUIs suck and the only reason they are seeing a re-surgency of relevance is because everything else sucks more along one or more critical metrics. Given the truly incomprehensible amount of CPU and GPU power we have available, this is truly a blight on our industry.

osaarikiyesterday at 8:18 PM

TUIs are great for low friction remote work. I do a lot of data processing work on remote VMs with a mix of interactive debugging/eyeballing and bulk jobs. TUIs are a great fit for the sorts of tools I build to support this work. The other UI paradigm I end up reaching for is locally hosted web UIs, as models are really good at one-shotting HTML reports with graphs and tables. Inside VS code those get automatically tunneled to the local machine.

show 1 reply
neomantrayesterday at 11:10 PM

They've been back and we're all taking them further than ever before!

For the past few weeks I've been wrapping up Booba [1], which is developer tooling to combine BubbleTea and Ghostty in WASM deployments (using ghostty-web).

It provides for some interesting deployment patterns both locally, over network, and embedded in a web page. It's intended to be very easy to adopt; at the simplest, one just changes `tea.NewProgram` to `booba.NewProgram`.

I used Booba to make a demo page [2] for our NTCharts TUI library published to GitHub Pages. The repo READMEs have GIFs... this page is all embedded WASM.

There's also new Kitty-Graphics-supported widgets in there (picture, chartpicture); I updated Booba and Ghostty-Web to support it. Still getting the kinks out.

[1] https://github.com/NimbleMarkets/go-booba

[2] https://nimblemarkets.github.io/ntcharts/demos/heatpicture-p...

ghctoday at 12:34 AM

> Reviewing code is important, but it's only 50% of the learning process, at best

I don't know about everyone else, but the code I reviewed as a Junior was high quality code I was expected to learn from. That's entirely different from doing code review on whatever CC outputs.

Dwedityesterday at 11:40 PM

We need lightweight HTML/JavaScript applications that aren't an entire web browser. You already have a web browser installed, you shouldn't need yet another copy of Chromium to run some HTML/JS files. Because browser makers cripple HTML files run from your own computer (can't fetch any files, even from the same directory), you are forced to start a web server just to run HTML and JS files from your own hard drive.

If you have python installed, you can start a web server with a couple lines of shell script. Is there any really good truly lightweight webserver? (Something under 256KB)

show 1 reply
gbinyesterday at 8:30 PM

I don't think it is surprising. Loading entire chrome processes for simple super laggy UIs is just unbearable.

TUI are snappy, accessible over ssh, small screen friendly, easily embeddable in zellij or other multiplexers, easy to copy paste from... Amazing.

droidjjyesterday at 7:20 PM

> The most popular claim is the memory consumption, which to be fair has been decreasing over the last decade, but my main complaint (as I usually drive a 64GB RAM MacBook Pro) is the lack of visual consistency and lack of keyboard-driven workflows.

Lucky you. I avoid electron apps because I'm limping along with 16gb.

noutyesterday at 11:00 PM

I think Midnight Commander is still the most advanced TUI there is. It has so many hidden capabilities that you may not even know about. You can be connected over ssh to another computer, while browsing the inside of a compressed zip file and previewing the content of the file inside of it . If you enable lynx motion and case insensitive - you are navigating across folders so much faster than just trying to "cd" and "ls"... It's impressive that this category of file managers has worked the same way for more than 40 years - the same shortcuts, etc.

matheusmoreiratoday at 12:44 AM

Terminals are great but they seem to be turning into literal browsers and it's starting to worry me.

tiffanyhtoday at 1:00 AM

CLI

Dumb question and slightly off topic, but is there a reason why so many AI tools are CLIs … as opposed to just an API or another interface?

I feel like I’m missing the obvious in why there feels like an explosion of CLI tools lately, related to AI.

sombragrisyesterday at 8:22 PM

I fully agree about the overall downward trend in quality and efficiency of GUI apps, but I also think there's an important factor in the rise of TUI apps:

People now have access to good terminal emulators. Back in the day, you had cmd.exe in Windows. Now you have a plethora of Linux/Unix terminal emulators, Terminal.app in MacOS, and Windows Terminal in Windows 10/11. These are quite capable applications able to render good, complex text-based interfaces.

moominyesterday at 8:20 PM

Using Claude has highlighted, for me, a number of issues with terminal apps like Claude Code. You can’t easily see the status of lots of instances, you can’t easily search for instances, you can’t get one instance to start another instance or send a message from one instance to another and, of course, if you make a slightly mistake in coding a full screen app, you get screen corruption.

show 1 reply
nickjjyesterday at 7:26 PM

I do like CLI tools and TUIs but in the article it mentions Gnome style apps don't fit the look. That sounds like a limitation of Omarchy.

It's not too bad to theme GTK apps and have them all look a consistent way. For example I use Tokyonight Moon and Gruvbox and they both have GTK themes that look great for Firefox, Thunar, GIMP, LibreOffice and more. I don't use Omarchy but here's a few screenshots https://x.com/nickjanetakis/status/2037125261657883061/photo....

Nothing fancy was done on my end, just installed the specific GTK themes. They even support live reloading because GTK's tooling supports it, my dotfiles at https://github.com/nickjj/dotfiles handle all of it for you. I still prefer TUIs but you can have nice looking GUI apps for when you want them.

hiltiyesterday at 8:54 PM

I totally agree with the author that Windows GUIs and MacOS GUIs are getting worse with every iteration. For my own side project I used ImGUI and it's working great for my purpose.

It's by far not as beautiful rendered as the native OS layers, but easy to navigate and a good foundation for cross platform GUI development. And I got it even approved for the MacOS app store. Here's my write up: https://marchildmann.com/blog/imgui-mac-app-store/

samgranieriyesterday at 10:17 PM

I spend all day in a terminal multiplexer (zellij) with neovim and other splits. Using things like k9s / btop / lazygit / lazydocker helm / stern / whatever that systemd TUI I saw in here and started and will check out later just keeps me focused in one window, and that’s pretty cool

show 1 reply
try-workingyesterday at 8:39 PM

The only reason CLIs and TUIs "came back" is because we're still in the early stages of this paradigm, things are moving fast and building a strong GUI UX takes just as much time as building out the backend functionality. So CLI and TUIs are used because they save time, skips the need for building a time consuming GUI. Also building UI is hard.

arjieyesterday at 8:45 PM

I make some things GUIs and some things TUIs. The TUIs are easier to work with Claude Code and Codex. We can co-work on many things together because the LLM harness reads TUIs very fast. You can do it with GUIs but that's much slower, and maintaining two separate interfaces into these things isn't worth the trouble.

throwaway27448yesterday at 9:16 PM

Cuz they're cheap and people don't care. Same reason by electron interfaces are so common

ifh-hnyesterday at 9:47 PM

I'm pretty sure dismissing flutter is ignoring reality. It, and more so dart, are not popular on HN, but it definitely is a popular and still in development truly cross platform framework.

show 2 replies
ngruhnyesterday at 8:12 PM

I think the come back is completely driven by Claude Code. Claude Code is a TUI, Claude Code is successful, therefore let's make everything a TUI!

I'm pretty sure the success has nothing to do with the TUI though. I personally enjoy it a lot but the productivity boast doesn't come from avoiding the mouse.

show 2 replies
apexalphayesterday at 9:04 PM

Shoutout to k9s. Fantastic tool.

kjuulhyesterday at 8:24 PM

I am conflicted on tuis they are nice, convenient and I dig the aestetic. But they're often not composeable. So even if they're there they dont feel native to the terminal. It is just an app in the terminal and that is okay, but you lose some of the terminal magic

ilakshyesterday at 9:10 PM

It's based on trends, momentum and social signaling more than anything, like most things in technology and society. Humans are herd animals.

I am affected by it also and have always been fond of TUIs in a nostalgic way.

burntoyesterday at 8:46 PM

I think there’s also perhaps an organizational explanation.

A reasonable TUI can be built without any design or frontend people even looped in.

Collaboration and coordination tend to slow down processes and flatten outputs.

b00ty4breakfastyesterday at 7:53 PM

the current AI summer has been great for us dorks that prefer TUI/console interfaces. I hope it all sticks around with the inevitable cool-down in LLM hype.

manyatomsyesterday at 8:18 PM

TUIs are back because the web got too bloated.

theanonymousoneyesterday at 9:32 PM

TUIs are extremely more portable, and offer a more uniform UX across platforms.

show 1 reply
monkeydustyesterday at 8:15 PM

Somewhat ironic is that people are using them to create generic web apps like they are going out of fashion.

debarshriyesterday at 7:19 PM

It was always there. k9s for instance, it started getting noticed recently. With coding agents, it is even easier to build.

lispisokyesterday at 7:23 PM

My cynical take why TUIs are back is because people operating in the terminal became a signal that you were competent and once people figured that out everybody started doing it. The reason people were operating in the terminal is lost of them but hey it makes you look like a 1337 hacker. It's the same thing with side projects of past decades. People who had side projects cared about the craft for more than a paycheck and tended to be more competent. Then every person just trying to land a job suddenly had "side projects". Gotta have those green squares on github.

show 1 reply
beej71yesterday at 7:29 PM

The best thing about TUIs is that they're so fast. They launch fast, run fast, and you use them fast. There's a learning curve for the bazillion hotkeys, because all it is is hot keys, but when you have it, you just fly.

I've been reverting more and more: mutt (mail), newsboat (RSS), amfora (gemini protocol), gurk (Signal), chawan (web), and even trn (Usenet). My RAM usage is tiny. Everything is quick.

GUIs should take a page from the TUI playbook and consider making the app keyboard-first. Nothing is more frustrating than a missing hotkey.

show 3 replies
mirekrusinyesterday at 8:33 PM

servo was recently published on crates – it has potential of becoming new standard; electron model proved to work very well the only downside is monstrous memory usage.

show 1 reply
paddy_myesterday at 7:22 PM

I think another factor is that people are rejecting the rounded corners and excessive padding of modern web design, you can't do that in a TUI, so you don't have a designer or standard practice encouraging you to do it. As implemented TUIs have greater information density than GUIs. Make no mistake though, TUIs are a decided step backwards from GUIs. Everything that you can express via text, you can also do in a text area on a GUI app.

slopinthebagyesterday at 7:19 PM

I think TUI's are popular because they're easier to make than a GUI. They are much more constrained. A TUI is basically a wire frame with some colours, whereas with a GUI the wireframe is only the first step.

show 1 reply
nickdothuttonyesterday at 8:49 PM

My terminal has not been ensh*ttified. I used the Internet for work, for knowledge, more than I use it for entertainment. One of the reasons I like TUIs.

🔗 View 27 more comments