Live data from Hacker News

GUIs should be fully keyboard-driven

ckardaris.com

411–420 of 510 posts

Re: GUIs should be fully keyboard-driven

#411
I haven't seen this mentioned, but... let's talk for a moment about testing automation, and what pain it is to test GUI programs that are mouse-first... It is coincidental, but, in reality, it's pretty much a given, that a program that can be controlled through keyboard will be a lot easier to automate (not only for testing) because of the choice.

A typical way of doing things in a GUI program is to handle "events". The framework arranges for event delivery. The event has properties s.a. what UI element registered it and the sort of mouse action performed, and the handler code specializes on that combination to take the (hopefully) intended action.

When it comes to testing, in order to emulate such events, one would have to calculate the location of the element that "registered" the desired event in order to trigger the desired functionality. This is usually very hard to do because elements change their positions on screen, it can depend on screen resolution, display style of scrollbars and so on.

Another problem with the event-driven model is that it's typically asynchronous. The automation code has no good way of telling when the action associated with the even should take place, or, rather, when it should finish taking place, to assess the results.

Typically, programs controlled through keyboard expose functions associated with desired functionality (because they need to bind something to the key). The test automation then can call these functions instead of emulating events. The detection of the moment when the action finished execution thus becomes trivial.

Re: GUIs should be fully keyboard-driven

#412

Power user experience is not the same thing as user experience in general. If you want to make the argument that all developer tooling should be keyboard-driven, fine, be my guest. But most people aren't willing to deal with the learning curve of keyboard-driven GUIs, and that's okay. We shouldn't force it. HN's insistence on acting like all users are Arch Linux efficiency perfectionist hacker types is painfully corn…

Where this falls apart is commercial software. The issue is we use off-the-shelf frameworks and tools for commercial software. And then we don't train developers on how to write high-volume software. Commercial software is THE power user use case. Your users will be using your software 8 hours a day, 5 days a week, for years. And still, the software is obtuse point-and-click garbage. Meanwhile commercial software fro…

> …and that means that users can input and navigate at light speed.

Oh yeah? I remember when they introduced these shitty animations that made everything feel extremely laggy.

From the article linked below:

"Microsoft Excel now animates certain actions as you work. For instance, when you move from one cell to another, it animates the move. When you paste copied information, it animates the paste. Or when you enter a formula, it animates the calculation."

https://www.adventuresincre.com/disable-animations-excel/

Re: GUIs should be fully keyboard-driven

#413

Earlier quoted context omitted.

>democracy, per se, includes minority protections (i. e. if it doesn't then it isn't a democracy to begin with). Democracy has nothing to do with minority protections. I don't understand you can say it per se includes minority protections. Democracy includes whatever enough people think it should include. If people don't want such protections then there is no need for them. If a democratic society does not want to li…

> Democracy has nothing to do with minority protections . [...] Democracy includes whatever enough people [italized by me] think it should include. If people don't want such protections then there is no need for them. You just proved my point by demonstrating your utter ignorance of the topic: Your three sentences encapsulate the textbook definition of ochlocracy (or laocracy), i. e. mob rule. Which, as already outli…

>Your three sentences encapsulate the textbook definition of ochlocracy (or laocracy)

The textbook definition of ochlocracy is a small group of people taking justice into their own hands. That is not what I described in my post where I explained how they can come up with rules and processes and how to deal with things as opposed to having a mob deal with it.

Re: GUIs should be fully keyboard-driven

#415

Earlier quoted context omitted.

> Democracy has nothing to do with minority protections . [...] Democracy includes whatever enough people [italized by me] think it should include. If people don't want such protections then there is no need for them. You just proved my point by demonstrating your utter ignorance of the topic: Your three sentences encapsulate the textbook definition of ochlocracy (or laocracy), i. e. mob rule. Which, as already outli…

>Your three sentences encapsulate the textbook definition of ochlocracy (or laocracy) The textbook definition of ochlocracy is a small group of people taking justice into their own hands. That is not what I described in my post where I explained how they can come up with rules and processes and how to deal with things as opposed to having a mob deal with it.

> The textbook definition of ochlocracy is a small group of people taking justice into their own hands.

No, that's not the textbook definition.

That exchange has sadly run its course for me for I have no interest in reading tedious counterfactual clichés, especially not ones outside the scope of the thread's actual topic. One can only hope you embark on that suggested reading journey to better understand the emergence and evolution of (modern) democracy.

Good luck!

Re: GUIs should be fully keyboard-driven

#416
post #88

What does it mean though for a GUI to be keyboard-driven? The obvious way is that every action simply gets a shortcut assigned. My counter would be that that is not really keyboard-driven, but merely keyboard-compatible.There is the issue of discoverability. The best practice right now seems to display the shortcuts of buttons in tooltips, menu items, or when pressing a different shortcut. I’d content that buttons ar…

Demoscene music tracker interfaces come to mind.

https://news.ycombinator.com/item?id=49093434

Re: GUIs should be fully keyboard-driven

#418
post #342

Earlier quoted context omitted.

In the context of discussing TUI vs GUI (as the article does), the accessibility and keyboard control balance probably swings very strongly to native GUIs; in a TUI you’re at the whim of the TUI framework’s stabs at accessibility support, while on a full fledged native UI you have all the bells and whistles of focus management and text to speech and voice control and high contrast and magnification and motion adjustm…

There's TUI and there's CLI. TUI has always been poor man's GUI, back in the day it was even literally called GUI. CLI on the other hand has zero similarities with GUI. You write the command and the command executes and that's it. Writing commands is inherently the most accessible form of controlling computers, second only to dedicated single-purpose buttons that don't mesh well with this whole "general purpose compu…

> Writing commands is inherently the most accessible form of controlling computers

Not if you don't know enough of the commands and have to research every one you need, and it's for a problem you likely won't encounter again. Oh, and you have to do this without breaking anything. To say this can slow a person down is a dramatic understatement.

There is a reason menus were invented very early on in computing history, well before 1970.

Re: GUIs should be fully keyboard-driven

#420
Funny that they mention Gnome. Whenever I happen to use a Gnome application, opening and saving files via keyboard is a major PITA. One can navigate via tabs, but some controls are skipped and those that are selectable do not show this clearly on-screen.
Post reply on HN