Top
Best
New

Posted by ckardaris 17 hours ago

GUIs should be fully keyboard-driven(ckardaris.com)
757 points | 381 commentspage 6
danielvaughn 16 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 15 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.
anotheraccount9 12 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.
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.

sujee 8 hours ago||
yes totally agree. I build macOS apps and found out that not every apps support this. One of the reason people buy my file search app https://www.fileminutes.com/ is, it is fully keyboard driven. I'm trying the same with my new AI chat app https://www.vinaa.ai/
kixiQu 15 hours ago||
I really like this kind of thing but I wish there were more tutorials to help get good with keyboard shortcuts. vimtutor was lifesaving
az09mugen 14 hours ago|
My take in this case is to learn incrementally. Like the pebbles in the shoe, I remove the more painful one first (the shortcut for the action I do the most), get used to it, then remove next more painful., and so on. Usually I begin to get a little comfortable with 4 or 5 shortcuts.
keriati1 15 hours ago||
A few years back I started to try to use my computer by not touching the mouse. Ended up writing a bunch of Tampermonkey scripts for my most used web pages to add fast keyboard navigation shortcuts.

Also a lot of webpages have it already built in, by pressing "?" they show a nice overlay. For example github and gmail have it.

For github I still ended up adding a quite a few more shortcuts.

ckardaris 15 hours ago|
You can always take it to the next level by using an extension like vimium[1].

[1]: https://github.com/philc/vimium/

keriati1 14 hours ago||
Yes I tried it for a while, it can be nice.
yipinwong 14 hours ago||
> The takeaway is simple. Do not compromise on the user experience you provide with your application

Same thing I hear from everyone.

"You can't compromise on UX" - UX experts.

"You can't compromise on security" - Security experts.

"You can't compromise on Accessibility" - a11y experts.

We gotta make trade-offs, and I gotta get my thing shipped (for me I learn toward security for my service)

ckardaris 14 hours ago||
You are right. Maybe the wording is a little too absolute. If you gotta ship and later try to slowly address any shortcomings in different areas, this is also a step in the right direction in my opinion. Just don't completely forget about those areas just because you have already shipped by that point.
Rygian 14 hours ago|||
> We gotta make trade-offs

You could compromise on not-shipping-before-it's-ready.

deathanatos 14 hours ago|||
Or even the original premise of agile, which was to iterate on it. But "iterate" these days means "onwards to the next feature that we'll only drive to MVP", not, "polish & fix bugs" or … do things like enhanced UI for power users.
bitwize 14 hours ago|||
Not if you have a deadline.
doubleorseven 12 hours ago||
this is absolutely not true since December 2025. the amount of "nice to have" items I've been commanding LLM to develop is a dream come true.

while being better at QAing i finally get the time to work on the things that got me into programming in the first place, which in the point where human interact with the machine.

arjie 16 hours ago||
The one UI invention many web UIs now add is the universal command search bar. I’m most familiar from it from Jetbrains IDEs where it’s been for over a decade and it is a remarkable upgrade on browsing menus. With the KeyPromoter extension on I even learned the keyboard shortcut over time. Good UI pattern and now this universal command search is everywhere: Cloudflare, Mercury, etc.

Love it.

cosmic_cheese 16 hours ago|
Similarly, under macOS in most apps ⌘⇧/ opens a full menubar search which can surface most app functionality from the keyboard. Not quite as good as a command palette but close, and devs don't need to do anything to opt in except populate the app's menus properly.
arjie 15 hours ago||
Well TIL. Great tip. I only ever hit that key combination when I look around Finder and find myself unable to go up one level easily from the icon bar - an action I do constantly.
escot 16 hours ago||
I think we should also be finding ways to make things keyboard-driven that currently require a mouse. My side project is a keyboard centric flowchart editor which tries to merge the two between something typically 2D with pixel coordinates (normal flowchart software) and fitting it into a grid that has discrete coords so you can navigate with arrow keys.
6thbit 12 hours ago|
Shortcat.app fills some of this gap.

I still haven't found generic solutions to selecting and copy-pasting text using the keyboard only though, when the text is not in a textbox/area.

I had used a vim-like plugin in firefox that let you do that somewhat, but nothing OS level.

estetlinus 12 hours ago|
Something like this?

https://www.homerow.app/

More comments...