* A new filter-based customization interface
@ 2024-12-09 3:37 Moakt Temporary Email
2024-12-10 19:56 ` Philip Kaludercic
2024-12-24 4:51 ` Richard Stallman
0 siblings, 2 replies; 8+ messages in thread
From: Moakt Temporary Email @ 2024-12-09 3:37 UTC (permalink / raw)
To: emacs-devel
Hi everyone,
I am proposing a new beginner-friendly customization interface, which would make emacs more attractive for newcomers, be it actual developers, future developers to be, and even non-developers (writers, students, professors, teachers, etc.), and any lambda person having interest in using emacs.
I added a screenshot of what such an interface might look like (which is better than words).
https://justpaste.it/fdau4.
The main idea of this customization interface is to help users quickly and easily customize emacs for the actual task(s) they need, by providing familiar filters so they can quickly select and access the relevant customizations.
For example, they can select “irc”, “ide”, “agenda”, “completion”, “version control”, “c++”, etc, to filter the customizations relevant to use emacs as an IRC client, IDE, etc.
Today this not possible, and would require new users days and weeks to configure emacs, which would discourage and thus discard lot of them from using emacs.
Do you think this is something achievable in emacs ?
Do you think the actual customization interface can be enhanced to include these changes ? Or should it be a new separate interface ?
I have added all the details about this idea here:
https://lists.gnu.org/archive/html/emacs-devel/2024-12/msg00174.html
(It is too long to read, that is why I am sending this separate message).
Thank you
^ permalink raw reply [flat|nested] 8+ messages in thread
* Re: A new filter-based customization interface
2024-12-09 3:37 A new filter-based customization interface Moakt Temporary Email
@ 2024-12-10 19:56 ` Philip Kaludercic
2024-12-12 4:48 ` Richard Stallman
2024-12-24 4:51 ` Richard Stallman
1 sibling, 1 reply; 8+ messages in thread
From: Philip Kaludercic @ 2024-12-10 19:56 UTC (permalink / raw)
To: Moakt Temporary Email; +Cc: emacs-devel
[-- Attachment #1: Type: text/plain, Size: 593 bytes --]
Moakt Temporary Email <emacs-devel-proposal@drmail.in> writes:
> Hi everyone,
>
> I am proposing a new beginner-friendly customization interface, which
> would make emacs more attractive for newcomers, be it actual
> developers, future developers to be, and even non-developers (writers,
> students, professors, teachers, etc.), and any lambda person having
> interest in using emacs.
>
> I added a screenshot of what such an interface might look like (which is better than words).
> https://justpaste.it/fdau4.
As this site is rather slow, here is the same image attached to this
message:
[-- Attachment #2: bde00610157f1ad327d8d066d5bc1744.png --]
[-- Type: image/png, Size: 334041 bytes --]
[-- Attachment #3: Type: text/plain, Size: 1701 bytes --]
> The main idea of this customization interface is to help users quickly
> and easily customize emacs for the actual task(s) they need, by
> providing familiar filters so they can quickly select and access the
> relevant customizations.
>
> For example, they can select “irc”, “ide”, “agenda”, “completion”,
> “version control”, “c++”, etc, to filter the customizations relevant
> to use emacs as an IRC client, IDE, etc.
My question is how this is worse or better than having some kind of
attributes added to user options and then having a
`customise-group'-like command that presents all suggested "irc", "ide",
"agenda", ... options.
But generally speaking, it seems that beginners are not interested in
being overburdened with all the things they can decide on (even if this
is categorised), but rather to have as many thing as possible to DTRT OOTB.
> Today this not possible, and would require new users days and weeks to configure emacs, which would discourage and thus discard lot of them from using emacs.
>
> Do you think this is something achievable in emacs ?
> Do you think the actual customization interface can be enhanced to include these changes ? Or should it be a new separate interface ?
I tend to feel that it would be better to have a separate UI with fewer
choices (beginners are probably not /that/ interested in the differences
between saving something for this session or permanently, I'd think?).
> I have added all the details about this idea here:
> https://lists.gnu.org/archive/html/emacs-devel/2024-12/msg00174.html
> (It is too long to read, that is why I am sending this separate message).
>
> Thank you
^ permalink raw reply [flat|nested] 8+ messages in thread
* Re: A new filter-based customization interface
2024-12-10 19:56 ` Philip Kaludercic
@ 2024-12-12 4:48 ` Richard Stallman
0 siblings, 0 replies; 8+ messages in thread
From: Richard Stallman @ 2024-12-12 4:48 UTC (permalink / raw)
To: Philip Kaludercic; +Cc: emacs-devel-proposal, emacs-devel
[[[ To any NSA and FBI agents reading my email: please consider ]]]
[[[ whether defending the US Constitution against all enemies, ]]]
[[[ foreign or domestic, requires you to follow Snowden's example. ]]]
I looked at the image you sent. I supposed it is supposed to be
self-explanatory, but as often happens for graphical interfaces, I
can't tell the meaning of what I see.
In order for a graphica interface to be natural and self-evident,
it should to be clear just by looking what each visual item means.
Is it an alternative you can select?
Is it a heading which describes the role of whatever follows?
Is it a command you can click on to control the interface?
These things are not clear to me.
Here are some of the visuak aspects for which the meaning is not clear to me.
* There is a bunch of lines at the top which start with
Filter by
1. categoryL
interfaceL modeline tookbar,..
general: startup quit backup...
What do tese names mean? Are they related to custom group names?
Some of them sare names of custom groups, but some are not.
What does each of these names mean?
* Is that an exhaustive list of all "categories"?
* If so, are you supposed to click on one to select it?
* Or are some categories someho selexted now, and this is a list of the
ones that are selected right now?
* How does the fact that a category is selected
affect what happens in the rest of this display?
The next thing it says is
Sort by: package
What does that mean? Is "package" one of several psople choices? If
so, what are the other possible choices and how do you specify another choice?
Then it says
Selected Customizations:
What does that expression "selected customizations" mean? What
determines which customizations are selected? How do you control
which ones are selected? And what do you achieve by controlling that?
How does this relate to M-x customize...?
It looks like the names of these things do NOT match names of user options.
Each item and value seem to be followed by some sort of classification,
but what do they mean? They do not seem to be custom groups.
Where are they defined? For instance, two say :modeline:, What does
that indicate?
What does [X] mean? Does it mean "this is enabled"?
If so, what indicates "this is not enabled"?
--
Dr Richard Stallman (https://stallman.org)
Chief GNUisance of the GNU Project (https://gnu.org)
Founder, Free Software Foundation (https://fsf.org)
Internet Hall-of-Famer (https://internethalloffame.org)
^ permalink raw reply [flat|nested] 8+ messages in thread
* Re: A new filter-based customization interface
@ 2024-12-16 22:02 Moakt Temporary Email
0 siblings, 0 replies; 8+ messages in thread
From: Moakt Temporary Email @ 2024-12-16 22:02 UTC (permalink / raw)
To: emacs-devel
Hi Richard,
> I looked at the image you sent. I supposed it is supposed to be
> self-explanatory, but as often happens for graphical interfaces, I
> can't tell the meaning of what I see.
>
>
> In order for a graphica interface to be natural and self-evident,
> it should to be clear just by looking what each visual item means.
> Is it an alternative you can select?
> Is it a heading which describes the role of whatever follows?
> Is it a command you can click on to control the interface?
> These things are not clear to me.
>
> Here are some of the visuak aspects for which the meaning is not clear to me.
>
> * There is a bunch of lines at the top which start with
> Filter by
> 1. categoryL
> interfaceL modeline tookbar,..
> general: startup quit backup...
>
> What do tese names mean? Are they related to custom group names?
> Some of them sare names of custom groups, but some are not.
> What does each of these names mean?
Each name is a filter that user can select to filter on the corresponding user options. I tried to classify them using the most beginner-friendly terms, just to show the main idea I want yo communicate.
When the user sees such an interface, he will also have a quick idea of what he can do with emacs, he can also immediately start discovering/trying different options.
> * Is that an exhaustive list of all "categories"?
I added only some, just to show the main idea.
I can also think about other non-”by category” filters, for example:
1. by state: [customized] [non-customized (default)]
2. by version: .. [27] [28] [29] [to be removed in future versions (deprecated)]
> * If so, are you supposed to click on one to select it?
> * Or are some categories someho selexted now, and this is a list of the
> ones that are selected right now?
Yes, user can select a single filter, or combine (AND) multiple filters.
For example user can select “completion”+”auto-save”.
Each time the user select an additional filter, the list of filters should decrease, leaving only the ones that are meaningful to additionally select.
And maybe also making other sub-filters (sub-categories) appear to help further narrowing the list of customizations (under “Selected Customizations:”).
For example “auto-completion” filter can appear if “completion” filter is selected.
With this, user can precisely find what he is exactly looking for, with few easy and understandable clicks, even with a huge number of options.
> * How does the fact that a category is selected
> affect what happens in the rest of this display?
Each time the user select an additional filter, the list of customizations under “Selected Customizations:” will also decrease. The purpose is to quickly find the customizations relevant to a given task/behavior.
> The next thing it says is
>
> Sort by: package
>
> What does that mean? Is "package" one of several psople choices? If
> so, what are the other possible choices and how do you specify another choice?
This should sort the list of customizations (under “Selected Customizations:”) by certain criteria. One example is “package”, another can be to list the already customized (non-default) first, etc.
I added it only to keep it in mind when implementing the interface, in case it turned out to be useful to the user later on. But I can’t see it is real added value for the moment.
> Then it says
>
> Selected Customizations:
>
> What does that expression "selected customizations" mean? What
> determines which customizations are selected? How do you control
> which ones are selected? And what do you achieve by controlling that?
The list under "Selected Customizations", are the customizations user selected by applying one or more filter(s) from the above.
Their is no filter selected in this image, but we can image that when user selects the “modeline” filter for example, we can either:
- replace it in-place by a “modeline[X]”.
- or remove it, and add a “modeline” or “modeline[X]” to a separate list of “selected filters” for example.
- or keep it in place, but change its appearance (color, etc…)
- etc.
With this, user can know what filters he already selected, and can unselected them one by one by clicking on them again.
Maybe it can also be implemented it differently.
> How does this relate to M-x customize...?
> It looks like the names of these things do NOT match names of user options.
>
> Each item and value seem to be followed by some sort of classification,
> but what do they mean? They do not seem to be custom groups.
> Where are they defined? For instance, two say :modeline:, What does
> that indicate?
Each item is a customization/option to show to the user.
The value is only a single choice (I added it for demonstration), but it can be replaced by its corresponding UI element (checkbox, dropdown menu, ...)
The classifications to the right are not part of the interface. I may have hidden them. I used them to “tag”/relate each entry to its corresponding filters/categories. These classifications are also not exhaustive (only some for demonstration).
All the options that are related to the modeline, would be tagged as “modeline”, and will be selected/filtered when user select the “modeline” filter.
Some classifications might (not) match with the actual custom groups, I tried to list them from another POV. they can be modified/adapted as needed.
This interface will require each option to have multiple groups/tags.
And maybe the user could be given the possibility to add his own tags (to each option, and to the interface), so he can categories, and quickly access his favorite options.
> What does [X] mean? Does it mean "this is enabled"?
Yes, it represents a “checked” checkbox.
> If so, what indicates "this is not enabled"?
An “unchecked” checkbox would be represented by [ ].
But this is not how it might look like in the final interface, it is only for demonstration.
I also explained everything in details in this message https://lists.gnu.org/archive/html/emacs-devel/2024-12/msg00174.html.
I also proposed a quick “Get Started” introduction to emacs (frame, window, modeline, command, etc.), so user can directly use this interface.
This introduction can be added to emacs independently from the interface, because it already enhances user first experience with emacs, I post it under a different thread https://lists.gnu.org/archive/html/emacs-devel/2024-12/msg00064.html.
Thank you
^ permalink raw reply [flat|nested] 8+ messages in thread
* Re: A new filter-based customization interface
2024-12-09 3:37 A new filter-based customization interface Moakt Temporary Email
2024-12-10 19:56 ` Philip Kaludercic
@ 2024-12-24 4:51 ` Richard Stallman
2024-12-24 21:10 ` Björn Bidar
[not found] ` <87bjx0oki1.fsf@>
1 sibling, 2 replies; 8+ messages in thread
From: Richard Stallman @ 2024-12-24 4:51 UTC (permalink / raw)
To: Moakt Temporary Email; +Cc: emacs-devel
[[[ To any NSA and FBI agents reading my email: please consider ]]]
[[[ whether defending the US Constitution against all enemies, ]]]
[[[ foreign or domestic, requires you to follow Snowden's example. ]]]
> I added a screenshot of what such an interface might look like (which
> is better than words). https://justpaste.it/fdau4.
That site seems to depend on nonfree Javascript code. Those of us who
block nonfree Javascript. or block Javascript entirely, cannot see
whatever you meant to show us.
Even worse, there are people on the lis who do not block nonfree
Javascript in their browsers. By referring to that site, you are
promoting the use of nonfree software! And, in the process,
legitimizing the use and distrbution of nonfree software -- which is
the direct opposite of the goal of GNU.
Would you please describe or present your idea in a way that we can
understand without running nonfree software? Then we could all think
about adding it to Emacs.
Emacs already has a general configuration interface, which you can
access using M-x configure. It at least tries to do what you have in
mind. Your approach, if implemented without nonfree software,
might be better in some ways.
Would you like to familiarize yourself with M-x configure and related
commands, see what it does and what it doesn't do, and describe
your idea in terms of how it differs from what we already have?
Do the differences concern manner of display, or the semantics
of the customization methods?
M-x configure displays through Emacs buffers and Emacs redisplay
because that is the facility that is always avaiable (in Emacs).
Using some other basis could look nicer, but would be a lot more work
to implement and to maintain in various situations.
However, different semantics might not have such an obstacle.
--
Dr Richard Stallman (https://stallman.org)
Chief GNUisance of the GNU Project (https://gnu.org)
Founder, Free Software Foundation (https://fsf.org)
Internet Hall-of-Famer (https://internethalloffame.org)
^ permalink raw reply [flat|nested] 8+ messages in thread
* Re: A new filter-based customization interface
2024-12-24 4:51 ` Richard Stallman
@ 2024-12-24 21:10 ` Björn Bidar
[not found] ` <87bjx0oki1.fsf@>
1 sibling, 0 replies; 8+ messages in thread
From: Björn Bidar @ 2024-12-24 21:10 UTC (permalink / raw)
To: Richard Stallman; +Cc: Moakt Temporary Email, emacs-devel
Richard Stallman <rms@gnu.org> writes:
> [[[ To any NSA and FBI agents reading my email: please consider ]]]
> [[[ whether defending the US Constitution against all enemies, ]]]
> [[[ foreign or domestic, requires you to follow Snowden's example. ]]]
>
> > I added a screenshot of what such an interface might look like (which
> > is better than words). https://justpaste.it/fdau4.
>
> That site seems to depend on nonfree Javascript code. Those of us who
> block nonfree Javascript. or block Javascript entirely, cannot see
> whatever you meant to show us.
The website works entirely without JavaScript.
But there you go:
https://jpcdn.it/img/bde00610157f1ad327d8d066d5bc1744.png
> Even worse, there are people on the lis who do not block nonfree
> Javascript in their browsers. By referring to that site, you are
> promoting the use of nonfree software! And, in the process,
> legitimizing the use and distrbution of nonfree software -- which is
> the direct opposite of the goal of GNU.
People promote non-free software all the on this list e.g. with
@gmail in their addresses or talk about non-free operating systems.
There's even a package solely to support non-free software in Elpa.
> Would you please describe or present your idea in a way that we can
> understand without running nonfree software? Then we could all think
> about adding it to Emacs.
Emails allow for attachments.
> Emacs already has a general configuration interface, which you can
> access using M-x configure. It at least tries to do what you have in
> mind. Your approach, if implemented without nonfree software,
> might be better in some ways.
> Would you like to familiarize yourself with M-x configure and related
> commands, see what it does and what it doesn't do, and describe
> your idea in terms of how it differs from what we already have?
>
> Do the differences concern manner of display, or the semantics
> of the customization methods?
The configure interface looks at times very old. I.e. in context of the
search it is very hard to see what the results actually are yes it does
show categories and settings items but it doesn't not show where they
are from e.g. as in which catergory a item is from or what tags it could
have.
I'm aware that Custom doesn't track tags but it is expected that most
system do use them or at least understand them for searching.
> M-x configure displays through Emacs buffers and Emacs redisplay
> because that is the facility that is always avaiable (in Emacs).
> Using some other basis could look nicer, but would be a lot more work
> to implement and to maintain in various situations.
The problem isn't eye-candy, functionality is the problem, e.g. in
discoverability. Improvements would help mostly beginner level users but
also long term users could benefit.
It does not help either that Emacs is not responding while searching.
^ permalink raw reply [flat|nested] 8+ messages in thread
* Re: A new filter-based customization interface
[not found] ` <87bjx0oki1.fsf@>
@ 2024-12-26 4:30 ` Richard Stallman
2024-12-26 4:30 ` Richard Stallman
1 sibling, 0 replies; 8+ messages in thread
From: Richard Stallman @ 2024-12-26 4:30 UTC (permalink / raw)
To: Björn Bidar; +Cc: emacs-devel-proposal, emacs-devel
[[[ To any NSA and FBI agents reading my email: please consider ]]]
[[[ whether defending the US Constitution against all enemies, ]]]
[[[ foreign or domestic, requires you to follow Snowden's example. ]]]
> > > I added a screenshot of what such an interface might look like (which
> > > is better than words). https://justpaste.it/fdau4.
> >
> > That site seems to depend on nonfree Javascript code. Those of us who
> > block nonfree Javascript. or block Javascript entirely, cannot see
> > whatever you meant to show us.
> The website works entirely without JavaScript.
I just tried it again and verified that LibreJS reported blocked scripts.
(They are blocked for not being labeled with a free liecense.
> But there you go:
> https://jpcdn.it/img/bde00610157f1ad327d8d066d5bc1744.png
Thank you, I will now look at that...
[viewed it]
This image looks similar to an image that I saw a few days ago in
another email. I found its meaning unclear, and reported how so.
> The configure interface looks at times very old. I.e. in context of the
> search it is very hard to see what the results actually are
I agree. It could definitely use improvement, and your idea may have
potential for that -- if you explain it more concretely.
yes it does
> show categories and settings items but it doesn't not show where they
> are from e.g. as in which catergory a item is from
Could you show one example of that deficiency, and point out precisely
where it is and say what is missing? With that help, I would understand
what you mean.
Since the customization buffer contains ordinary text, you can copy it
into an email -- avoiding the inconvenience of image files.
or what tags it could
> have.
Could you explain what you mean my "tags"? I am mot sure.
If you use the same example, pick one option, and say what
the missing tags would say, I might understand your idea.
> It does not help either that Emacs is not responding while searching.
Could yoi explain more concretely what operation you mean here?
What is the command for searching which fails to respond?
If you use the same example, and say (as in the Emacs manua) exectly
what you type to do the sort of search that is nonresponsive,
it will be completely clear.
--
Dr Richard Stallman (https://stallman.org)
Chief GNUisance of the GNU Project (https://gnu.org)
Founder, Free Software Foundation (https://fsf.org)
Internet Hall-of-Famer (https://internethalloffame.org)
^ permalink raw reply [flat|nested] 8+ messages in thread
* Re: A new filter-based customization interface
[not found] ` <87bjx0oki1.fsf@>
2024-12-26 4:30 ` Richard Stallman
@ 2024-12-26 4:30 ` Richard Stallman
1 sibling, 0 replies; 8+ messages in thread
From: Richard Stallman @ 2024-12-26 4:30 UTC (permalink / raw)
To: Björn Bidar; +Cc: emacs-devel-proposal, emacs-devel
[[[ To any NSA and FBI agents reading my email: please consider ]]]
[[[ whether defending the US Constitution against all enemies, ]]]
[[[ foreign or domestic, requires you to follow Snowden's example. ]]]
> > Even worse, there are people on the lis who do not block nonfree
> > Javascript in their browsers. By referring to that site, you are
> > promoting the use of nonfree software! And, in the process,
> > legitimizing the use and distrbution of nonfree software -- which is
> > the direct opposite of the goal of GNU.
> People promote non-free software all the on this list e.g. with
> @gmail in their addresses or talk about non-free operating systems.
> There's even a package solely to support non-free software in Elpa.
I think we are miscommunicating. Promoting nonfree software, in the
GNU Project, is much more specific than you envision. It means urging
users to do something (now, or later) in a way that involves _their_
running nonfree software. If you tell people to look at that page on
https://justpaste.it/, you're directing _them_ to run its nonfree
Javascript code.
Just talking about some nonfree software is not promoting it unless
you encourage or direct people to use it. For instance, mentioning
Windows or MacOS as part of making GNU Emacs run on them, or saying
that it does, is not promoting those systems. Sending mail that says
it is from gmail doesn't direct other people to use gmail -- they can
receive that message using any email facility.
Please read the node References in the GNU Coding Standards for
explanation of this concept. With that explanation you'll understand
what this issue is about.
> There's even a package solely to support non-free software in Elpa.
That _might_ be promoting nonfree software, or might not, depending on
details of what that package does. Perhaos it mainly encourages
people who use that nonfree software to use Emacs with it. That is a
good thing to do.
I would like to take a look at it and see what it does.
What is its name?
--
Dr Richard Stallman (https://stallman.org)
Chief GNUisance of the GNU Project (https://gnu.org)
Founder, Free Software Foundation (https://fsf.org)
Internet Hall-of-Famer (https://internethalloffame.org)
^ permalink raw reply [flat|nested] 8+ messages in thread
end of thread, other threads:[~2024-12-26 4:30 UTC | newest]
Thread overview: 8+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2024-12-09 3:37 A new filter-based customization interface Moakt Temporary Email
2024-12-10 19:56 ` Philip Kaludercic
2024-12-12 4:48 ` Richard Stallman
2024-12-24 4:51 ` Richard Stallman
2024-12-24 21:10 ` Björn Bidar
[not found] ` <87bjx0oki1.fsf@>
2024-12-26 4:30 ` Richard Stallman
2024-12-26 4:30 ` Richard Stallman
-- strict thread matches above, loose matches on Subject: below --
2024-12-16 22:02 Moakt Temporary Email
Code repositories for project(s) associated with this public inbox
https://git.savannah.gnu.org/cgit/emacs.git
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).