logoalt Hacker News

jeroenhdyesterday at 7:56 AM7 repliesview on HN

TUIs run on any OS with minor patches to support quirks, GUI frameworks need a lot of work. TUIs don't need to follow any OS guidelines, cross-platform GUIs always look bad outside of the "main" platform.

If you're only targeting macOS/Windows/Gnome/KDE then the solution is easy: just grab a GUI control set and go ham.

Then there's remote access: you can spawn an X11 app through X forwarding and have a terrible laggy experience on Linux, you can use RemoteApps on Windows to have a good remote experience (but almost no other platform), you can use VNC to have an awful cross-platform experience, or you can use a TUI and have all the graphs and interactivity you need over a responsive, low-bandwidth connection on any combination of client+server.


Replies

the__alchemistyesterday at 2:32 PM

> TUIs run on any OS with minor patches to support quirks, GUI frameworks need a lot of work. TUIs don't need to follow any OS guidelines, cross-platform GUIs always look bad outside of the "main" platform.

Have you tried to write a GUI program lately? I suspect things may have changed. I can write one using Qt, EGUI, etc (Or many other options), and it will just work on Windows, Mac, Linux/Wayland, and Linux/X.

Basically, you write your application on top of a GUI framework that smooths over OS differences for you.

show 2 replies
zbentleyyesterday at 3:16 PM

That ubiquity is the reason for the limitations of terminals/TUIs discussed in grandparent. Those two are not separable: they’re everywhere precisely because they target the lowest, oldest common denominator (teletype console behavior assumptions from the 1960s).

I expanded on this point nearby: https://news.ycombinator.com/item?id=49400697

pwdisswordfishqyesterday at 8:59 AM

> I think the answer to this is probably to throw all that compatibility mess away

> TUIs run on any OS with minor patches to support quirks

So, which one is it?

show 1 reply
messhyesterday at 2:55 PM

Html has also some of these properties, targeting the browser. Don't get me wrong. I do like TUIs, they are light weight and compose very nicely with the rest of the terminal (eg tmux). Also, i generally prefer just cli commands over tuis when possible.

eviksyesterday at 11:33 AM

> TUIs don't need to follow any OS guidelines, cross-platform GUIs always look bad outside of the "main" platform.

TUIs look bad everywhere, so that's strictly worse

show 1 reply
psychoslaveyesterday at 12:47 PM

There is not much difference between a TUI and a GUI once the premise is "let's start from scatch all other again for each applications". Sure then there is no guideline that comes between idea and implementation. But there is also no built-in accessibility, UX best-practices and many specificity of handling a vast experience of building something stable over a large period of time with many feedback from many different scenario.

wiseowiseyesterday at 8:43 AM

> TUIs don't need to follow any OS guidelines, cross-platform GUIs always look bad outside of the "main" platform.

So because TUIs look universally bad, they're better than cross-platform GUI?

show 2 replies