[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: GNU Emacs raison d'etre
From: |
Karl Fogel |
Subject: |
Re: GNU Emacs raison d'etre |
Date: |
Wed, 13 May 2020 23:56:01 -0500 |
User-agent: |
Gnus/5.13 (Gnus v5.13) Emacs/28.0.50 (gnu/linux) |
On 14 May 2020, Dmitry Gutov wrote:
>Yes, the tradeoff is somewhere in there, but my problem with the
>conclusion is that it would be really easy to misapply your principle
>(e.g. by saying we don't need fancier buttons, even though we probably
>do, or that the Getting Started guide is good enough and doesn't need
>improvement, and someone should go work on specialized Org-mode docs
>instead).
>
>Making good use of it seems difficult.
Any guiding principle can be misused, but that doesn't make it useless.
The particular misuses you cite above are speculative -- no one's actually
saying those things, as far as I'm aware.
In a reply to Christopher Lemmer Webber just now [1], I got a little bit more
specific:
> If we just say "Emacs should be easier for newcomers to learn",
> that's not a useful rallying cry IMHO. If we say instead "Emacs
> should try to attract newcomers who have a higher-than-average
> probability of becoming high-investment users, and should explain
> early on to those newcomers what the road ahead looks like", *then*
> we have a high-level guiding principle we can actually use.
So there's some concrete guidance about *how* we might seek to improve the
Getting Started guide (and other things like the Emacs web site, starter
videos, etc):
* Tell newcomers up front that Emacs really starts to be worth it after a few
years, not a few weeks. Set expectations right from the start.
* Show them some of the abilities they will eventually have, so that they can
see why it's worth it to make the investment.
* Also tell them about the ways in which Emacs may frustrate them along the
way, and explain that those frustrations are common and are sometimes
inevitably entangled with the same things that make Emacs winning in the long
term.
I find it fairly easy to come up with ways in which this principle would
provide guidance in certain decisions. I could try to list more of those ways,
if it would be helpful, but I just don't want to get into a sub-discussion
about each such example. It's meant to be a high-level principle, after all.
Ultimately, I personally find it helpful in thinking about how to teach Emacs
and how to write packages. Here is the principle, reworded slightly after a
suggestion from H. Dieter Wilhelm:
"GNU Emacs's raison d'être is to be the text manipulation environment that best
rewards sustained user investment."
Apparently some other people here find it useful as well. You might or might
not be one of them, but I can at least promise you that I'll never use this
principle to make bad suggestions about ways in which Emacs should be made
unfriendly to newcomers :-).
>The kind of person who *could* make a better judgment in this area is
>someone who specializes on UX. And they are rare guests around here.
More UX expertise would always help, naturally, but those of us who are here
are not wholly ignorant of the field either, nor of the questions and tradeoffs
that need to be dealt with.
>Are you sure that this particular aspect is _bad_ for new users, though?
Yes. I am sure.
I've taught Emacs to a lot of people -- scores of them, at least; I don't keep
track, but the sample size is large enough to be beyond merely anecdotal at
this point. I've watched newcomers run into the same obstacles over and over,
and this particular obstacle is always one of the first they encounter.
>Nobody likes to stretch they hand too far. But I'll grant you
>this point, that Emacs is *somewhat* on the side of high-investment
>here.
>
>This part is expected of a professional tool, however, and the
>experience for newcomers could be improved without taking away much
>from the "oldies". See the 'transient' package, for example, recently
>proposed for inclusion on emacs-devel.
I don't have any experience using 'transient', so I'd need more explanation
from you to understand what you meant by that part. (I tried to understand
'transient' from reading [2] and [3], but unfortunately -- and somewhat
surprisingly! -- the documentation at those pages does not give a single
concrete example of transient's use.)
However, your assertion that "the experience for newcomers could be improved
without taking away much from the 'oldies'" is exactly what I'm arguing is not
true. I actually think we can't (much) improve this particular part of the
experience for newcomers without taking away one of the things about Emacs that
most rewards investment.
The newcomers who eventually *do* become experts do so in part by first
stumbling across new commands accidentally (in that crowded keybinding space)
and then using help tools like `C-h l' to see what they just did. So one of
the things we should prioritize is teaching newcomers how important those help
facilities are and how to use them in a smart way. I'm specifically saying
that this is *more important for Emacs than it is for other editors*. Sure,
users of (say) the Atom editor should eventually know how to use the built-in
help there too. But it's a difference in prioritization: for Emacs users,
using that built-in help is more important than it would be in other editors,
and the methods and circumstances of using the help are different too. So we
should incorporate that fact into how we present Emacs to new users.
(Again, this is from at least some experience. The users I've taught who have
gone on to become proficient Emacs users are ones who invested very early in
learning the various help facilities and when to use them.)
>Some of them, probably. At this point, I think, there are still a lot
>of decisions that would bring us closer to newcomer-friendliness while
>keeping no worse high-investment compatibility.
That could be true, though I'm a bit more skeptical than you are. In any case,
it does not make the principle inoperative; it is consistent with the principle.
I believe we'll make better decisions if we keep in mind that "friendly to
newcomers" is not, in itself, the primary goal.
>I'm glad that we both like LSP, or at least the idea of it.
>
>But it seems these days almost everybody wants it, except for MS Word
>and Notepad users.
Yes. High-investment users, however, see more possibilities from LSP than
low-investment users do -- they'll go farther with it.
>There are certain aspects where LSP is not exactly perfect: the
>functionality it allows is limited by the protocol, and by LSP servers
>available currently. It's an "ecosystem amplifier", or maybe an
>equalizer even.
>
>I mean, it for sure is great, not to be lagging in language support
>for a whole number of languages where we did before. But there are
>different protocols that allow more powerful extensibility. nREPL, for
>example.
Ah, that's a technical question about the suitability of LSP for a particular
problem space, and I'm not well-informed enough to have a useful opinion there.
If you say nREPL, I'm not going to argue! :-)
Best regards,
-Karl
[1] https://lists.gnu.org/archive/html/emacs-devel/2020-05/msg01893.html
From: Karl Fogel <address@hidden>
To: Christopher Lemmer Webber <address@hidden>
Cc: ndame <address@hidden>, Emacs developers <address@hidden>
Subject: Re: What is the most useful potential feature which Emacs lacks?
Date: Wed, 13 May 2020 23:08:04 -0500
Message-ID: <address@hidden>
[2] https://github.com/magit/transient/blob/master/lisp/transient.el
[3] https://emacsair.me/2019/02/14/transient-0.1/
- Re: (emacs) Intro [was: Making Emacs popular again with a video], (continued)
- Re: (emacs) Intro [was: Making Emacs popular again with a video], Richard Stallman, 2020/05/14
- Re: (emacs) Intro [was: Making Emacs popular again with a video], Andreas Röhler, 2020/05/15
- GNU Emacs raison d'etre, excalamus, 2020/05/12
- Re: GNU Emacs raison d'etre, Karl Fogel, 2020/05/13
- RE: GNU Emacs raison d'etre, Drew Adams, 2020/05/13
- Re: GNU Emacs raison d'etre, Andreas Röhler, 2020/05/13
- Re: GNU Emacs raison d'etre, Karl Fogel, 2020/05/13
- Re: GNU Emacs raison d'etre, Dmitry Gutov, 2020/05/13
- Re: GNU Emacs raison d'etre, Karl Fogel, 2020/05/13
- Re: GNU Emacs raison d'etre, Dmitry Gutov, 2020/05/13
- Re: GNU Emacs raison d'etre,
Karl Fogel <=
- RE: GNU Emacs raison d'etre, Drew Adams, 2020/05/14
- Re: GNU Emacs raison d'etre, excalamus, 2020/05/14
- Re: GNU Emacs raison d'etre, Richard Stallman, 2020/05/14
- Re: GNU Emacs raison d'etre, Karl Fogel, 2020/05/15
- Re: GNU Emacs raison d'etre, Arthur Miller, 2020/05/15
- Re: GNU Emacs raison d'etre, Dmitry Gutov, 2020/05/15
- RE: GNU Emacs raison d'etre, Drew Adams, 2020/05/15
- Re: GNU Emacs raison d'etre, Karl Fogel, 2020/05/20
- RE: GNU Emacs raison d'etre, Drew Adams, 2020/05/20
- Re: GNU Emacs raison d'etre, Karl Fogel, 2020/05/20