emacs-devel
[Top][All Lists]
Advanced

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

Re: Emacs setup assistants


From: Ted Zlatanov
Subject: Re: Emacs setup assistants
Date: Thu, 20 May 2004 15:07:35 -0400
User-agent: Gnus/5.110003 (No Gnus v0.3) Emacs/21.3.50 (gnu/linux)

On Thu, 20 May 2004, address@hidden wrote:

> It would probably make sense to use some kind of outline mode in such
> a buffer, whereby the user first sees only an outline of the
> customization process (like one line per step); clicking on that line
> would then reveal the details of that step.  

You're thinking like a programmer and/or power user :)

Normal users rarely appreciate this sort of view of the wizard
sequence.  I think that for usability and simplicity, only the
Next/Previous/Cancel buttons should be allowed for navigation.

When Next can lead to multiple choices because the assistant nodes are
a tree instead of straight line, Next should do a depth-first
traversal in a consistent way (maybe alphabetically following nodes on
the same level).  The point is, give the user the illusion of a
straight decision line that they can use back and forth consistently.

I'm not advocating that we copy a certain GUI, only that users will
be more comfortable if we confuse them less.

> Other buttons or links could lead to advanced customization options
> and in-depth descriptions for those who want that.

That's a good idea, but it should be clearly separated from the
regular assistant.  Maybe @assistantadvanced tags should be used to
surround such options, and the user can show or hide them.

> In short, I'm talking about specialized interactive tutorial, and it
> seemed to me that Customize, if appropriately enhanced and augmented,
> could do the job.  But even if not, I don't see why an infrastructure
> for such a feature could not have some other Lispy foundation, rather
> than a Texinfo foundation.

I absolutely agree Customize could be useful.  So far in my
experiments to find a useful syntax, I have been doing something like
this:

@ifassistant

@node Hello, choose a server

@variable server :string "default.server.com"

@text

You can define the server: @variable{server}

@end text

@next (string-match ".com" server) "Set up a .com server"
@next (string-match ".org" server) "Set up a .org server"

@end ifassistant

and I think the Customize widgetry would fit perfectly inside the
text buffer.  I don't think the regular Customize interface, with all
its text and extra options, will be right, this needs to be a more
lightweight version of the Customize interface.

Ted





reply via email to

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