Top
Best
New

Posted by ckardaris 16 hours ago

GUIs should be fully keyboard-driven(ckardaris.com)
738 points | 368 commentspage 5
eichin 11 hours ago|
Back in the early 1990s, mice were fragile enough that Apollo salespeople were trained to be able to do their demos keyboard-only as backup (at least for tradeshows) and that was just generally how interfaces were built. It wasn't an accessibility thing, it was a "we're demoing expensive systems to even more expensive people, it had better work" thing...
gorjusborg 13 hours ago||
I love TUIs.

I move much faster when I don't have to take my hands off the keys to nudge the rat.

However, I don't think my preference for TUIs is about my efficiency. The most important reason I love TUIs is that they generally only have a base set of features needed to get the job done. Most GUIs go off the rails, implementing features for use cases few people have. TUIs tend to be small, fast, and focus on a small use case.

So even though I started out claiming I love TUIs, what I really love is small software: CLI > TUI > GUI.

111nation 13 hours ago|
Thats really true, small software thats easy to run, and launches instantly has a place in my heart as well. The get sh*t done centric workflow that TUIs offer is so unfortunately often lost in multiple layers of GUI controls...
KronisLV 11 hours ago||
I'll go one step further: anything you can do in a GUI should also be possible to do through a CLI and yes, also with code libraries. If webapps have n-tier architectures, then so should GUI software.

(we can lie and say that this is to support AI, in actuality it's to have proper programmatic automation and support for custom interfaces instead of GUI apps being black boxes)

aetherspawn 9 hours ago|
I agree but how does this work with stateful apps
KronisLV 7 hours ago||
Pass data around. Run a local HTTP server or any other type of socket, like how Docker does.
tommyage 12 hours ago||
A GUI is indeed superior to a TUI. And keyboard driven should be both. But neither is my preferred UI. I want CLI programs callable from my shell.

This way I can quickly repeat an action from the past. I get a history of commands inserted. _And_ I can bind my own keyboard shortcuts if necessary. TUI and GUI do not meet this level of platform independence.

If a tool is TUI only I will not adapt it. That's not the case with a GUI, though.

heikkilevanto 11 hours ago||
Keyboard driven is fine, when you have a keyboard. But many users are now on phones or tablets, with a severely limited keyboard that takes a big part of the screen. But they have a variety of gestures that regular desktop machines don't have. A good UI should happily handle both of these extremes, and everything in between.
alpaca128 8 hours ago|
Smartphones and tablets support keyboards, and often even have official ones to buy.
josht 8 hours ago||
I use Vimium [0] for this very reason -- highly recommend it! Although admittedly this only solves for a fully keyboard-driven _browser_ experience.

[0] https://vimium.github.io

walrus01 15 hours ago||
I have seen more GUIs these days that don't support even the bare minimum of using tab to cycle through various fields and selector buttons. Which as I recall was introduced in like windows 3.0.
kps 15 hours ago|
Or page up/down.
g3f32r 14 hours ago||
I'd posit that less than a half a percentage of users have used the page up/down keys in the last year.
aristofun 7 hours ago||
Modern Computer keyboard is one of the best and most brilliant piece of ui ever invented.

Far beyond mouse, stylus wich are themselves infinitely superior to touchscreen.

anotheraccount9 11 hours ago||
TUI, GUI.. we need a marriage of both, with configurable levels of integration, which controls to favour TUI or GUI. If it's well done, no need for a mouse, but nice and easy to have. Add to this a thin glove checking for certain movement patterns when the user is not typing and voice to set certain things - all at once.
danielvaughn 15 hours ago|
I've been on this kick for a long time. A few years ago I was exploring a UI design tool that was entirely keyboard-driven, using pneumonic keychords inspired by Vim: https://github.com/danielvaughn/stride

My experience is that while it's awesome to have really deep keyboard-driven experience, it can't _only_ be that. You need some graphical controls to help guide users.

ckardaris 14 hours ago|
Ideally you should have both. Every action should be doable by mouse only and by keyboard only. That way you can cater to all kinds of users.
More comments...