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.
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.
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.
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).
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.
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.
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.
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.
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.
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.
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.
We’re comparing TUI with web browsers for good reason. I don’t see any reason to add game engines to that debate. I have never seen a business client move any application from a TUI to a Unity based UI. I’ve never even heard of anyone considering a game engine in the architecture of a business application. So what you’re saying may well be true but it’s akin to a rare mythical creature, does it even exist?
That was not what I tried to say. Brogue, like other similar games, can be played in a TUI mode, in the terminal, or with a GUI. Same game, just different UI implementations, and both tend to be about equally laggy, or usually the GUI version is probably less laggy, since you can just blit glyphs without the overhead of terminal escape codes etc to draw the same symbols in the TUI. And Brogue just uses SDL, not a game engine, so that is not relevant at all.
But your snarky reply is probably also wrong anyway, since I would be surprised if there is no business software made using game engines. Tesla is known to have used (but not anymore?) Godot for making GUIs for their in-car displays for instance. I have bought applications (not games) made using both Godot and Unity. Not saying it would be a great idea, in general, to use those engines for business applications, but people are not known for always using the best possible tools, are they, and it certainly would work in theory?
Not very familiar with Unity, but Godot has very nice GUI widgets. Same style of WYSIWYG editor like old Visual Basic or Delphi really. You drag widgets to place them on the screen, set properties, add scripts to react to different events. The entire Godot IDE itself, a very non-trivial application, is implemented using Godot's own GUI framework.
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.
No, that's only the Steve Jobs view. You might be grappling with Discoverability.
When IT was trying to sell everyone on WIMP GUI, the standard was WordPerfect. There, you had to memorize the functions of the F1-F12 keys, as well as their shifted (or Control) behavior. The only sure thing was that F1 was HELP.
We were looking for something better--but having no keyboard was the opposite extreme.
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.
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".
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.
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.
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.
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.
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.
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.
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.
And yet, as I read manuals from the 1970s-80s, I see a lot of money was made by minicomputer vendors whose operating systems were sold with multi-lingual character sets. Even Japanese.
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.
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!