GUIs should be fully keyboard-driven
The post responds to an earlier Hacker News submission that urged developers to stop building terminal user interfaces (TUIs) and focus on graphical user interfaces (GUIs) instead, a piece that reached the HN front page and drew a long comment debate. The author, ckardaris, says he sees merit on both sides: in theory GUI frameworks can do everything TUIs can and more, but as a heavy terminal user he also values TUIs that let him stay in the terminal for everything he needs.
What he objects to is a specific counter-argument raised repeatedly in the comments: that TUIs should be preferred simply because they are keyboard-driven. He grants the premise, that a randomly picked TUI is more likely than a randomly picked GUI to be fully operable from the keyboard, but rejects the conclusion. In his view that fact says nothing about whether developers should build TUIs over GUIs; it only exposes how poorly many GUI applications currently handle keyboard navigation. Nothing about the GUI paradigm itself prevents full keyboard control, he argues, and it can in principle match or exceed a TUI on that front.
As support he cites the GNOME Human Interface Guidelines, which state that every action a user can perform with a pointing device should also be possible from the keyboard, and that a user should be able to move around and interact with every part of the interface using only the keyboard. He says this principle resonates with him as a user: an application he can navigate intuitively and predictably with just the keyboard earns his preference over alternatives that cannot.
He applies the same standard to his own work. For Klisi, which he describes as his first GUI application, he says he spent time implementing keyboard shortcuts covering the application's full range of actions. His closing point is that full keyboard navigation is achievable in most cases without much difficulty and produces a better overall user experience, so for him it comes down to developer will rather than technical feasibility, and should not be skipped when building a GUI.
Key facts
- The post responds to an earlier Hacker News submission arguing developers should stop building TUIs and focus on GUIs, which drew a long comment debate.
- The author, ckardaris, rejects the specific comment-section argument that TUIs are preferable simply because they tend to be more keyboard-driven than GUIs.
- He argues nothing in the GUI paradigm prevents full keyboard navigation, and cites the GNOME Human Interface Guidelines, which call for every action and every part of an interface to be reachable by keyboard as well as by pointing device.
- He says he applied this standard to Klisi, described as his first GUI application, by adding keyboard shortcuts covering its full range of actions.
- His conclusion is that full keyboard support is usually achievable without much difficulty and depends on developer will rather than technical feasibility.
Why it matters
The piece pushes back on a framing that treats TUIs and GUIs as opposed camps, one keyboard-friendly and one not. The author argues the real gap is a failure of execution in many GUI applications rather than a limitation of the GUI paradigm itself, and points to an existing standard, the GNOME Human Interface Guidelines, as proof that full keyboard support has already been specified as a goal for GUI development.
Who it affects
GUI application developers who want their software to compete with terminal tools on usability, and users who prefer navigating software by keyboard rather than reaching for a mouse. The author writes from both positions: as a heavy terminal user weighing TUIs against GUIs, and as the developer of Klisi, his own GUI application.
How to use it
The concrete example is the GNOME Human Interface Guidelines: every action available via a pointing device should also be available via the keyboard, and the whole interface should be navigable by keyboard alone. The author says he applied this to Klisi by implementing keyboard shortcuts covering its full range of actions, though the source does not describe what Klisi does as an application.
How solid is it
This is an opinion piece, not a study. The claim that TUIs are more often keyboard-driven than GUIs is asserted as a general impression rather than backed by measurement, and the source gives no data on how common full keyboard support actually is across GUI or TUI applications. The argument rests on one cited guideline document and the author's own experience building Klisi.
Risks and caveats
The source does not name the author of the original Hacker News post being responded to, nor which commenters made the paraphrased argument the author disagrees with. It also does not identify other GUI frameworks beyond GNOME with similar keyboard-navigation guidelines, offering GNOME only as one example. The author separately notes that mouse dexterity remains preferable, or even required, for some tasks even in a fully keyboard-navigable GUI.
“Keyboard navigation is not that hard to achieve in most cases and results in an overall better user experience. It is not a matter of feasibility, but a matter of will on the application developer's part.”
— ckardaris, in the blog post