Live data from Hacker News

TUI Studio – visual terminal UI design tool

tui.studio

271–280 of 304 posts

Re: TUI Studio – visual terminal UI design tool

#271
A number of years ago I hacked together something conceptually similar [1]. It was for design and demonstration of CLI tooling (not TUI). It used its own DSL which included command definitions and demo output for invocations.

It created a replica CLI that behaved the way the real thing would, for quick prototyping and design feedback. The next step [2] would have been generating backend for different languages/libraries to create the actual CLI.

I lost the original sample "buddy" files but we did use it for prototyping a new Chef Workstation cli. Copies still haunt the Internet [3]

[1] defunct, https://github.com/marcparadise/clibuddy

[2] had I continued to need it

[3] https://github.com/gridgentoo/chef-workstation/blob/master/d...

Re: TUI Studio – visual terminal UI design tool

#274

Vibe-coded trash, even says so in the Readme. Not sure why this gets voted to the frontpage.

Better get ready for almost all software to use AI assistance in its creation. You can build great things using AI agents, and you can build trash. Your ideological opposition to that is not shared by as wide a percentage of developers as you may think based on some highly self selected online corners.

Not gonna like, I am having to actively fight the aversion I feel when reading something was "all written by claude", it is so hard to check if it was properly done or pure garbage, I don't even take the time to check.

I know this position is wrong, but it feels hard to spend my time on something that someone else might not have spent the time to create

Re: TUI Studio – visual terminal UI design tool

#275
post #20

I really don't want my TUI's to look like GUI's rendered in low res. The appeal to me of a TUI is that it is built specifically to be a TUI, and that means eschewing complexity and detail , and favouring compact text.

> GUI's rendered in low res That's literally what TUI's looked like starting from the late 1980s and throughout the 1990s... You have a pointing device, might as well make use of it to enhance discoverability.

None of the TUI's I use look like that.

They all have very different structure to what a typical GUI look like. E.g. a focus on condensing more information in few text cells, and usually not displaying anything extraneous, typically rarely using dialogs etc.

There are notable exceptions to that, sure, but as I noted that is exactly what I have no interest in.

Re: TUI Studio – visual terminal UI design tool

#276
post #229
post #20

I really don't want my TUI's to look like GUI's rendered in low res. The appeal to me of a TUI is that it is built specifically to be a TUI, and that means eschewing complexity and detail , and favouring compact text.

This is why I don't like TUIs at all, they're really bad at displaying complex information, handling complex interactions, and discovering how to compose those together.

Most of my complex information is text, for which TUI's work just fine.

For the rest, I typically use a browser.

Re: TUI Studio – visual terminal UI design tool

#277
post #239

Earlier quoted context omitted.

These sarcastic reddit style comments grate me. And it's also inaccurate, you're not runnning remote graphical applications from a remote headless webserver. You're rendering it locally.

He's functionally right though, a remotely served interface can be implemented as a TUI behind ssh, or it could be implemented as a website. Which is the better option depends on the context, but they're both serving the same function, and the terminal emulator you're using to view the TUI is most certainly rendering it on your computer.

This is true only up to "you can send and receive data".

A terminal is an OS construct mostly. It will, with permissions, allow you to do anything the OS can do, including shutdown, or serve more data. It's the default mode of operating the system.

The opposite is not true. The default mode of operating a web browser will not let you create a terminal access or do anything new with the machine.

Insofar as the previous is false - because it website has flaws that allow code execution, shell escapes, or remote package installations, it's worth pointing out that these are usually possible because your web server is running as a user on a system, effectively with system access via similar interfaces as the shell.

This is like saying you can operate a car from the truck - yeah maybe through some weird gymnastics, but the trunk is for transfer, and the drivers seat is for operating.

Re: TUI Studio – visual terminal UI design tool

#280

Earlier quoted context omitted.

He's functionally right though, a remotely served interface can be implemented as a TUI behind ssh, or it could be implemented as a website. Which is the better option depends on the context, but they're both serving the same function, and the terminal emulator you're using to view the TUI is most certainly rendering it on your computer.

This is true only up to "you can send and receive data". A terminal is an OS construct mostly. It will, with permissions, allow you to do anything the OS can do, including shutdown, or serve more data. It's the default mode of operating the system. The opposite is not true. The default mode of operating a web browser will not let you create a terminal access or do anything new with the machine. Insofar as the previou…

You can easily reboot a machine from a web interface, if rebooting the machine is intended to be part of that interface. I do it all the time with my shitty wifi router (which incidentally, also has a TUI interface.)

You're off base with your talk of terminals being "OS constructs" or whatever, I think it's because you're not being precise with what exactly you're talking about. "The terminal" is a combination of a terminal emulator, which is a userspace program which interprets control sequences that tell it which characters to render where. The terminal emulator is connected to a psuedoterminal, which is a pair of files for IPC with some special semantics, notably canonical mode. Importantly, in none of this is anything for controlling the system.

For controlling the system, you need some other program besides a terminal. A shell. A shell isn't part of the terminal, nor part of the operating system except in a broader sense of the term. And it doesn't have special abilities to control the system, anything the shell can do, a TUI or web interface, or any other kind of interface can be made to do.

Anyway, you ssh into a computer and start a TUI. The TUI doesn't render anything, it just sends you text and escape codes. The terminal emulator on your computer interprets this stream of escape codes and text, as a web browser interprets html, and renders it locally.

Post reply on HN