4 ms·
Thanks for working on these "casual" Emacs packages. I've long thought it is lamentable that we mostly have two kinds of UIs: * Those designed for power user s
by pkkm 2y ago
Thanks for working on these "casual" Emacs packages. I've long thought it is lamentable that we mostly have two kinds of UIs:
* Those designed for power user speed, with seemingly little regard to novice-friendliness (e.g. bash, tar, find, Emacs calc, Vim).
* Those designed for novice-friendliness and aesthetics, with seemingly little regard to power user speed (many GUI programs, almost all websites, almost all phone apps).
It feels like we're very far from the Pareto frontier, and I wish more people thought explicitly in terms of getting closer to that frontier - that is, "how can we maximize novice-friendliness under the constraint of not lowering the speed ceiling even a bit". I think this could be done through some combination of autocompletion, cheatsheets that pop up automatically, and consistency between programs.
Magit-like UIs are a happy exception to the rule. Their speed ceiling is very high because they're completely keyboard-driven and have no animations, but their discoverability is good because they constantly pop up little cheatsheets of what keys you can press to trigger actions. I was able to start using Magit almost immediately after installing it, and learn it gradually without looking at external resources. Now I fly through the common operations on muscle memory, and it feels like it took no effort to get there. I hope that more programs copy this UI paradigm.
- agumonkey 2y agoMagit should be the subject of a book about progressive derivative UX enhancement, and even passive pedagogy. Often tarsius and the team managed to make you curious and try ideas, like selecting a range of lines and hope staging would only stage it and not the whole diff range. You don't even make an effort cause it's one key down and one key to undo on case it's not what you expect. It's cozy to the point of brilliance.
- nickdrozd 2y agoWell said. The Magit interface is such a pleasure to use, sometimes I will modify and rearrange commits just for fun. A Magit-style interface for Calc seems like a great idea.
- kickingvegas 2y agoWhile I didn't submit this link to HN, I wrote the OP. Thanks for the compliment on Casual! It's been an exercise in re-litigating my user experience with Emacs this Summer, which I've decided early on to share publicly. For folks interested learning more about the Casual packages, here's a link to Casual Suite (https://github.com/kickingvegas/casual-suite https://github.com/kickingvegas/casual-suite). At my blog you can find all my posts on the different Casual packages. http://yummymelon.com/devnull/ http://yummymelon.com/devnull/
- nickdrozd 2y agoLooking at some of these screenshots, this is such a fantastic idea that it is surprising it wasn't done earlier. Magit has the perfect interface, why shouldn't everything be like that? Who wants to read the Info manual anyway? Info, Dired, Calc, obviously. Org mode, of course. Maybe other people have been working separately on similar ideas? Really it is extremely obvious in retrospect that everything should have a Magit style interface. Ultimately, it would be great if that were the default, generally assumed style throughout Emacs. It would be great if all that effort could be coordinated and merged into the main distribution. Built-in, no external packages.
- davisr 2y agoMy opinion is that your ideas of "user friendliness" are misguided. I think a better way to phrase what you're trying to say is that, there is a class of software that have user manuals and require a flip-through, and there is a class of software that locks its users into predefined tracks so they can only ever pick from the choices presented to them. I don't think there is anything unfriendly about needing a manual. If only all software could be so thoroughly documented! It used to be, back in the 80s and 90s, and it was a better time. I mean, isn't it a disservice to, in an analogy, give a user a kayak without a paddle? In the 1970s, secretaries who had not used computers found it easy to use Emacs and program in LISP. [1] And I, personally, was a voracious reader of software manuals when I was a small child. And they made the world make sense, and they made me a smarter person for it. And I really do believe that people waste more of their lives picking ill-suited preset choices than they would if they (could have) just read a manual. [1]: https://www.gnu.org/gnu/rms-lisp.en.html https://www.gnu.org/gnu/rms-lisp.en.html
- gumby 2y agoI think you misunderstood what rms said there (but if the transcript is accurate, he was unclear). Yes, Multics Emacs was the one used by secretaries (except at AI & LCS where they used TECO EMACS on ITS). In both cases most of the extending by non-programmers was done with macros (`c-X (` which is still that command today). Multics Emacs had an excellent design and you could in fact write some very simple functions with a copy-and-modify rote approach (nothing wrong with that!). But beyond that I never met one whom one could describe as knowing Lisp. In fact most would have been intimidated if you'd told them that they could improve the editor by "programming". This "programming is impossibly hard for a person like me" attitude was a bad cultural property of the 1970s, thankfully now somewhat in the past. But that change depended on direct work on the problem by people like Seymour Papert and Cynthia Solomon in the LOGO lab (part of the AI lab). Excel is a great (in volume and reach) example of this: many people write very complex and sophisticated programs in Excel and still don't believe they can program. Now Python is embedded in Excel some people can be tricked into writing real programs. And, presumably, tricked into running sophisticated malware!
- 2y ago
- rssoconnor 2y agoNew spacemacs user here. When I'm on the magit pane (SPC g s) what commands are available to me and how am I supposed to know? I know I can do 'p' to enter a push menu and 'r' will give me a rebase menu, but that's pretty much all I know.
- kragen 2y agotry the ? key
- struanr 2y agoIf you press '?' in the magit window a popup of available commads should appear. If I remember correctly from when I used to use DOOM emacs before switching to vanilla, evil (vi emulation) keybingings mean the keys listed in the magit popup are incorrect, however it should give you an idea of what commands are available and you can use other Emacs help facilities to find the Spacemacs keybindings.
- eviks 2y agoThe best UI is for a cheat sheet to pop up after a delay, so you can proceed without a delay if you know, but also not have to press anything else if you don't know, just wait a bit. Does https://github.com/justbur/emacs-which-key https://github.com/justbur/emacs-which-key not work with spacemacs?
- ashton314 2y ago> Magit-like UIs… speed ceiling is very high because they're completely keyboard-driven and have no animations, but their discoverability is good because they constantly pop up little cheatsheets of what keys you can press to trigger actions. This is the kernel of brilliance: there is zero slowdown when using Magit if you're proficient. Easy for beginners to start exploring (it's a very discoverable UI!) and there's little to nothing to do for experts to start using it faster. Sure, there are some things you can tweak, but the interface is already so geared towards efficient use that it just works as-is. I'm very happy that the `transient` package has been merged into Emacs; hopefully we'll see more like Magit and Casual popping up in the future.
- Ferret7446 2y agoAm I crazy, or is this how most computer UIs worked before modern GUIs? IIUC most/many POS systems still work like this.
- kickingvegas 2y agoYou're not wrong. Building a TUI is basically the same as mainframe forms programming.