emacs-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: Making Emacs more friendly to newcomers


From: Sébastien Gendre
Subject: Re: Making Emacs more friendly to newcomers
Date: Mon, 20 Apr 2020 00:44:40 +0200
User-agent: Evolution 3.36.1 (3.36.1-1.fc32)

# Re: Making Emacs more friendly to newcomers

Based on some suggestions on this topic, and some personal
reflections, I have a suggestion. (Sorry, I didn't read all messages,
maybe someone had already suggest the same thing)

Let's see some use-cases:
- Bob: A newcomer, who just discover Emacs. He search somthing who is
  visually modern, with all features he need to start writing code in
  most popular languages: Code colouration, auto-completion, code
  navigation, code documentation and functions/methods signature
  automatically shown, code errors/warnings signalling, REPL
  integration, snippets, strong GIT integration, etc. He also want to
  use basic features without the need to read a tutorial. Just install
  and go. But he is ok to read some tuto or manuals for advanced
  features. If we ask him question(s) about what to enable or not, he
  probably cannot respond (or thing he cannot). For him, Emacs need to
  be the most out of the box possible.
- Alice: A long time user. She got a personal Emacs configuration she
  had perfected over the years. She chose herself what system is used
  to show function completion, which code parser is used for her daily
  used languages. She add some packages to integrate with special
  tools used at her work. Emacs is her home and office: She use it as
  much for her personal project than for her work. She also made a
  personal workflow with org-mode and write some personal Elisp
  functions and advices. She forge the tools to her need. She do not
  want to have an update of Emacs who break her configuration, her
  workflow or her muscle memory.
- Mei: She simply want to use SpaceEmacs. She need to be sure
  SpaceEmacs would work out of the box and be able to override all
  defaults Emacs configuration. So SpaceEmacs developers need a way to
  doing their work without the need to deactivate a hundred of default
  features one after another and risk to forget one. This possibility
  should be well documented. As the need of Mei is covered by
  SpaceEmacs, she doesn't have special request about Emacs except make
  it easy to use SpaceEmacs.
- Roberto: He work on a pre-configuration of Emacs, similar to
  SpaceEmacs. He need a simple and documented way to deactivate all
  default configurations that would make is work difficult. If
  possible, in one move. And, of course, he need to know what is
  deactivated so he can choose wisely what to enable and what to not.
  
  
For these 4 use-cases, we can simply provide 2 flavors of Emacs:
- Emacs: With all the 2020 features, a modern interface, all needed
  modern features to start coding with most popular languages and easy
  to use for basic usages
- Emacs Vanilla: All the new features are still there, but deactivate
  to not break anything


And these 2 flavors can be in the same text editor: For switch from a
flavor to another, simply enable the global-minor-mode `vanilla-mode`.
And if Emacs detect, after an update or a first start, an already
existing configuration that it could break because of some features:
Emacs simply activate `vanilla-mode` automatically.


For our use-cases, this would be:
- Bob simply download and run Emacs. He got everything he wanted and
  start to code. Emacs can manage Bob projects, show documentation and
  errors, etc. Then, after some times, Bob can read some manuals to
  personalise his installation of Emacs.
- Alice update Emacs. When she restart it, Emacs detect an already
  existing configuration that it could break by enabling some
  features. So, Emacs simply enable `vanilla-mode` and add it to the
  `init.el`. Emacs also show a message to Alice: "Emacs detected that
  you have some personal configuration, so it active Vanilla-mode to
  avoid breaking your configuration. Vanilla-mode deactivate some
  features that you can re-enable manually.". This message is
  accompanied by a clickable link to the documentation about the
  `vanilla-mode` to see what it does in the details and what is
  deactivate.
- Mei simply download Emacs and SpaceEmacs. She follow SpaceEmacs
  instruction and everything work.
- Roberto add `(vanilla-mode)` to his `init.el` file and start writing
  his pre-configuration of Emacs. He is certain that no future version
  of Emacs would break his work and he can share publicly his
  configuration as SpaceEmacs or Doom Emacs do.

  
It's just a starting point, but I think this could be a simple but
very useful solution.




reply via email to

[Prev in Thread] Current Thread [Next in Thread]