From: storm@cua.dk (Kim F. Storm)
Cc: miles@gnu.org, rms@gnu.org, lennart.borgman.073@student.lu.se,
emacs-devel@gnu.org, monnier@iro.umontreal.ca,
snogglethorpe@gmail.com, drew.adams@oracle.com,
abraham@dina.kvl.dk
Subject: Re: Customize buttons that change user's custom fileshouldaskforconfirmation
Date: Fri, 18 Feb 2005 15:56:33 +0100 [thread overview]
Message-ID: <m3k6p5kjby.fsf@kfs-l.imdomain.dk> (raw)
In-Reply-To: <200502181412.j1IECkj14736@raven.dms.auburn.edu> (Luc Teirlinck's message of "Fri, 18 Feb 2005 08:12:46 -0600 (CST)")
Luc Teirlinck <teirllm@dms.auburn.edu> writes:
> Kim Storm wrote:
I wrote, you wrote, Lennart wrote, RMS wrote, bla bla bla :-)
Seriously, we seem to _completely_ disagree what an ordinary (novice) user
would expect from a customization interface.
My claim is that he is familiar with an interface where a page has:
- N different options (N > 1)
- an "Apply" button which saves and activates the changes,
but keep the page open.
- an "Ok", "Save" or "Finish" button which saves and activates the
changes, and closes the page
- a "Cancel" button which closes the page without saving or activating.
- a "Reset to Defaults" button which removes all user customizations
and activates some "factory" determined set of defaults.
- he may expect to see buttons which open sub-panels for customizing
a related group of options, or does some specific action.
IMO, any significant deviation from that scheme is for _experts only_.
Specifically, no matter how useful it might be, an ordinary user does
not expect to see a "checkbox" or "save" button for each option, and
he will quickly be lost is a maze of tiny little passages.
>
> IMHO, this is _expert_ behaviour.
>
> I think that most novice users will very rarely mix and match setting
> some options and saving others.
>
> Rarely, but sometimes. Why confuse them badly if they do? Moreover,
> it is not just setting and saving. It is also about looking at
> possibilities and saving. Especially with the more complex "Value Menu"
> buttons.
There is NOTHING confusing if you can only "save all options".
The confusion arises when you have the option to "set but not save"
some options, and later on you do "save" -- that will save all options
including those you only "set".
But that's not a big obstackle. If the user has used "set", then
changes some more options, and hit "save", emacs could just warn
him that
Warning: This will save parameters which you have previously
set for this session only. Continue?
If he doesn't like that (because he has been experimenting with
various settings), he can say "no", do "Cancel unsaved changes",
and redo the changes he actually wants to save.
Maybe not 100% satisfactory, but there's nothing strange about it.
>
> If he is satisfied with the current settings, he will save them ALL.
>
> But the problem is exactly that he may _not_ be satisfied with all the
> current "settings" (widget values). He may just have wanted to set
> them, or even more likely, just has been looking at them.
I don't think this is _typical_ usage.
Suppose the user is playing with some feature, e.g. ido-mode, which
has many options. He tries to "Set" some parameters to see the
effect.
If he doesn't like the effect, he will "Reset" to set it back to what
it was.
If he likes the effect, he should "Save" before starting to play
with the next option. If he doesn't -- well, he will quickly
learn that is the proper thing to do if he is playing with things.
For this specific purpose, it might be useful (and not too obscure) if
each parameter had a single "Undo" button which could be used to reset
that specific parameter to the last saved value. But I doubt it will
be used much.
>
> If accidentally, he saves some option which he forgot he had only set
> and really didn't want to set, he can EASILY revert the change, either
> in the same emacs run or next time he runs emacs.
>
> Why force users to go to that trouble if it can easily be avoided?
> Moreover, if you save options that you do not want, you do
> not even know which one you saved. The user will have to scan his
> custom-set-variables or custom-set-faces forms. We are supposedly
> talking about a novice user.
Again, you expect a specific user behaviour -- which I think is uncommon.
>
> Why don't we simply introduce a "customize-expert" option that is off
> by default, but can be turned on when the user gains more experience.
>
> I believe that we should introduce a "customize-expert" option, off by
> default, and only enable the all whole buffer buttons if it is on.
Amusing :-)
> Personally, I would not turn it on. I do not come even remotely close
> to being enough of a Custom expert to be able to handle the complexity
> of whole button buffers. I always am careful to set custom-file to a
> junk file when I play with them. (I never use them "for real". Much
> too dangerous.)
Really ?
If customize is so dangerous, it should really be off-limits for
everybody...
But seriously, I bet a novice user can make greater disasters with a
few lines of bad Lisp in .emacs that he will ever do with Customize.
>
> When off, it can limit the features of the customize interface to
> those features most novice users will be familiar to from other
> interfaces.
>
> Custom _is_ not exactly like other interfaces and _can_ not be. Other
> interfaces are not trying to handle an underlying customization system
> that is anywhere as complex and extensive as Emacs'.
Huh?
Just because some dialogue box in some other application is
written in C++ or java or a combination of HTML, javascript, and Perl
doesn't mean that the underlaying functionality isn't as complex
as emacs'.
If you think there is a problem here, it might be that customize is
still a "low-level" interface, giving you access to too much of
emacs' functionality in a "lispy" way.
> The average
> Custom buffer is a lot longer and contains a lot more options than the
> average customization "page" (or whatever they call it). The choices
> you have for an individual option can be a lot more complex. Complex
> types like `choice' force a concept of a `widget' value. Very
> importantly, other interfaces do not have to deal with the tremendous
> complexity of options that can be changed by _both_ the user and programs.
In the applications I work with, customization is combination of
several different management interfaces, XML import/export of
configuration files, automatically generated configurations, and
factory installed customer specific configurations.
Configuring Emacs isn't nearly as complex as that!!!
>
> What makes the whole button buttons dangerous are, among others, the
> concept of a separate widget value, the difference between Set and
> Save, bugs in Custom, the length of Custom buffers,
That's a generic issue -- and we should improve that if we can -- it
has nothing to do with how to set/save values.
> options changed
> by programs behind the user's back, and user absent-mindedness. We
> are never going to be able to do something about the latter,
True.
> even if
> we do something about everything else, which would be highly
> non-trivial and would involve removing present features, which people
> actually use.
I don't suggest to remove anything -- just hide things that is confusing
to the novice user.
>
> The concept of saving options one by one is not a difficult concept,
> whether the user is used to it or not. One should not equate "novice"
> with "stupid".
So why do you do that ?
--
Kim F. Storm <storm@cua.dk> http://www.cua.dk
next prev parent reply other threads:[~2005-02-18 14:56 UTC|newest]
Thread overview: 148+ messages / expand[flat|nested] mbox.gz Atom feed top
[not found] <DNEMKBNJBGPAOPIJOOICKENMCAAA.drew.adams@oracle.com>
2005-01-31 0:20 ` Customize buttons that change user's custom file should ask forconfirmation Richard Stallman
2005-01-31 1:07 ` Stefan Monnier
2005-01-31 2:02 ` Miles Bader
2005-01-31 1:16 ` Customize buttons that change user's custom file should askforconfirmation Lennart Borgman
2005-01-31 1:55 ` Miles Bader
2005-01-31 2:06 ` Drew Adams
2005-01-31 15:21 ` Per Abrahamsen
2005-01-31 17:22 ` Drew Adams
2005-01-31 21:39 ` Robert J. Chassell
2005-01-31 22:37 ` Customize buttons that change user's custom file shouldaskforconfirmation Drew Adams
2005-01-31 22:59 ` Customize buttons that change user's custom file should askforconfirmation Kim F. Storm
2005-01-31 23:50 ` Stefan Monnier
2005-02-01 0:44 ` Simon Josefsson
2005-01-31 23:56 ` Lennart Borgman
2005-02-01 8:56 ` Per Abrahamsen
2005-02-01 14:11 ` Robert J. Chassell
2005-02-01 16:21 ` Drew Adams
2005-02-02 7:27 ` Richard Stallman
2005-02-02 18:01 ` Customize buttons that change user's custom file shouldaskforconfirmation Drew Adams
2005-02-02 18:46 ` Stefan Monnier
2005-02-02 19:02 ` Drew Adams
2005-02-03 2:43 ` Miles Bader
2005-02-03 6:58 ` Customize buttons that change user's custom fileshouldaskforconfirmation Lennart Borgman
2005-02-03 7:39 ` Miles Bader
2005-02-03 9:36 ` Kim F. Storm
2005-02-03 14:46 ` Lennart Borgman
2005-02-03 15:18 ` David Kastrup
2005-02-03 15:30 ` Lennart Borgman
2005-02-03 19:30 ` Drew Adams
2005-02-03 19:54 ` Lennart Borgman
2005-02-03 20:05 ` Drew Adams
2005-02-03 20:13 ` Lennart Borgman
2005-02-03 20:18 ` Customize buttons that change user's customfileshouldaskforconfirmation Drew Adams
2005-02-03 20:23 ` Lennart Borgman
2005-02-04 10:22 ` Customize buttons that change user's custom fileshouldaskforconfirmation Kim F. Storm
2005-02-07 5:32 ` Drew Adams
2005-02-07 7:25 ` Customize buttons that change user's customfileshouldaskforconfirmation Lennart Borgman
2005-02-07 7:34 ` Drew Adams
2005-02-07 17:28 ` Customize buttons that change user'scustomfileshouldaskforconfirmation Drew Adams
2005-02-07 20:23 ` Robert J. Chassell
2005-02-07 20:26 ` Lennart Borgman
2005-02-08 11:46 ` Richard Stallman
2005-02-07 13:45 ` Customize buttons that change user's customfileshouldaskforconfirmation Robert J. Chassell
2005-02-07 16:46 ` Customize buttons that change user'scustomfileshouldaskforconfirmation Lennart Borgman
2005-02-07 14:15 ` Customize buttons that change user's customfileshouldaskforconfirmation Robert J. Chassell
2005-02-07 16:23 ` Customize buttons that change user'scustomfileshouldaskforconfirmation Lennart Borgman
2005-02-07 20:22 ` Robert J. Chassell
2005-02-07 20:29 ` Customize buttons that changeuser'scustomfileshouldaskforconfirmation Lennart Borgman
2005-02-08 11:46 ` Richard Stallman
2005-02-09 8:11 ` Customize buttons that change user's customfileshouldaskforconfirmation Richard Stallman
2005-02-09 13:29 ` Robert J. Chassell
2005-02-07 15:07 ` Customize buttons that change user's customfiles Robert J. Chassell
2005-02-07 15:53 ` Robert J. Chassell
2005-02-09 8:11 ` Customize buttons that change user's custom fileshouldaskforconfirmation Richard Stallman
2005-02-09 13:31 ` Robert J. Chassell
2005-02-09 17:27 ` Customize buttons that change user's customfileshouldaskforconfirmation Drew Adams
2005-02-09 20:31 ` Robert J. Chassell
2005-02-09 21:27 ` Customize buttons that change user'scustomfileshouldaskforconfirmation Drew Adams
2005-02-10 14:42 ` Robert J. Chassell
2005-02-10 15:20 ` Kim F. Storm
2005-02-11 21:12 ` Customize buttons that changeuser'scustomfileshouldaskforconfirmation Drew Adams
2005-02-09 14:12 ` Customize buttons that change user's customfileshouldaskforconfirmation Lennart Borgman
2005-02-09 17:17 ` Drew Adams
2005-02-10 18:39 ` Richard Stallman
2005-02-10 21:56 ` Kim F. Storm
2005-02-11 21:13 ` Drew Adams
2005-02-12 14:27 ` Kim F. Storm
2005-02-12 18:04 ` Drew Adams
2005-02-12 18:45 ` Luc Teirlinck
2005-02-12 21:01 ` Customize buttons that change user'scustomfileshouldaskforconfirmation Lennart Borgman
2005-02-12 21:21 ` Luc Teirlinck
2005-02-12 21:28 ` Lennart Borgman
2005-02-12 21:42 ` Luc Teirlinck
2005-02-13 0:17 ` Customize buttons that changeuser'scustomfileshouldaskforconfirmation Lennart Borgman
2005-02-13 0:54 ` Luc Teirlinck
2005-02-13 4:13 ` Luc Teirlinck
2005-02-14 2:25 ` Customize buttons thatchangeuser'scustomfileshouldaskforconfirmation Drew Adams
2005-02-13 4:32 ` Customize buttons that changeuser'scustomfileshouldaskforconfirmation Luc Teirlinck
2005-02-14 2:07 ` Customize buttons that change user'scustomfileshouldaskforconfirmation Drew Adams
2005-02-14 2:21 ` Drew Adams
2005-02-14 3:32 ` Luc Teirlinck
2005-02-12 19:03 ` Customize buttons that change user's customfileshouldaskforconfirmation Luc Teirlinck
2005-02-12 19:21 ` Luc Teirlinck
2005-02-12 20:09 ` Luc Teirlinck
2005-02-12 8:37 ` Richard Stallman
2005-02-12 9:14 ` Lennart Borgman
2005-02-12 11:48 ` Robert J. Chassell
2005-02-12 14:58 ` Kim F. Storm
2005-02-07 20:51 ` Customize buttons that change user's custom fileshouldaskforconfirmation Richard Stallman
2005-02-08 20:37 ` Customize buttons that change user's customfileshouldaskforconfirmation Drew Adams
2005-02-15 6:18 ` Customize buttons that change user's custom fileshouldaskforconfirmation Richard Stallman
2005-02-15 7:05 ` Lennart Borgman
2005-02-16 9:32 ` Richard Stallman
2005-02-16 13:07 ` Lennart Borgman
2005-02-16 14:44 ` Luc Teirlinck
2005-02-16 17:14 ` Customize buttons that change user's customfileshouldaskforconfirmation Lennart Borgman
2005-02-16 23:07 ` Luc Teirlinck
2005-02-15 17:51 ` Customize buttons that change user's custom fileshouldaskforconfirmation Drew Adams
2005-02-15 18:33 ` Drew Adams
2005-02-15 19:14 ` Customize buttons that change user's customfileshouldaskforconfirmation Lennart Borgman
2005-02-15 19:51 ` Drew Adams
2005-02-16 7:25 ` Lennart Borgman
2005-02-17 10:34 ` Customize buttons that change user's custom fileshouldaskforconfirmation Richard Stallman
2005-02-15 23:20 ` Luc Teirlinck
2005-02-16 0:03 ` Kim F. Storm
2005-02-16 0:56 ` Luc Teirlinck
2005-02-17 10:35 ` Richard Stallman
2005-02-17 12:44 ` Kim F. Storm
[not found] ` <003e01c51506$35ecb6e0$0200a8c0@sedrcw11488>
[not found] ` <m3oeejyxd6.fsf@kfs-l.imdomain.dk>
2005-02-17 17:27 ` David Kastrup
2005-02-17 18:32 ` Drew Adams
2005-02-17 20:33 ` Kim F. Storm
2005-02-17 23:06 ` Lennart Borgman
2005-02-17 22:57 ` Luc Teirlinck
2005-02-18 8:23 ` Kim F. Storm
2005-02-18 13:54 ` Lennart Borgman
2005-02-18 14:12 ` Luc Teirlinck
2005-02-18 14:56 ` Kim F. Storm [this message]
2005-02-18 22:59 ` Luc Teirlinck
2005-02-18 23:29 ` Luc Teirlinck
2005-02-18 23:45 ` Lennart Borgman
2005-02-19 1:16 ` Luc Teirlinck
2005-02-19 1:28 ` Luc Teirlinck
2005-02-19 3:10 ` Luc Teirlinck
2005-02-19 21:32 ` Kim F. Storm
2005-02-19 20:55 ` Richard Stallman
2005-02-19 21:24 ` Kim F. Storm
2005-02-20 2:31 ` Luc Teirlinck
2005-02-19 20:54 ` Richard Stallman
2005-02-20 8:52 ` Lennart Borgman
2005-02-20 17:09 ` Luc Teirlinck
2005-02-20 19:24 ` Kim F. Storm
2005-02-20 20:18 ` David Kastrup
2005-02-20 20:46 ` Luc Teirlinck
2005-02-21 1:00 ` Drew Adams
2005-02-20 17:17 ` Luc Teirlinck
2005-02-19 9:44 ` Richard Stallman
2005-02-19 15:42 ` Luc Teirlinck
2005-02-19 9:44 ` Richard Stallman
2005-02-17 18:34 ` Drew Adams
2005-02-18 14:13 ` Richard Stallman
2005-02-18 15:17 ` Customize buttons that change user's customfileshouldaskforconfirmation Drew Adams
2005-02-19 3:51 ` Luc Teirlinck
2005-02-16 0:37 ` Customize buttons that change user's custom fileshouldaskforconfirmation Luc Teirlinck
2005-02-17 10:35 ` Richard Stallman
2005-02-03 19:13 ` Customize buttons that change user's custom file shouldaskforconfirmation Richard Stallman
2005-02-01 13:30 ` Customize buttons that change user's custom file should askforconfirmation Richard Stallman
2005-01-31 1:22 ` Customize buttons that change user's custom file should ask forconfirmation Miles Bader
2005-02-01 13:30 ` Richard Stallman
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=m3k6p5kjby.fsf@kfs-l.imdomain.dk \
--to=storm@cua.dk \
--cc=abraham@dina.kvl.dk \
--cc=drew.adams@oracle.com \
--cc=emacs-devel@gnu.org \
--cc=lennart.borgman.073@student.lu.se \
--cc=miles@gnu.org \
--cc=monnier@iro.umontreal.ca \
--cc=rms@gnu.org \
--cc=snogglethorpe@gmail.com \
/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.