3 ms·
A look at the VT100 standard was enough for me to decide building "modern" GUIs on top of that is truly the definition of madness and bloat. Why go through all
by sph 2mo ago
A look at the VT100 standard was enough for me to decide building "modern" GUIs on top of that is truly the definition of madness and bloat.
Why go through all that effort and leaky abstractions to display GUIs when you can just bitblt pixels from memory to a framebuffer directly?
- iamnothere 2mo agoAesthetics, running TUI tools headless over SSH, zero possibility of Electron (although I’ve seen TUI tools written in node which is almost as bad), no worries about X/Wayland jankiness. Frameworks like bubbletea make it very easy these days. I think there’s a limit though, a good TUI shouldn’t be “modern”, it should be like the old TUIs that ran auto shops and accounting systems. TUIs that are information dense, keyboard-driven, and snappy are hard to beat.
- sph 2mo agoI figure we can do more "information dense" than 80x25 Unicode characters, or marginally more than that, these days.
- iamnothere 2mo agoSet a smaller font on your terminal emulator, done. Good TUI apps are responsive and resize to fill larger spaces.
- orbital-decay 2mo agoI don't know, I have too many tools that would really benefit from using GUI (e.g. coding agents, process monitors) but are using TUI and are written in TS instead. Everything about TUI screams jank to me, even the old kind. Both internals and presentation. It's less readable, way more limited, just about everything in it is bad, maybe except the ability to mix it with the CLI programs, but it's quite niche and you could do it the other way in the GUI (embed a terminal, like many apps like Zed or Total Commander do). And of course there's absolutely nothing that stops anyone from developing information-dense, keyboard-driven, and snappy GUI apps that run headless.
- iamnothere 2mo ago> there's absolutely nothing that stops anyone from developing information-dense, keyboard-driven, and snappy GUI apps that run headless. This is true, and yet... For some reason GUI seems to attract bloat, excessive margins/padding, and sloppy practices. Maybe it’s just that web views are too tempting to resist.
- throw-the-towel 2mo agoConstraints make the artist's job easier. In this case, the constraint is the character grid.
- Magicrafter13 2mo agobecause you can't do that in a shell over SSH... I'm literally using btop on Windows because I want task manager to only be in the corner, with the terminal taking up the rest of the screen space. the only other way to do this would be to pin the window so the terminal is always under it, but then I'd have stuff go behind task manager and be hidden instead I use zellij (tmux would suffice as well) and have a corner for btop, and shells in the rest of the space.