Top
Best
New

Posted by mipselaer 9 hours ago

TUI Studio – visual terminal UI design tool(tui.studio)
445 points | 251 comments
voidUpdate 5 hours ago|
If you're going to put a video demo on your main webpage, can it have play/pause and a control bar? So I can actually skip to a part I want to look at. Here's the actual video: https://tui.studio/screenshots/video.mp4.

Also, how does this handle terminal resizing? Are there options to anchor elements to the left/right etc, or will narrowing the terminal window just make everything fall off the side, or worse, all the text wraps?

sorenjan 4 hours ago|
You can right click on it and choose "Show controls", at least in Firefox.
voidUpdate 4 hours ago||
Oh, that's odd, it didn't show up on chrome when I first tried it, but it does now. I was wondering how they'd managed to hide the video context menu
stanac 4 hours ago||
It's probably just <video> element without "controls" attribute.

https://developer.mozilla.org/en-US/docs/Web/HTML/Reference/...

> controls

> If this attribute is present, the browser will offer controls to allow the user to control video playback, including volume, seeking, and pause/resume playback.

Edit: I misunderstood, you are asking

> how they'd managed to hide the video context menu

Not sure, but it works in FF for me

voidUpdate 4 hours ago|||
Its entirely possible I did something to it accidentally that made the context menu not work properly. I had the dev tools open to pull the actual video address when I right clicked, so I might have messed something up. Or maybe the devs are secretly looking at the comments and fixed it between me and you trying :P
sam1r 4 hours ago|||
It won't let me reply to parent's child comment, but i wanted to say:

That is what HN is for!

eterps 7 hours ago||
This is nonsensical, there is nothing textual about the UIs being shown here. It doesn't stop being a GUI if you have a 1:1 representation of the concept within character cells.

The UX actually matters, and TUIs are generally built for effectiveness and power (lazygit being an excellent example). But once you start adding mouse clickable tabs, buttons, checkboxes etc. you left the UX for TUIs behind and applied the UX expected for GUIs, it has become a GUI larping as a TUI.

moregrist 4 hours ago||
> But once you start adding mouse clickable tabs, buttons, checkboxes etc. you left the UX for TUIs behind and applied the UX expected for GUIs, it has become a GUI larping as a TUI.

Hard disagree. Borland TurboVision [0] was one of the greatest TUI toolkits of the DOS era, had all of these:

> Turbo Vision applications replicate the look and feel of these IDEs, including edit controls, list boxes, check boxes, radio buttons and menus, all of which have built-in mouse support.

Well, I can’t remember if it had tabs.

[0] https://en.wikipedia.org/wiki/Turbo_Vision

jksmith 3 hours ago||
Vasellating. TurboVision was awesome, but it was pushing the boundary of TUI, which in my mind was great for moving hard copy to computer entered use case. To wit, hard copy on your right side, you transfer data to app without looking at screen, but just looking at hard copy, remembering when/where to hit return key, maybe tab for prior field, stuff like that.

But hey, if the screen is drawn 24 x 80 with extended ascii, it's TUI. And man, loved the "absolute" keyword in turbo pascal. Instant screen writes when writing to a 2 dimensional array.

weinzierl 5 minutes ago||
I don't remember "absolute" but I sure do remember "gotoxy" and it rhymes with boxy, yeah, you won't convince me otherwise.
dec0dedab0de 5 hours ago|||
It's a TUI if it uses text to build those elements.

You can be effective and powerful in any kind of interface, Just like you can be ineffective and weak in any kind of interface. People like TUIs because they're cool, and work over SSH.

jvanderbot 5 hours ago|||
Yes. A TUI runs in a text session. A GUI runs in a graphics session. A terminal emulator emulates a text session in a graphics session - and allows you to run TUI/CLI tools. This is apparently controversial?
zabzonk 4 hours ago||
> TUI runs in a text session. A GUI runs in a graphics session

What do you mean by this? I have never heard these terms before. I can launch and interact with a GUI from a text application, or a text application from a GUI.

tracker1 3 hours ago|||
It makes far more sense in the context of effectively a remote session or dumb terminal serial connection. Your "terminal" application is only emulating a text mode environment inside a gui, typically... you can ctrl+alt+F2 - F5 in a lot of Liknux's to switch to a terminal session if you want, but that's not what people tend to actually use.

Beyond this, without remote X properly configured, again, most don't and probably shouldn't.. you aren't running remote gui applications over an SSH session. Richer TUIs were pretty common in ye old days of DOS and other OSes before rich GUIs become the norm. DOSShell, Edit.com, etc. The IDEs of days past and Word Perfect even. These all interacted with Mice and were considered the norm. The features that allow this over a remote terminal today are pretty great IMO, the harder part is properly handling window sizes/resizes, etc.

With graphical extensions, there are even nice app explorers with image previews via TUI. It pushes the boundaries. For that matter, I often wonder what could have come with RIPscrip/RIPTerm if the leap to web didn't happen the way it did...

I think the single hardest part of TUI is dealing with wide characters and secondary fonts for color emojii that don't quite render in 2 spaces completely in a lot of termianls... it makes the line drawing harder too.

nine_k 3 hours ago||
[flagged]
dwedge 1 hour ago||
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.
zahlman 1 hour ago||||
In the Linux world, your GUI is built on a stack of separate programs. At the bottom is the "display server", such as X11 or Wayland. One of these needs to run to have GUI windows (or a full-screen background) at all; otherwise the screen is just covered by 80x24 terminal, and even if there were mouse support there would be nowhere to click or drag to change that. Without the display server, you are in a "text session". It's relatively rare to do this locally nowadays, but Linux still adheres to the highly modular UNIX philosophy.

Your terminal windows (whether that's "Terminal" or "cmd.exe" or anything else) are still fundamentally graphical programs that emulate such a text session.

robotresearcher 3 hours ago||||
Is it character mapped, designed to run in a tty terminal? TUI.

Is it pixel or vector mapped, designed to run in a graphics terminal? GUI.

Of course strictly speaking TUI is a subset of possible graphical user interfaces, but the term GUI was coined to denote interfaces other than the already-ubiquitous text terminal interfaces.

TUIs have since absorbed GUI interface elements like buttons, checkboxes, and even pointer input, which I think is causing the terminology complaint here. Classical TUIs like Norton Commander are more about keyboard input and navigation. But being text-mapped is the identifying feature of a TUI, I think most people accept.

chrisshroba 4 hours ago||||
Sometimes your system doesn’t have a graphical session, like a raspberry pi with no x server running, or a cloud compute instance I’m ssh’ed into, or a docker image running on my laptop. Sometimes your system doesn’t have a (particularly usable) text system, like a work computer that disables the terminal or a family member’s MacBook who doesn’t have the time or space to install XCode terminal utilities to be able to use things like brew install.

My point is that it’s not a given that having one means you have the other.

TUIs are wonderful for the first case.

riquito 4 hours ago||||
Perhaps he's thinking about "console" / "display server" but the lines blur fast (e.g. you can run GUI in linux console with framebuffer with some limitations)

- https://en.wikipedia.org/wiki/Linux_console - https://en.wikipedia.org/wiki/Windowing_system#Display_serve...

dec0dedab0de 3 hours ago|||
It feels like a reference to DOS graphics mode.
reaperducer 5 hours ago|||
It's a TUI if it uses text to build those elements.

No. All you've done is make a low-resolution GUI.

drakythe 5 hours ago|||
TUI means "Terminal User Interface" or "Text User Interface"

A GUI that is built with Text, and intended to be used in a Terminal, is what a TUI is, colloquially AND definitionally.

What do you think qualifies as a TUI?

zahlman 1 hour ago|||
This is a pointless semantic argument.

Of course you can use the primitives of TUI, especially with mouse support, to reproduce a large amount (if not all) of the standard GUI interaction paradigms.

But it's bizarre, and missing the point from a UX perspective.

As an extreme example, we can imagine a program that displays the borders of a 40x15 "window" in the middle of a console, with box-drawing characters, putting a "close box" in an upper corner, with text like "File Edit Help" in the top left. We can imagine it responding to a click on the "File" text by popping out a "menu"; we can imagine a drag starting from the "title bar" causing the window position to be update (and the entire terminal window redrawn).

A lot of those kinds of functions, ironically enough, might make sense for a TUI editor implemented as a TUI (except the "windows" might just be understood as panels where the ultimate program displays parts of its output). But as an emulation of GUI windows, it'd be a strange, impractical novelty.

StableAlkyne 41 minutes ago||
What's with the purism? It's just a term used to differentiate one way of making a UI from another. Who cares about what is practical when you're just trying to give a thing a name.

Even in your example, it's pretty clear cut. If the window is built with text and served in a terminal emulator, it's a TUI. If you build it with a graphical framework that now needs X11 or whatever, it's a GUI.

This is just needlessly pedantic.

reaperducer 4 hours ago|||
I've been using TUIs since PR1MEOS mini-mainframes in the early 1980's, I know what I'm talking about.

The issue is not the text. It's the WIMP interface.

mikkupikku 3 hours ago||
Define TUI. I'm genuinely curious what it means in your context.
gambiter 5 hours ago||||
Yeah, that's the point. Why did you think you needed to say it?

It's a GUI that works over SSH. There is a very valid use case for that.

ralferoo 3 hours ago||
I assume his point is that making stuff that assumes a mouse makes for a bad text-based UI. Absolutely fine if everything is controllable via the keyboard, e.g. if the tabs were labelled F1-Fn and they function keys switched them, or they had an underlined letter and Ctrl+letter switched focus to it, or whatever.

But if this thing requires you to just tab a lot through lots of pointless and rarely used fields to get to a "button" so you can activate it, because it's really all designed to be used with a mouse, then it's a bad text-based UI.

There are some incredibly good text-based UIs around, some going back to mainframe stuff from the 70s. Most of them are optimised for speed of control via keyboard rather than for looking pretty. Almost none of them would be quicker to use with a mouse.

dec0dedab0de 3 hours ago||
absolutely, but it's still a TUI. Just like if you made a GUI that didn't have any mouse support and needed all keyboard shortcuts, it wouldn't stop being a GUI.
ralferoo 1 hour ago||
TBH I've always hated the backronym TUI anyway, so if TUI includes things that require mouse input, then maybe we can go back to using "text-based UI" for things that only require a keyboard like we used to 30 years ago.
jandrese 3 hours ago|||
Would you say old DOS applications like Borland's Turbo series of compilers were not TUIs? They ran in the console but had menus, mouse support, dialog boxes, etc...

How about those text games that used ASCII art and you typed in commands like "look" and "go north"?

I would say using text mode is the primary requirement for a TUI. The other requirement being some kind of human-machine connection, IE a User Interface.

PurpleRamen 5 hours ago|||
> there is nothing textual about the UIs being shown here.

Well, except:

> a 1:1 representation of the concept within character cells.

TUI is build from text, and living within its constraints and what it's engine (usually the terminal) allows. GUI is build from graphics, and has basically a pixel perfect control of its own. This is a very notable difference, especially at the time when these terms were coined.

> TUIs are generally built for effectiveness and power

No, this is a result of different architectures and their constraints.

> But once you start adding mouse clickable tabs, buttons, checkboxes etc. you

TUI and mouse are predating the GUI (more or less). We had them already 40-50 years ago at the dawn of interfaces. We are now just moving back to them for practical reasons.

sumnole 6 hours ago|||
The UIs are text only, so they are textual. Modern TUIs may support mouse events. That this tool can export to several TUI frameworks is evidence that these UIs are indeed TUIs, even if not the most traditional.
jmmv 5 hours ago|||
“Modern TUIs may support mouse events” hah! They already did in the 80s…
rob74 4 hours ago||
Yeah, remember good old Norton Commander (https://en.wikipedia.org/wiki/Norton_Commander) - not that newfangled clone Midnight Commander, the original? Or the Borland text mode IDEs (https://ilyabirman.net/meanwhile/all/ui-museum-turbo-pascal-...), complete with windows, menus, buttons, scroll bars, file dialogs etc. etc.?
jgilias 4 hours ago||
Oh boy, that sent me down the memory lane hard. I also had to Google “Volkov Commander”, as that name sprung to mind immediately too.
elxr 5 hours ago||||
> That this tool can export to several TUI frameworks

It clearly cannot. Have you even tested it?

papageek 5 hours ago||
This? Alpha notice: Code export is not functional yet. We're actively working on it — check back soon.
elxr 5 hours ago||
Exactly, don't know why people are acting like actually makes TUIs, it's just a rough mockup of a TUI for now, with a convoluted figma-like UI.

I guess the headline and website was enough to get all these upvotes. Quite disappointing as someone in the early stages of making a TUI tutorial myself.

tracker1 3 hours ago||
I've been juggling some BBS related projects myself that involve some TUI work over raw and web sockets that I've been working on... It's definitely a fascinating space and there's been a lot of relatively recent activity in the space.
elxr 3 hours ago||
> and there's been a lot of relatively recent activity in the space.

100 percent agree. I personally love what the openTUI folks have been up to. As weird as this might be to say, we're still in the early, early stage of TUI adoption.

jvanderbot 5 hours ago|||
No, a text-based UI is not sufficient. It must also work in a text-only session e.g., on the CLI over SSH.
627467 5 hours ago||
Do UIs exported from this tool not worknon CLI over SSH?
Trufa 5 hours ago|||
I think your comment is nonsensical.

Zellij among is a great example, I can do everything with my keyboard, but every now and them I'm already with the mouse and just click a tab or pane, no functionality lost, just added, why the need to make a cutoff philosophical/semantic hard argument?

h3lp 2 hours ago|||
Good insight, but if you discount the visual elements (tabs, buttons, etc), you're limiting TUI to CLI, and I think that's unwarranted. The value proposition of both TUI and GUI is two-fold: you see the available action options, and you see the effect of your actions. So, yes, TUI and GUI _are_ closely related: who cares whether we're displaying pixels or character blocks.

Unfortunately, they are often artificially differentiated by the style of the UX interaction: TUIs promote the keyboard actions, and GUIs prefer mouse without corresponding keyboard shortcuts. Unfortunately for GUIs, their designers are often so enamored with WIMP that they omit the keyboard shortcuts or make them awkward. I hate it when, even if the ACTION button is available by keyboard traversal at all, it requires some unknown number of widget traversals instead of being one tab away.

Since the keyboard is almost always used for the textual data, it makes sense to me to always enable it for command execution. Well designed GUIs and TUIs provide both WIMP and keyboard UX, which sadly is not the norm today, so here's my vote to make them larp for each other more.

criddell 5 hours ago|||
Would you make the same argument for classic UIs created with things like Borland's Turbo Vision framework? It's generally known as a TUI framework (including by Wikipedia).
JodieBenitez 4 hours ago|||
I like TUIs keyboard-centric. Mouse can be a plus, but it should never be necessary.
tracker1 3 hours ago||
That's fair... I feel that way about GUIs too in general though. Everything should be keyboard navigable and reasonable control flows. Tab and arrows, etc. Should be able to control focus and selection (enter).

I admit I don't always pay the most attention to it, as the UI components I tend to use do a good enough job of this. But I'm usually pretty consistent with it.

apitman 1 hour ago|||
People don't build TUIs because they want to run apps in the terminal, they build them because the terminal happens to be the most portable app platform available.
banach 7 hours ago|||
One justification for TUIs is remote access over SSH.
theowaway213456 6 hours ago|||
You can tunnel a port over SSH and get a web UI locally, though it's not commonly done. I feel like more people would actually do this if tunneling a port was just ever so slightly easier (like, you're already SSH'd into a box, then you run a command, then you somehow automatically get a tunnel for that command's UI port plus a local browser window open to the page)
jasongill 6 hours ago|||
While in an SSH session, press enter, then type tilde and capital C (enter ~C) and you can add command line options to the current session. To add a port forward from your local 8080 to the remote port 80 without closing the connection, do:

  enter ~C -L 8080:localhost:80
Tepix 3 hours ago|||
Thanks. This could really benefit from a TUI!
zimpenfish 5 hours ago||||
That is a neat trick. Added to the list.

(Ultimately unhelpful though because I use mosh everywhere these days and that doesn't appear to have anything fancy like this.)

dylan604 5 hours ago|||
Maybe it's just still too early in the morning yet, but what is the significance of hitting enter first?
jasongill 5 hours ago||
SSH expects the escape sequence (tilde) to be the first character on a new line; since backspace is sent as a character, you can't just backspace over something you've started typing and then press tilde to have it recognized.

Technically, you don't have to press enter if you've not typed anything (try it in a new SSH session - as soon as you are logged in, type ~? to get the SSH help output), but since the comment was about doing this during an active session without ending it, I figured noting that pressing enter first to be sure you're on a new line wouldn't hurt

yoz-y 5 hours ago||||
I like TUIs because I run everything in tmux and I can just pick up work from wherever I was on any computer, phone or tablet.
DesiLurker 4 hours ago||
share some good (easy on remembering keyboard & mouse) tmux configs. I usually struggle with copy pasting many scrollback lines from/to tmux. would love for my claude to be natively tmux aware.
wolvoleo 6 hours ago||||
I do this a lot but I'd still prefer TUI where possible. With too much visual content it isn't of course, but for many cases a TUI is much more responsive and much lower resource.
surajrmal 4 hours ago||
I largely agree with you, but there are limits to what a tui can do well. If analyzing a flame graph or performance trace, web UI is a better fit. However, most things are not that.
roywiggins 6 hours ago||||
Even easier is just using an X server, if you have it set up properly you just need to run the remote app and the window pops up on your machine.

(I think terminal-based GUIs are neat just for fluidity of use- you can pop one open during a terminal session and close it without switching to mouse or shifting your attention away from the terminal. They can also be a nice addon to a primarily CLI utility without introducing big dependencies)

wolvoleo 6 hours ago||
Yeah I love that about X. I remember in the 90s when I first figured that out. I was logged in from a university workstation into my home computer with SSH and I launched my mail client or something and I thought doh, stupid that will only popup locally.

Then colour my suprise when it popped up on my screen right there. Slow as molasses but still. Wow. Magic.

It's a shame Wayland dropped this. Yes I know there's waypipe but it's not the same.

coldpie 5 hours ago|||
> It's a shame Wayland dropped this.

It... really isn't. Like you said, remote X was barely usable even over an entirely local network. Most applications these days are also not designed for it, using loads of bitmap graphics instead of efficient, low-level primitives. So you end up being just one tiny step away from simply streaming a video of your windows. We have better tools for doing things remotely these days, there's a reason approximately no one has used remote X after the mid-90s. It's a neat party trick, but I don't blame the Wayland authors for not wanting to support it.

wolvoleo 3 hours ago|||
It is, there were tools like NX that made it entirely usable even latencywise. And these days we're really going more and more to remote computing.

In the time when wayland was invented it made sense because we did everything purely local. But now it's as outdated as X11 was in 2010.

And yes I still use it a lot. It works well. Networks have become a lot better and even most cloud compute I use is geographically nearby.

What made it slow back then was that I only had a 128kbit uplink at home. And the uni had 2 mbit for the whole computer science building :)

pseudalopex 59 minutes ago||
> In the time when wayland was invented it made sense because we did everything purely local.

People complained of no forwarding in Wayland when it was invented.

cbm-vic-20 4 hours ago||||
> one tiny step away from simply streaming a video of your windows

In the 80s/90s this wasn't feasible due to network latency and bandwidth, but it's pretty common now to do exactly this, with VNC and other remote desktop protocols.

duskdozer 5 hours ago|||
Like what? X forwarding has pretty much always been the thing most likely to work for me and I haven't been able to find any equivalent.
coldpie 5 hours ago|||
The big obvious one is web-based tooling. Your information & settings are stored on a server and you use a web browser to view it via whatever device you're on. For more locally based workflows, we have networked filesystem protocols, automatic syncing between systems, that kind of thing. It's not a 1-1 equivalent of running a remote program and viewing it locally obviously, but it gets the same job done, in a much more useful & flexible manner than X forwarding did.

For example, the remote mail client usecase I was replying to is simply done with a webmail client today.

duskdozer 4 hours ago||
I don't really feel like web interfaces or syncing are really a substitute tbh, and I'm not sure how they're more flexible. ssh -> run -> gui opens, and the program itself doesn't need to be designed differently to work
coldpie 4 hours ago||
> and I'm not sure how they're more flexible. ssh -> run -> gui opens

But this doesn't work on your phone, or on a Windows or macOS device, right? That's what I meant by flexible, X forwarding fits a pretty narrow set of usecases, while on the other hand keeping programs on the clients and data centrally located on a server allows for a whole lot more options for how to interface with that data.

(To be clear, nothing wrong with X forwarding! It's a cool tech and I'm glad you have a use for it! I'm just arguing that it's fine for Wayland to not try to support that kind of thing, because we've got other ways of working remotely now.)

pseudalopex 1 hour ago||
X servers are available for phones, Windows, and macOS. X interfaces not designed for phones can be difficult to use on phones. But web interfaces not designed for phones can be difficult to use on phones.

There is not a web tool for every use. And web tools are not better for every use.

tracker1 3 hours ago|||
IIRC, it's not that secure though.. I'm really surprised people didn't do more things like send animated skulls to people's desktops.
wolvoleo 3 minutes ago|||
Ps: oh yes and before '93 I've had so much fun practical joking around :)
wolvoleo 3 hours ago|||
Xauth fixed that way back in '93. All you have to do is use -Y not -X with SSH.
throwawaymobule 2 hours ago|||
Waypipe looks interesting.

The main advantage of x forwarding for me was when I'd randomly need it and had nothing set up ahead of time. Hopefully it starts getting installed in distros by default eventually.

marxisttemp 5 hours ago|||
I'd rather use a TUI than a web UI.
eterps 6 hours ago||||
Sure, but my point was that UX matters for TUIs. A TUI with a UX that fits its paradigm , again like lazygit, works great over SSH.
papageek 5 hours ago|||
Another justification could be simply some people like using them better.
jandrese 3 hours ago|||
I've been working with notcurses recently and it is a full TUI that handles mouse events just fine. Runs over slow SSH connections and everything. The nice part is that you can fully operate applications built on top of it with the keyboard if you so choose, the mouse is just a shortcut.

Sadly the project is not really in a usable state at the moment. The documentation is incomplete riddled with errors, the code has some pretty glaring bugs, and it's close to abandoned. It's a shame because you can do some really amazing stuff with it.

jhbadger 3 hours ago|||
You might not like this type of interface, but it is hardly "nonsensical". In the 1990s this sort of text-based GUI was common in DOS programs, such as Borland's "Turbo" languages and the original pre-Windows FoxPro.
injidup 5 hours ago|||
lazygit supports vim style keybindings and mouse click and scroll. I mostly use the key shortcuts but sometimes the mouse is useful. But i agree that a well thought out state machine that can be navigated through via keyboard is a dream to work with. Lazygit is superb. But this is not a distinction between TUI and GUI.
temporallobe 1 hour ago|||
Yes and no. Early DOS UIs had elements of TUIs and GUIs, and supported mice. Many old school greenscreen applications were like this too.
BoredomIsFun 3 hours ago|||
> But once you start adding mouse clickable tabs, buttons, checkboxes etc. you left the UX for TUIs behind and applied the UX expected for GUIs, it has become a GUI larping as a TUI.

TIL that VIM is not cease being TUI the moment I type :set mouse=a.

Hot taking, LARPing and teenage angst (caused by generational gap with those has been using TUI since 1980s) is on your side.

musebox35 4 hours ago|||
My ancient boxed copy of Visual Basic for DOS 1.0 that supported mouse clicks on TUI buttons would have found your viewpoint quite offensive if it had any AI in it ;-) Oh boy, good old days.
jvanderbot 5 hours ago|||
The distinction is - if it runs over ssh (no x / graphics login) or on a headless machine - TUI

If it requires graphics login, even if it uses character layouts - GUI

IMHO the T/G is not for the display elements, it's for the type of session.

tgv 4 hours ago||
Not to put too fine a point on it, but X11 runs over ssh just fine. No "graphics login" required.
cmrdporcupine 4 hours ago|||
Man, I've had so much frustrating just trying to copy & paste from inside a terminal running e.g. opencode or crush.

I think TUIs are neat, I guess. But I think these things have abused the concept extensively. They don't actually interact well with the rest of a Unix environment.

throwawaymobule 2 hours ago||
Hold down a key (alt, I think) to prevent clicks.
ram90 2 hours ago|||
This is exactly the kind of passive aggressive attitude that is tolerated on HN that makes this place unbearable.

"This is dumb" - gets downvoted to oblivion. "This is nonsensical + a bunch of absolutely bs reasoning" - second most upvoted comment atm.

HN tolerates the appearance of quality discourse over the actual thing, and dealing with this dissonance in most comment sections is exhausting.

ganelonhb 4 hours ago|||
Reddit moment!
whiteboardr 5 hours ago|||
As a german, I say:

UIUIUI

clickety_clack 6 hours ago|||
Drawing a “nonsense” line between TUIs and GUIs is pretty arbitrary, it’s all pixels on a screen at the end of the day. People like the TUI vibe, and that’s a good enough reason to make and use them.
tartoran 5 hours ago|||
I love TUIs but one main reason for that is that they're keyboard centric. If I have to use the mouse it kills it for me, if both work then it's fine. I hope that modern TUI makers keep this in mind. What's great about the keyboard centric is that with a few keystrokes/shortcuts it's very easy to do repeatable work and takes less energy than hunting boxes to click on with the mouse.
mikkupikku 3 hours ago||
TUIs aren't more inherently keyboard driven than well constructed GUIs. You can easily make a keyboard driven GUI that has all the shortcuts you'd add to a TUI. (Just don't let the "UX design experts" near it.)
eterps 5 hours ago|||
I actually agree with that. And I enjoy the fact that TUIs are becoming popular. But there is more to it than just the 'vibe'.
clickety_clack 5 hours ago||
The vibe might not be a necessary reason, but it is a sufficient one.
mikkupikku 6 hours ago||
[flagged]
eterps 6 hours ago||
If you think the 'mouse-clickable' aspect is bothering me, you missed my point entirely.
mikkupikku 3 hours ago|||
The only thing you actually managed to complain about was clickable tabs, buttons and checkboxes. Besides that, what it exactly do you object to, the design vibes? The only reason to be making a TUI in 2026 is as form of personal expression, so your preferred design vibes are no more valid than the OP's.
bonoboTP 5 hours ago||||
That's the only concrete thing you mentioned. By that criterion, htop isn't TUI.
vidarh 6 hours ago||
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.
zozbot234 4 hours ago||
> 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.

zahlman 1 hour ago|||
This seems really reductive. Some UI paradigms work better at 80x24 vs at 640x480 (never mind whatever resolutions we have access to today). Or rather, the 80x24 text grid is using more pixels than that, but everything is aligned to that lower resolution, and that fundamentally changes what makes sense to do. Floating windows that can be dragged around to arbitrary positions? Terrible for low-res; classic for higher res. Dividing lines that split the screen into panels, and can be moved around a row or column at a time with a keyboard shortcut? Pretty much the opposite (enthusiasts of "tiling WMs" might disagree).
m3kw9 3 hours ago|||
Didn't they evolve from that because better graphics was better? Otherwise why not stay text if there is a huge advantage in all Text made graphics?
duped 2 hours ago||
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.
jbstack 6 hours ago||
Interesting idea, but:

> Design once, generate production-ready code for your framework of choice. Switch targets without touching your design. Alpha notice: Code export is not functional yet. We're actively working on it — check back soon.

In other words, it isn't at all usable right now. You can't produce a TUI with it, not even a limited one.

cestith 5 hours ago|
You can still design the layout. That’s useful, but not nearly as useful as they are planning.
dymk 3 hours ago||
Why do you believe anything the site claims? It might all be hallucinations anyways, and others report not even being able to open the app.
cestith 1 hour ago||
The app certainly opened for me. I don’t know that I’d use it. Design and layout of an interface is useful apart from the implementation though.
stldev 4 hours ago||
Ignore the haters. This is an excellent idea, I'm getting some old Borland vibes. Keep it up, can't wait to see where it goes!
boca_honey 4 hours ago|
Ignore the haters, sure. But don't ignore the well argumented criticism that you're getting from an overwhelming majority of your peers, as it's happening right now.

>can't wait to see where it goes!

Fall into this toxic positivity nonsense at your own peril.

majkinetor 3 hours ago|||
Toxic positivity? At your own peril? OMFG.

Let's imagine one do. What do you think can actually happen that is so negative? Toxic TUI will hunt you in dreams?

dymk 3 hours ago|||
It doesn’t even exist, you’re getting excited for a hallucination.
mpalmer 3 hours ago|||

    Gatekeeper blocks the app immediately. You'll see either "TUIStudio cannot be opened because it is from an unidentified developer" or "TUIStudio is damaged and can't be opened" on newer macOS after quarantine flags the binary.
    To get past it: right-click the .app → Open → Open anyway — or go to System Settings → Privacy & Security → "Open Anyway".
A trusting, highly positive person could really be taken advantage of here.
BoredomIsFun 3 hours ago|||
"Majority of peers" has never experienced proper TUI in their life, and their opinion is hardly relevant.
zahlman 1 hour ago||
Apparently we now write desktop applications intended for designing the UI of other desktop applications, in TypeScript that runs in a Docker container, using a bunch of web frameworks (including for CSS) and self-hosting an nginx server?

I would have expected a TUI editor to be itself a TUI.

sunaookami 5 hours ago||
Vibe-coded trash, even says so in the Readme. Not sure why this gets voted to the frontpage.
bonoboTP 5 hours ago||
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.

sunaookami 4 hours ago|||
Way to read something into what I have never even wrote and try to spin it as something ideological. This is not "AI-assisted", it's completely vibe-coded by AI and the software doesn't even make sense since you can't export anything. It's just low-quality trash dumped on Hacker News and I'd argue this is not the place for it.
butlike 4 hours ago||||
It's not anything though. It's a website and electron app that promises functionality that completely isn't there. It's useless, but instead of being art, it promises functionality, so it's functionally trash.

I too remember running `rails new MyGreatApp` and having hoop dreams of being the next billionaire entrepreneur, but a boilerplate app is a boilerplate app.

slopinthebag 5 hours ago||||
Of course you can build great things with AI, but trash written by AI is worse than trash written by a human, and some things are just trash.
mghackerlady 4 hours ago||||
theres a difference between AI-assistance and vibe coding. One of them requires you to know what you're doing and make good design choices
mpalmer 3 hours ago|||

    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.

Opinions do not win by "high score". Asserting the validity of opinions based on how widely they are held is dumb.

If 30% of devs love openclaw, I'm not re-examining my informed opinion, I am forming a new one about that 30% cohort.

bonoboTP 2 hours ago||
That was a reaction to "Not sure why this gets voted to the frontpage.", not to any correctness claims.
spiffyk 4 hours ago||
Funny how you can tell a project is vibe-coded just from a first glance at its website. All these websites seem to somehow have the same visual style. Anyone noticed this?
duskdozer 4 hours ago|
Yep, my fans started revving as soon as I loaded it. Animations are out of control on the normal web as it is, but genAI sites take it to another level.
zahlman 1 hour ago|||
This is why I recommend NoScript.
choward 1 hour ago||||
Same, and it lags simply trying to scroll down the page. Unacceptable.
spiffyk 4 hours ago|||
That, too, though I'm sure that particular problem is mainly because of the textual animation in the background.
duskdozer 4 hours ago||
Yeah it was. I've been hoping to get the time to write a userscript to identify and stop animations like that, but I haven't been able to understand the whole requestAnimationFrame thing enough yet.
sabas123 6 hours ago||
What is the point of having this if code generation is not functional yet? That is the entire point of this app.
nick_ 2 hours ago||
TUIs are very in right now. Nostalgia/vintage-computin-aesthetics & guru-gatekeeping around command line savviness are front and centre in the HN-and-adjacent mindshare.
GalaxyNova 36 minutes ago||
It's strange. For decades we've been trying to move towards GUIs, now we're moving backwards.
moron4hire 6 hours ago||
To show off an AI generated website
rvz 5 hours ago||
Exactly.
evrenesat 44 minutes ago|
In this age, rich TUI's feels wrong to me. Tools that expose a minimal web server with a lightweight UI is much more welcome than a complex TUI. But for most interactive terminal apps, it feels more natural when there is a single input at a time, like a wizard interface.
More comments...