Live data from Hacker News

Stop Making TUIs

sockpuppet.org

101–110 of 580 posts

Re: Stop Making TUIs

#101
post #91

If there's anything that's anachronistic, it's native apps. You want it graphical: Make a webapp. You don't: Make a TUI. What exactly is the use case for native apps? Even lots of legacy code can build to WASM now. (yes, I'm exaggerating a bit, but not much)

As a web developer who has just begun building native apps: running outside of the various sandboxes browser based apps are quarantined in. Deeper file system access, better access to hardware and sensors, notifications where helpful, deeper integration into the operating system (open with, file previews, widgets to launch the app, etc) and performance. Some things the web does well, some things it does less well than native. With a native wrapper around a web app you can leverage the best of both!

Re: Stop Making TUIs

#103
post #25

Counterpoint: Build more TUIs in Rust using Ratatui: https://ratatui.rs/ Why? Because just look at the examples on that page.

Or for those coding in Python there's Textual: https://textual.textualize.io/

Or for Go coders there's BubbleTea: https://github.com/charmbracelet/bubbletea

Why? Because TUI!

Re: Stop Making TUIs

#104

One of the biggest upsides of TUIs over GUIs is that I can run any number of TUI instances. Meanwhile a GUI's developer has to decide to grace me with the ability to even open more than one window. "A tabbed interface will be sufficient!" -- yay, I'll never be able to view two screens of info at the same time.

I hate that you can only have one window of the Windows Settings app now.

Re: Stop Making TUIs

#105

You know what's awesome about TUIs? They live in a tab in my terminal. 95% of the time, my system has three windows open: terminal, browser, Signal. Please, make more TUIs and web apps, so they can live in my terminal or my browser.

If that's the only justification, a good window manager might turn out to be a lot more convenient.

Terminals are great for CLI. CLI integrated into GUI/TUI is absolutely amazing, but 99% TUI apps do not work like that, they're just awkward crutches foreign to the terminal, so you get no upsides and all downsides. Examples of good CLI integration I regularly use: Kate, Zed, Dolphin, Total Commander, pi. Only one of them is TUI, and honestly it's much worse off with it, since it has to display a ton of formatted text and sometimes pictures. It's really inconvenient and just looks like cargo cult rather than a necessity.

Re: Stop Making TUIs

#106
post #2

TUI is a kind of self defense. big corps create and kill gui frameworks faster that one can learn them. Browser based ui is a real waste of resources (and also evolve in a absurd pace). The Console is a last resort to write small (understandable) gui that work on many platforms.

Are the TUI apps built on TUI frameworks? Do the TUI frameworks last longer than the gui frameworks you mentioned being quickly killed by "big corps"? In the Windows space, WinForms, WPF, WinUI are likely the biggest examples of gui frameworks, especially from "big corps"; they've been around for decade(s) and have not been abandoned (/ they continue to be supported) - how do TUI frameworks compare? On the other hand…

Curses, the TUI library, has been around since 1978. It was superseded by ncurses in 1993, which saw it's latest update in December of 2025. Both of them still work and can be used today, with the caveat that the official original curses has been deprecated since 95, but NetBSD maintains an updated version iirc.

Re: Stop Making TUIs

#107

Earlier quoted context omitted.

Opening more than one instance is the default, developers have to actively work to block it. At least on desktop.

Which desktop? It's not true for AppKit, SwiftUI, GTK, Qt, WinUI, or Electron, and I'm not sure what's left.

Huh? None of these force single-instance by default

Re: Stop Making TUIs

#108
"I’m glipping balls like everybody else."

Well, that's a new one, ha ha (guessing "tripping balls" on GLP-1).

(And here I am too, about to be glipping balls… like everybody else, I suppose.)

Re: Stop Making TUIs

#110

Earlier quoted context omitted.

Which desktop? It's not true for AppKit, SwiftUI, GTK, Qt, WinUI, or Electron, and I'm not sure what's left.

Huh? None of these force single-instance by default

They don't do anything by default. The developer makes it do what the developer wants (not the user). You claimed the developer has to "actively block it" which isn't the case.

Even in SwiftUI which has the simplest way to support multiple windows with zero work, the developer has to use WindowGroup, and if they didn't then you don't get to open more than one window.

Post reply on HN