From: Ergus <spacibba@aol.com>
To: hw <hw@adminart.net>
Cc: Eli Zaretskii <eliz@gnu.org>, emacs-devel@gnu.org
Subject: Re: Some developement questions
Date: Thu, 23 Aug 2018 02:20:59 +0200 [thread overview]
Message-ID: <20180823002059.bcnz2mbrwqmzi2rn@Ergus> (raw)
In-Reply-To: <877ekigiiw.fsf@himinbjorg.adminart.net>
Hi:
When I asked about this I had in mind more or less what hd is proposing.
A simple config helper specially for newer users. I see for example what
Spacemacs does the first time I started it; and I thing it is a very
good approach for the new user. But I don't like the excess of
layers they added to the configurations after that; because it
that the configuration experience feels too different and
complicated.
On the other hand, if emacs starts without a config .emacs or init.el it
is a hint that probably is a new user or a new machine or a frequent
user in a hurry, time to configure everything. In this situations emacs
could ask if he wants some help to create a simple BUT personalized
configuration. **if yes** just start a dialog or interactive functions
calls that makes him some simple questions with comments about the
different choices. And then generate a basic init.el. Nothing more
complicated than that.
This could be useful not only because it can attract new emacs users
giving a better initial experience less intimidating (elisp seemed like
Sanskrit the first time I saw it), but also because the first time a new
user opens emacs he could get an idea about the potential without
needing to read a full manual to have line numbers, tutorial, google,
emacs wiki... Consider that many people come from limited editors, so
they don't even know that they can make much more with emacs.
Something like this could be useful because:
1) We could have some feedback about which options are most used and which packages are more suitable.
2) The default options and changes are not always properly documented or google gives older documentation for them.
3) Almost everybody changes some default options like C indentation, add packages, change colors or require some lisp lines which is
just too much for a user that wants probably to make his first hello world.
4) Many configurations available online like the availables on github are very complicated with many dependencies, with too many irrelevant details in some aspects; and the risk to become or being already abandoned. If its creator is a C programmer maybe he don't need to improve the python mode.
5) Newer users will start looking for ways to improve they modes in google and they will end coping random code from random places to their config, ending with a broken/useless/inefficient or deprecated configuration; which means a bad user experience and a potential migration to vim or something worst.
6) There are multiple packages that do exactly the same thing and it is sometimes very confusing to pick one (or even to know if we need it) because the documentation is obsolete or incomplete. Imagine newer users installing flycheck+flymake+company+autocomplete because they just read all the recommendations and they copy from here and there. But without irony or gtags o ctags they don't really get the experience they are really looking for. Or maybe the user needs a python mode and he will install jedi, and copy the config from someone with company... Or installing ivy+helm and not using any of them because he didn't configure. Or downloading some packages and installing them manually because the don't know we have a package manager and the wiki says "download from bla bla bla".
I thing we could even make like a survey or ask in the mailing list to the clients about what they include in their config usually. So we can know what to ask because is important, and what is not relevant in most of the cases. It is a good idea to ask what the actual users want to see in the next releases.
This is just my opinion. Sorry for the extension and not knowing how to write code for doing such a thing myself.
On Thu, Aug 23, 2018 at 12:17:11AM +0200, hw wrote:
>Eli Zaretskii <eliz@gnu.org> writes:
>
>>> From: hw <hw@adminart.net>
>>> Cc: spacibba@aol.com, emacs-devel@gnu.org
>>> Date: Wed, 22 Aug 2018 18:37:54 +0200
>>>
>>> > IMO, that would be too radical, because in an init file each option
>>> > already has a value. So we will have to decide for the users whether
>>> > or not they want certain options to have certain values. That might
>>> > work for boolean options, but many options in Emacs are non-boolean.
>>> > As just one example, consider display-line-numbers-mode -- it has
>>> > between 3 and 4 different styles, so which one would you put in the
>>> > .emacs?
>>>
>>> Use the values you would you put for the particular use case the file is
>>> designed for.
>>
>> They all are. The selection depends on user preferences and habits.
>>
>> [...]
>>
>>> They don�t need to do that. You offer them to use one of the
>>> configurations in the LaTeX group for working with LaTeX and to use one
>>> of the configurations in the C++ group when writing C++ source code, and
>>> so on.
>>
>> We already have that: each mode file includes options for that mode.
>> What will we gain by having another file with those same options?
>
>The gain would be that the user can pick between *sets* of settings,
>guided by a description of what each set does. He doesn't need to
>concern himself with any particular setting to figure out if changing it
>brings him closer to what he wants, and then experiment with the next
>and the next and the next until he tried all the ones he could find.
>That kind of learning can come later.
>
>I think I see your point to assume that the defaults are good and to
>present the user with the individual settings and to let him learn and
>make his own decisions because everyone is too different to do anything
>else. That's great when the new user uses Emacs because he wants to
>learn how to use it, and it might not be so good when he wants to use
>Emacs to get some work done while the defaults happen not to be good for
>him: Even better when he can simply switch to a set of settings that
>helps him with his work without having to go through all the trial and
>error otherwise needed to get there.
>
>Does that make sense?
>
next prev parent reply other threads:[~2018-08-23 0:20 UTC|newest]
Thread overview: 216+ messages / expand[flat|nested] mbox.gz Atom feed top
[not found] <444779489.8504194.1534538988289.ref@mail.yahoo.com>
2018-08-17 20:49 ` Some developement questions Ergus
2018-08-18 6:21 ` Eli Zaretskii
2018-08-22 12:34 ` hw
2018-08-22 14:45 ` Eli Zaretskii
2018-08-22 16:37 ` hw
2018-08-22 17:31 ` Eli Zaretskii
2018-08-22 22:17 ` hw
2018-08-23 0:20 ` Ergus [this message]
2018-08-23 10:50 ` hw
2018-08-23 16:33 ` Ergus
2018-08-23 14:20 ` Eli Zaretskii
2018-08-23 8:26 ` Pierre Neidhardt
2018-08-23 14:04 ` Eli Zaretskii
2018-08-24 1:00 ` hw
2018-08-24 9:04 ` Eli Zaretskii
2018-08-25 0:45 ` Ergus
2018-08-26 12:46 ` hw
2018-08-25 1:31 ` hw
2018-08-25 7:35 ` Alexis
2018-08-25 10:34 ` Ergus
2018-08-25 16:11 ` Radon Rosborough
2018-08-25 16:20 ` Eli Zaretskii
2018-08-25 20:34 ` Ergus
2018-08-26 2:41 ` Eli Zaretskii
2018-08-26 1:24 ` Radon Rosborough
2018-08-25 20:50 ` Ergus
2018-08-26 1:33 ` hw
2018-08-26 14:37 ` Eli Zaretskii
2018-08-26 22:51 ` hw
2018-08-27 14:45 ` Eli Zaretskii
2018-08-28 20:42 ` hw
2018-08-29 6:59 ` Michael Albinus
2018-08-29 20:10 ` hw
2018-08-31 13:16 ` Michael Albinus
2018-09-01 17:53 ` hw
2018-09-03 13:35 ` Michael Albinus
2018-09-04 14:06 ` hw
2018-08-29 15:11 ` Eli Zaretskii
2018-08-29 20:52 ` hw
2018-08-29 22:12 ` Filipp Gunbin
2018-08-30 23:49 ` hw
2018-09-03 18:56 ` Filipp Gunbin
2018-09-04 14:16 ` hw
2018-09-04 19:47 ` Filipp Gunbin
2018-09-05 20:36 ` hw
2018-09-06 1:33 ` Michael Heerdegen
2018-09-06 5:16 ` Drew Adams
2018-09-06 5:29 ` Michael Heerdegen
2018-09-06 13:52 ` Eli Zaretskii
[not found] ` <<831sa6ybqu.fsf@gnu.org>
2018-09-06 14:30 ` Drew Adams
2018-09-07 7:03 ` hw
2018-09-06 13:48 ` Eli Zaretskii
2018-09-07 7:01 ` hw
2018-09-06 18:15 ` Filipp Gunbin
2018-09-07 7:18 ` hw
2018-09-07 14:10 ` Filipp Gunbin
2018-09-07 21:27 ` hw
2018-09-10 12:29 ` Filipp Gunbin
2018-09-10 18:18 ` hw
2018-09-11 9:51 ` Filipp Gunbin
2018-09-11 20:14 ` hw
2018-09-12 1:18 ` Filipp Gunbin
2018-08-30 2:12 ` Davis Herring
2018-09-01 17:40 ` hw
2018-09-01 19:41 ` Joshua Branson
2018-09-02 15:07 ` hw
2018-09-02 18:23 ` Ergus
2018-09-04 15:21 ` hw
2018-09-04 20:57 ` Ergus
2018-09-05 21:48 ` hw
2018-09-01 22:13 ` Phil Sainty
2018-09-02 15:39 ` hw
2018-09-02 22:01 ` Juri Linkov
2018-09-03 7:30 ` martin rudalics
2018-09-04 15:35 ` hw
2018-09-04 16:44 ` Eli Zaretskii
2018-09-05 22:21 ` hw
2018-09-03 7:29 ` martin rudalics
2018-09-01 22:30 ` Drew Adams
2018-09-02 16:02 ` hw
2018-09-02 17:50 ` Ergus
2018-08-30 13:44 ` Eli Zaretskii
2018-08-31 0:40 ` hw
2018-09-01 18:47 ` Eli Zaretskii
2018-09-02 16:27 ` hw
2018-09-02 17:12 ` Eli Zaretskii
2018-09-04 15:43 ` hw
2018-09-04 16:46 ` Eli Zaretskii
2018-09-05 22:40 ` hw
2018-08-30 23:30 ` Radon Rosborough
2018-09-01 18:25 ` hw
2018-09-02 19:05 ` Radon Rosborough
2018-09-02 20:42 ` Basil L. Contovounesios
2018-09-03 2:37 ` Radon Rosborough
2018-09-04 15:57 ` hw
2018-08-26 20:41 ` Richard Stallman
2018-08-27 2:33 ` Eli Zaretskii
2018-08-27 22:51 ` Richard Stallman
2018-08-27 17:11 ` Filipp Gunbin
2018-08-28 3:41 ` Ergus
2018-08-26 13:06 ` hw
2018-08-27 2:18 ` Ergus
2018-08-25 8:19 ` Eli Zaretskii
2018-08-26 14:25 ` Noam Postavsky
2018-08-26 15:52 ` hw
2018-08-26 16:23 ` Stefan Monnier
2018-08-27 4:59 ` hw
2018-08-27 1:54 ` Ergus
2018-08-27 14:46 ` Eli Zaretskii
2018-08-28 21:26 ` Richard Stallman
2018-08-29 15:39 ` Phillip Lord
2018-09-01 13:59 ` Eli Zaretskii
2018-09-02 3:11 ` Richard Stallman
2018-09-02 17:52 ` Ergus
2018-09-04 15:20 ` Phillip Lord
2018-09-04 13:07 ` Phillip Lord
2018-09-05 6:26 ` Richard Stallman
2018-09-06 0:29 ` hw
2018-09-07 6:39 ` Richard Stallman
2018-09-07 8:01 ` hw
2018-09-07 10:26 ` Phil Sainty
2018-09-07 14:00 ` Stefan Monnier
2018-09-07 14:20 ` Eli Zaretskii
2018-09-07 16:00 ` Drew Adams
[not found] ` <<83zhwttmm7.fsf@gnu.org>
2018-09-07 16:03 ` Drew Adams
2018-09-07 14:15 ` hw
2018-09-07 15:34 ` Phil Sainty
2018-09-07 21:03 ` hw
2018-09-07 15:52 ` Drew Adams
2018-09-08 5:13 ` Richard Stallman
2018-09-08 13:02 ` hw
2018-09-08 16:19 ` Eli Zaretskii
2018-09-08 23:23 ` hw
2018-09-09 5:29 ` Eli Zaretskii
2018-09-10 9:35 ` hw
2018-09-10 12:37 ` Eli Zaretskii
2018-09-10 19:27 ` hw
2018-09-10 13:52 ` Phillip Lord
2018-09-09 6:07 ` Richard Stallman
2018-09-09 6:07 ` Richard Stallman
2018-09-09 6:23 ` Eli Zaretskii
2018-09-09 17:18 ` Ergus
2018-09-10 11:59 ` hw
2018-09-10 12:40 ` Eli Zaretskii
2018-09-10 19:48 ` hw
2018-09-11 7:07 ` Eli Zaretskii
2018-09-11 20:31 ` hw
2018-09-06 13:59 ` Phillip Lord
2018-09-04 12:58 ` Phillip Lord
2018-09-04 16:30 ` hw
2018-09-04 19:13 ` Paul Eggert
2018-09-04 20:11 ` Drew Adams
2018-09-04 20:31 ` Paul Eggert
2018-09-06 12:32 ` Phillip Lord
2018-09-06 14:25 ` Drew Adams
2018-09-04 21:14 ` Ergus
2018-09-05 2:40 ` Eli Zaretskii
2018-09-05 6:29 ` Paul Eggert
2018-09-05 7:59 ` Joost Kremers
2018-09-05 15:27 ` Eli Zaretskii
2018-09-09 20:07 ` Joost Kremers
2018-09-09 20:10 ` Eli Zaretskii
2018-09-10 5:16 ` Yuri Khan
2018-09-10 7:30 ` Eli Zaretskii
2018-09-10 8:26 ` Yuri Khan
2018-09-10 12:06 ` hw
2018-09-10 12:44 ` Michael Albinus
2018-09-10 14:57 ` Yuri Khan
2018-09-10 19:58 ` hw
2018-09-11 6:31 ` Yuri Khan
2018-09-11 20:37 ` hw
2018-09-10 12:52 ` Eli Zaretskii
2018-09-06 1:11 ` hw
2018-09-06 1:41 ` Ergus
2018-09-07 8:11 ` hw
2018-09-06 12:29 ` Phillip Lord
2018-09-06 14:24 ` Drew Adams
2018-09-06 14:36 ` Eli Zaretskii
2018-09-07 6:39 ` Richard Stallman
2018-09-07 8:25 ` hw
2018-09-07 9:34 ` Eli Zaretskii
2018-09-07 13:22 ` hw
2018-09-07 14:48 ` Eli Zaretskii
2018-09-07 16:34 ` Drew Adams
2018-09-07 21:29 ` hw
2018-09-08 6:21 ` Eli Zaretskii
2018-09-08 13:12 ` hw
2018-09-08 16:17 ` Eli Zaretskii
2018-09-10 11:52 ` hw
2018-09-10 12:35 ` Eli Zaretskii
2018-09-10 20:04 ` hw
2018-09-08 17:00 ` Charles A. Roelli
2018-09-08 23:02 ` Juri Linkov
2018-09-10 6:47 ` hw
2018-09-10 14:13 ` Drew Adams
[not found] ` <<87mussp1zu.fsf@toy.adminart.net>
[not found] ` <<m2a7or53gj.fsf@aurox.ch>
2018-09-09 2:09 ` Drew Adams
2018-09-09 23:05 ` Drew Adams
2018-09-07 15:26 ` Drew Adams
2018-09-07 21:53 ` hw
2018-09-07 22:52 ` Drew Adams
[not found] ` <<83r2i6wv4v.fsf@gnu.org>
2018-09-06 14:56 ` Drew Adams
2018-09-06 18:38 ` Eli Zaretskii
2018-09-06 19:27 ` Clément Pit-Claudel
2018-09-06 19:49 ` Eli Zaretskii
[not found] ` <<83k1nywjwv.fsf@gnu.org>
2018-09-06 23:47 ` Drew Adams
2018-09-07 6:36 ` Eli Zaretskii
2018-09-07 8:16 ` hw
2018-09-04 20:38 ` Ergus
2018-09-06 12:58 ` Phillip Lord
2018-09-07 8:45 ` hw
2018-09-03 22:15 ` debounce (was: Some developement questions) Juri Linkov
[not found] <196033312.7709403.1534426446299.ref@mail.yahoo.com>
2018-08-16 13:34 ` Some developement questions Ergus
2018-08-16 14:15 ` Eli Zaretskii
2018-08-16 14:38 ` Aurélien Aptel
2018-08-16 15:28 ` Andy Moreton
2018-08-16 17:25 ` Eli Zaretskii
[not found] <<87sh36inql.fsf@himinbjorg.adminart.net>
[not found] <<8336v6cvem.fsf@gnu.org>
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20180823002059.bcnz2mbrwqmzi2rn@Ergus \
--to=spacibba@aol.com \
--cc=eliz@gnu.org \
--cc=emacs-devel@gnu.org \
--cc=hw@adminart.net \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
Code repositories for project(s) associated with this external index
https://git.savannah.gnu.org/cgit/emacs.git
https://git.savannah.gnu.org/cgit/emacs/org-mode.git
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.