* A new filter-based customization interface
@ 2024-12-09 3:37 Moakt Temporary Email
2024-12-10 19:56 ` Philip Kaludercic
0 siblings, 1 reply; 4+ 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] 4+ 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
0 siblings, 1 reply; 4+ 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] 4+ 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; 4+ 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] 4+ messages in thread
* Re: A new filter-based customization interface
@ 2024-12-16 22:02 Moakt Temporary Email
0 siblings, 0 replies; 4+ 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] 4+ messages in thread
end of thread, other threads:[~2024-12-16 22:02 UTC | newest]
Thread overview: 4+ 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
-- 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 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.