Comment by bdavisx
9 hours ago
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.
9 hours ago
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.
4 replies →
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.
2 replies →
You can sure do that, but you are basically implementing a terminal in a website.
2 replies →
> 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).
1 reply →
> 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.
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.
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.
A large fraction of the entire point of a GUI is not being keyboard-centric.
How do I implement type-ahead in Qt or GTK application?
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.
So you implement a rendering system and an input queue on top of a drawing region. Sounds like you are implementing a Terminal emulator.