Live data from Hacker News

Strace-ui, Bonsai_term, and the TUI renaissance

blog.janestreet.com

31–40 of 91 posts

Re: Strace-ui, Bonsai_term, and the TUI renaissance

#31

Interesting that Jane Street has taken an interest in TUIs, I think mostly this renaissance is partly due to the current bloat of Electron GUIs. There are other great examples of TUIs that i've seen around the web: https://github.com/ratatui/awesome-ratatui https://terminaltrove.com/explore/ https://github.com/rothgar/awesome-tuis But I think we will swing back to using GUIs when we find a performant way of making th…

I've been making a modern Slack terminal client (https://github.com/gammons/slk) and it's been a joy to use daily. There are a few things that IMO have unlocked a fantastic TUI experience:

- TUI libraries like Lipgloss and Bubbletea really allow users to build a rich experience nowadays. Really anything from https://charm.land is well-polished and a joy to use.

- Kitty image format works great and allows for Avatars, image previews, etc, which helps immensely make slk feel like a Slack client and not an IRC client.

Re: Strace-ui, Bonsai_term, and the TUI renaissance

#32

Interesting that Jane Street has taken an interest in TUIs, I think mostly this renaissance is partly due to the current bloat of Electron GUIs. There are other great examples of TUIs that i've seen around the web: https://github.com/ratatui/awesome-ratatui https://terminaltrove.com/explore/ https://github.com/rothgar/awesome-tuis But I think we will swing back to using GUIs when we find a performant way of making th…

I agree. The only reason I use TUI is because GUI are very slow with electron.

The only software that is as fast as TUI is the Zed IDE. Apparently they use Rust + their own built GUI toolkit with GPU rendering.

And apparently it's tightly coupled with Zed.

Re: Strace-ui, Bonsai_term, and the TUI renaissance

#33

I don't really get the TUI craze. Would love it if someone has some perspective that I'm lacking. Display technology has seen so much progress in the past decades. Apple marketing has taught us about "Retina" displays with pixels so small that you can't tell them apart without a microscope. We get these very rich and colorful desktop environments but we actively decide to not use any of that. Now, I get that a TUI ca…

My take is that GUI frameworks/APIs have abandoned power users. Yes, there are things like https://github.com/ocornut/imgui , and some (especially open source) applications try and muddle a long with Qt or GTK, but many (most?) serious professional or power user applications have built their own GUI frameworks or at least custom controls to deal with this. Whatever route you take, as a dev it's painful, especially fo…

WaveTerminal which I use on and off is sort of a graphical terminal like that. Has gui widgets that tile inside the terminal doing alot of the things you might open another pane for IE:file manager resources etc. Probably not as extensive as you mean but its sort of a stepping stone.

https://github.com/wavetermdev/waveterm

Re: Strace-ui, Bonsai_term, and the TUI renaissance

#34
post #10
post #5

The deeper reason agents write good Bonsai_term code is that the entire UI renders as plain text, so a screenshot test is just a diff the model can read and verify on its own. A GUI's visual state needs a vision model to inspect, but a TUI's output already lives in the agent's native modality, which closes the feedback loop for free.

for snapshot tests it seems better to diff a data representation such as some yaml string, than to diff UIs

The whole UI seems better for LLMs to consume and also displays nicely in-editor for humans. Test failures become failing screenshot tests essentially, which are really comfortable changes to review.

Re: Strace-ui, Bonsai_term, and the TUI renaissance

#36

I don't really get the TUI craze. Would love it if someone has some perspective that I'm lacking. Display technology has seen so much progress in the past decades. Apple marketing has taught us about "Retina" displays with pixels so small that you can't tell them apart without a microscope. We get these very rich and colorful desktop environments but we actively decide to not use any of that. Now, I get that a TUI ca…

When you get down to it, there is no better way to display text than to use a text display.

No amount of cartoons or colourful bouncy animation of pictures on the screen can replace simply displaying text when what you need to do is display text on the screen. And it turns out that text is a really good way to display information.

A picture is worth a thousand words but why would you use 1000 words when only one or two will do?

Re: Strace-ui, Bonsai_term, and the TUI renaissance

#38
TUIs are just GUIs that use a grid of characters instead of pixels. They are strictly worse than true GUIs, by definition. The only thing I liked TUIs for is running over SSH, but can any of these newer ones really run over SSH with any kind of decent performance anyway?

I think people are confused and think they like TUIs because they like them being keyboard driven etc. But this could all be done with a GUI.

The other factor is probably just fashion. Similar to how some kids are now listening to music on cassette tapes, which are objectively worse than other media in almost all respects. The less cynical take is it's like vinyl: it does come with compromises but gives us back some of the things we lost over the years.

The actual interesting text-based interface is the CLI. I've seen a few examples of TUIs that really should be a CLI and would be much more useful as such.

Re: Strace-ui, Bonsai_term, and the TUI renaissance

#39

I don't really get the TUI craze. Would love it if someone has some perspective that I'm lacking. Display technology has seen so much progress in the past decades. Apple marketing has taught us about "Retina" displays with pixels so small that you can't tell them apart without a microscope. We get these very rich and colorful desktop environments but we actively decide to not use any of that. Now, I get that a TUI ca…

TUIs have this really nice attribute of running local to the data you care about (web apps have a lot of complicated glue code required to do interesting things), and in a UI that is incredibly simple to test and iterate on because the output can be serialized to a text file with very minimal loss of fidelity.

It is hard to remove the rise of agentic flows and LLMs generally from this discussion. The fact that LLMs understand text in a first-class way and have had more time to get good at them, means that they can iterate and build apps and features that might bog down a model in the context of a GUI app and all of the additional context required for the larger framework and deployment and testing story.

These attributes and the current environment with LLMs mean that it's really easy to build ephemeral UIs that serve a purpose right now, and then consider productionizing or generalizing at a later date. If you decide to do this, you have the really high fidelity tests that make it easier.

Re: Strace-ui, Bonsai_term, and the TUI renaissance

#40
post #36

I don't really get the TUI craze. Would love it if someone has some perspective that I'm lacking. Display technology has seen so much progress in the past decades. Apple marketing has taught us about "Retina" displays with pixels so small that you can't tell them apart without a microscope. We get these very rich and colorful desktop environments but we actively decide to not use any of that. Now, I get that a TUI ca…

When you get down to it, there is no better way to display text than to use a text display. No amount of cartoons or colourful bouncy animation of pictures on the screen can replace simply displaying text when what you need to do is display text on the screen. And it turns out that text is a really good way to display information. A picture is worth a thousand words but why would you use 1000 words when only one or t…

Real text lovers have an appreciation of typography and don't ignore the whole field and stay in the dirt with crude "monospace everything" approach.
Post reply on HN