Remix.run Logo
arichard123 19 hours ago

I remember using a TUI for a Bank in the UK, and them switching to a web-based javascript system. Because the TUI forced keyboard interaction everyone was quick, and we could all fly through the screens finding what we wanted. One benefit was each screen was a fixed size and there was no scroll, so when you pressed the right incantation the answer you wanted appeared in the same portion of the screen every time. You didn't have to hunt for the right place to look. You pressed the keys, which were buffered, looked to the appropriate part of the screen and more often than not the information you required appeared as you looked.

Moving to a web based system meant we all had to use mice and spend our days moving them to the correct button on the page all the time. It added hours and hours to the processing.

Bring back the TUI!

bdavisx 19 hours ago | parent | next [-]

A GUI can be as effective as a TUI if it's designed to be 100% usable from a keyboard - the problem is very few applications take the time to do that design.

conductr 18 hours ago | parent | next [-]

Maybe in some cases. But largely, no, it really is not comparable. These TUI interfaces literally had 0 latency for any action. You could paste in text (from clipboard), with \t characters, and it would advance the input focus and could fill out an entire form with once paste action. There's a ton of real world cases where the browser is just too heavy to keep up with fast paced data entry.

I've never once seen an experienced user equal or gain efficiency when switching. It's always a loss even after months of acclimation.

andix 18 hours ago | parent | next [-]

It's totally possible to get this done with a web based SPA. Just get rid of all the fancy design, images, gradients, animations, and so on, and just focus on usability.

The management needs to pick the right concept though, not the one with pretty and playful screenshots, but the one that focuses on the right KPIs (the 20 most common user flows need to take less than x seconds for an average user).

conductr 18 hours ago | parent | next [-]

I was just giving some examples, it being theoretically possible in SPA isn't really helpful given that nobody will implement it that way. You're basically living in theory.

I've literally done the before and after on this a handful of times and it's always worse off. Management will never do that, it's always design by committee, the KPIs won't be defined or will never really have teeth, it will turn into someone's vanity project, they won't even pay someone to optimize the code - quite the opposite, they'll choose to build it on something like Salesforce or some other very non-performant enterprise-y platform, etc, etc. All the TUI get these performance gains out of the box without much additional effort. The constraints of the UI are it's strength as it prevents people from adding all this bloat in the first place. When you leave it up to people, especially business users or UX folks, it will get spoiled. It's almost a law.

andix 18 hours ago | parent [-]

> nobody will implement it that way

This is not true. Smart companies do it exactly that way. It saves them a lot of money.

saulpw 17 hours ago | parent | next [-]

I've never seen a smart company then.

lo_zamoyski 17 hours ago | parent | prev [-]

I have a hard time believing this. The medium impacts interaction.

Do you have concrete examples in mind that we can review?

andix 17 hours ago | parent [-]

The things I've worked on were custom tools for internal use. Built on top of existing systems, to improve productivity for specific workflows.

noir_lord 18 hours ago | parent | prev | next [-]

Possible yes but there are properties of a TUI vs a GUI where the TUI encourages faster keyboard navigation because when they were common there was only keyboard navigation whereas a GUI comes with it's own upsides (discoverability been the big one).

When I was in college (many years ago) the company I worked for used a TUI for its inventory/back office systems (terminal emulator talking to an AS/400) and once you understood the hierarchical structure and how it worked you could fly through that system because it was all keyboard nav.

Few GUI's have ever been that fast for me even the ones that go out of their way to make everything accessible via the GUI bindable.

andix 18 hours ago | parent [-]

The real issue is, that modern UX design is often too focused on pretty looks, instead of productivity. It's still possible to make a highly productive UI look pretty, but the priority is often completely wrong.

They shouldn't start from a few pretty figma sketches and then try to make them more usable. They should start from user flows, solve how the users can do certain things with maximum productivity, easy navigation, showing the right data together on the same screen, and so on. Only in the end make it pretty.

hulitu 17 hours ago | parent [-]

> The real issue is, that modern UX design is often too focused on pretty looks,

It may be pretty but it makes me puke.

The "modern UX design" is based on layers upon layers of abstraction and "cheap" interfaces. Which one is the button ? Where is the scrollbar ?

hgamaral 17 hours ago | parent | prev | next [-]

> It's totally possible to get this done with a web based SPA.

Yeah, I guess I could say that before I tried rebinding ctrl-w and some of the Fx keys (like F12).

andix 17 hours ago | parent [-]

Sure, in a browser you can't use all the shortcuts, but still a lot. If you really need it, just wrap it in Electron, Tauri, or any other customizable browser.

1718627440 13 hours ago | parent | prev | next [-]

You can sure do that, but you are basically implementing a terminal in a website.

andix 12 hours ago | parent [-]

Lol, no. You can still use different font sizes, traditional controls that can also be used with a mouse (for people who don't know the shortcuts yet). Also images are possible where they make sense.

While using very common web development stacks a lot of developers know how to deal with.

1718627440 12 hours ago | parent [-]

I give you different font sizes, but a mouse and images are available in the Terminal as well.

I think the fancy new terminals also allow you to change the font.

hulitu 17 hours ago | parent | prev [-]

> It's totally possible to get this done with a web based SPA.

Sending http response, waiting for reply. Http 200 ok

and so on and so forth. Web sucks. Of course, you can have something like Jira, bur still sucks.

maccard 18 hours ago | parent | prev | next [-]

My experience has always been that TUIs and Terminal emulators these days have massive snags with how they handle control codes and inputs. Pasting into a terminal is a crapshoot of “what on earth is it going to spew back at me”.

It’s perfectly possible to handle large amounts of data by copy and paste on a web browser, you just have to actually support it.

1313ed01 16 hours ago | parent | prev [-]

That is not unique to TUIs, but also possible in GUIs where the developers care, and in some games (try the GUI ("tiles") version of Brogue). You can definitely make a GUI that updates in an instant and be fully keyboard-driven, even if that may have been more common last century.

bryanlarsen 18 hours ago | parent | prev | next [-]

The other thing that a TUI generally does that a GUI doesn't is that it lets you type ahead, you can drive it without looking at the screen.

Most GUI's make you wait for the form to appear before you can type into it. That totally destroys the flow of operators.

There are GUI's that are properly designed to be keyboard driven and to allow type-ahead. Those can be truly best-of-both-worlds. Too bad they're so rare.

dartharva 16 hours ago | parent | prev | next [-]

A large fraction of the entire point of a GUI is not being keyboard-centric.

throw_a_grenade 16 hours ago | parent | prev [-]

How do I implement type-ahead in Qt or GTK application?

GrinningFool 14 hours ago | parent [-]

Not specifically for those but I have to assume the pattern would work: you could intercept the keystrokes in a parent window or an overlay, then forward them to the correct child window once it's rendered.

1718627440 13 hours ago | parent [-]

So you implement a rendering system and an input queue on top of a drawing region. Sounds like you are implementing a Terminal emulator.

gadders an hour ago | parent | prev | next [-]

I remember seeing how past people were in 1-2-3 for DOS using the / menu back in the 90's.

andix 18 hours ago | parent | prev | next [-]

Sounds like the UX designers for the new applications didn't understand the requirements. I worked on two web app projects that required to be usable fast and with keyboards only. It's not that hard, if you define the requirements right.

Also no scrolling was a requirement. This was done by defining a min and max screen resolution, and designing everything exactly for that. The app was supposed to be used exclusively full screen, so no need for responsive design.

The result was a bit like a video game, very few loading delays and instant responses to user input.

conductr 18 hours ago | parent | prev | next [-]

I was making this argument in early 2000s, how the "upgrade" would kill efficiency - and it largely did for data entry. I did this swap in medical industry and finance industry and it landed on deaf ears all the time in the name of modernization. Actually, feels like I'm reliving it right now with AI.

fluoridation 18 hours ago | parent | prev | next [-]

Devil's advocate: There is one thing GUIs do better than TUIs: international text. Try to present on the same terminal screen text in Arabic and Japanese.

wpm 16 hours ago | parent | next [-]

Actual terminal-based TUIs sure, they have small character sets burned into ROM, sized for 50-years-ago prices.

Modern terminals, even the text-based console on a fresh minimal Arch linux install, is going to support Unicode probably without a ton of issues as long as you have a font installed that has the characters. The struggle then for RTL or non-Latin character sets and languages is making the UI fit the words in a way that makes sense.

fluoridation 15 hours ago | parent [-]

Yes, you can spend an inordinate amount of time figuring out how to lay out multilingual text on a terminal, or just use Cairo or some toolkit and let solved problems stay solved.

1718627440 12 hours ago | parent | prev | next [-]

Just use gettext? The strings might vary in sizes, but when you are comfortable with the text resolution of the GUI, just set your Terminal to the same resolution and that problem is the same.

dardeaup 18 hours ago | parent | prev | next [-]

Yes, I'm quite sure that's true in most cases.

FWIW, dBASE IV version 1.5 does support Japanese for date format. It's one of the options for 'SET DATE' command.

fluoridation 18 hours ago | parent [-]

Isn't that just the order of the date components for I/O? It's still just ASCII characters.

Rizz 15 hours ago | parent | next [-]

But the past didn't use ASCII as such, but extended character sets, or multiple characters sets, which did allow for Russian, German, etc. text interfaces.

dardeaup 17 hours ago | parent | prev [-]

Yes! I was just pointing it out to show that they had at least thought of Japanese users (in some small way).

anthk 12 hours ago | parent | prev [-]

Not an issue with modern terminals and Unifont.

fluoridation 10 hours ago | parent [-]

You are underestimating the complexity of laying out multilingual text.

anthk 2 hours ago | parent [-]

Enough to read Japanese under Unicode. Arabic might be more difficult but a native might read it in a hurry at least.

thwarted 17 hours ago | parent | prev | next [-]

Acquiring the skill to fly through such interfaces is equivalent to learning to play a musical instrument, where the desired attention (taking cues) and action (body/finger movement) becomes second nature. Such skill and interfaces are, unfortunately, not viewed as similarly valued as playing a musical instrument, and such visual presentation of the TUI is thought to be "difficult" to use, and they do take learning and effort to achieve that level of mastery. Meanwhile, the interface to traditional musical instruments, while there's been some changes and improvements, have stood the test of time and remain attractive to a lot people who want to make music. Many of the claimed "improvements" that GUI interfaces have over TUIs look in some cases, to me, like busy box toys created for toddlers (this is how I feel about the Windows Ribbon menu widgets). Once something becomes second nature, it's not "I'm putting my fingers in this position" it is "I want to play an A after this series of other notes".

BryanA 17 hours ago | parent | prev | next [-]

I experienced the same thing. The big Brokerage firm I worked for in the 90s had amazing TUIs. You could fly through the screens. They even had DMs and group chats. Pretty amazing. The next company I worked for was rolling-out a GUI replacement for their TUI interface and I watched people's productivity plummet as they went from keyboard, to mouse for every text box... Those old mainframe TUIs were amazing, probably the result of decades of time and motion studies.

supportengineer 15 hours ago | parent [-]

Back then people probably got promoted for such things.

Now they get promoted for changing things to appease MBAs and giving their boss something to talk about to their boss.

America has fallen, and we can't get back up.

HPsquared 18 hours ago | parent | prev [-]

TUIs have a high speed ceiling when muscle memory comes into play.