unofficial mirror of guix-devel@gnu.org 
 help / color / mirror / code / Atom feed
From: myglc2 <myglc2@gmail.com>
To: guix-devel@gnu.org
Subject: Re: [GSoC] Draft proposal for an Install Wizard for Guix
Date: Sun, 27 Mar 2016 14:30:22 -0400	[thread overview]
Message-ID: <86zitjg4e9.fsf@gmail.com> (raw)
In-Reply-To: 56F78298.7060806@mtu.edu

Thomas Ingram <taingram@mtu.edu> writes:

> On 03/26/2016 07:39 AM, Ludovic Courtès wrote:
>> Personally, I would like to view the “wizard” as a helper, and not as
>> something that hides everything and turns people into “end users.”

Wow, Ludo, what do you have against "end users"?

>> I don’t know how this could translate in the design of the tool.
>> Perhaps showing the ‘operating-system’ declaration as you suggest is one
>> thing, and making it easy to view the section of the manual that
>> corresponds to a particular item, or to jump to the code that defines a
>> specific service (say), would be helpful too.
> Yes as much as it is an installer it should also be an
> introduction. Something that not only lets a user easily input their
> options but also shows them how their settings will be put into
> config.scm, I'm trying to come up with some clever ideas of how to do
> this in a graceful way.

I disagree about teaching config.scm. When I install Debian all I care
about is:

1) does it let me do what I want?
2) how long does it take?
3) does it leave my machine in a "good" state?

I don't really care how it does it. config.scm is a thing of beauty, but
how important is it really for a GuixSD user to learn? Once GuixSD is
installed, will they ever look at it again? Won't they be using package
management to install the software they want?

A more fundamental issue you need to think about is that the Debian
installer installs packages globally for all users whereas "Guix-style"
is to not address the user-level package needs in config.scm. This means
that a GuixSD installer needs to get the machine up and running on
GuixSD and then come back for a second pass to help the user install
some packages.

> Thinking about this has lead me to think more about Danny
> Milosavljevic's suggestion
>> Yeah, personally I'd like to have an emacs form which just displays
>> config.scm (and stores it as a normal file) and has some inline
>> documentation on what is what and maybe a treeview instead of
>> visible S-Expression parens - and a validation process whether the
>> stuff makes sense. When you exit, it just instantiates the system.
>>
>> The partitioning & file system type should also be specified in a
>> declarative way in the config [and arguably it already is].
>>
>> Basically not a lot different from now but just more user-friendly
>> and catching more mistakes before instantiation.
>>
>> ncurses actually isn't as flexible - although it has the benefit that
>> the average user is familiar with how it looks.
> Basically I was thinking of doing that with an ncurses UI that shows
> the user their config.scm with some documentation and then walks users
> through changing each option. But maybe an emacs installer makes more
> sense as this is the type of interface emacs does very well.

I encourage you to pursue the emacs approach.

> The reason I had avoided proposing an emacs installer previously is I
> worry about confusion from users who are unfamiliar with emacs and how
> to use it.

People are unfamiliar with emacs, but have you used aptitude? No one
started out familiar with aptitude, but it is happily used by Debian
admins (many of which, by the way, hate emacs).

> Should we be concerned with that when so many of Guix's
> great features that can be accessed through emacs.

IMO the Guix emacs interface already exceeds aptitude's, so leverage it
rather than re-inventing any of it.

> Perhaps there could be a simple introduction to emacs in the installer
> as well?

Don't try to teach emacs to the user. And what ever you do, DO NOT tell
them to type C-h!

Instead create a top-level menu that drops them into various guix-
functions to get the job done. An example of this is the notmuch emacs
interface.

Then, make sure each "guix-<function>" you use supports typing "?" to
figure out what the heck is going and and how to get stuff done.

By going this route, you will leverage what is already developed,
enhance the usablity of the Guix emacs interface, and probably end up
with a dynamite installer. - George

> On the
> other hand if a user has no experience with emacs throwing that at
> them along with config.scm could be overwhelming.

Agreed. An IMO not necessary as stated above.

  reply	other threads:[~2016-03-27 18:30 UTC|newest]

Thread overview: 23+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2016-03-22 20:45 [GSoC] Draft proposal for an Install Wizard for Guix Thomas Ingram
2016-03-23  8:51 ` Chris Marusich
2016-03-23 11:29   ` Ricardo Wurmus
2016-03-23 14:11     ` Ludovic Courtès
2016-03-23 14:33     ` Chris Marusich
2016-03-23 11:53   ` Danny Milosavljevic
2016-03-23 14:13     ` Ludovic Courtès
2016-03-23 22:20 ` Mark H Weaver
2016-03-25 13:09 ` Ludovic Courtès
2016-03-25 15:48   ` Thomas Ingram
2016-03-26 11:39     ` Ludovic Courtès
2016-03-27  6:50       ` Thomas Ingram
2016-03-27 18:30         ` myglc2 [this message]
2016-03-27 20:48           ` Jookia
2016-03-27 22:53             ` myglc2
2016-03-28 16:28               ` Christopher Allan Webber
2016-04-01 12:29                 ` Ludovic Courtès
2016-03-27 23:25           ` Leo Famulari
2016-03-28  6:20             ` Chris Marusich
2016-04-01 12:27           ` Ludovic Courtès
2016-04-19 17:49             ` myglc2
2016-04-01 12:09         ` Ludovic Courtès
2016-03-25 20:19 ` myglc2

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

  List information: https://guix.gnu.org/

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=86zitjg4e9.fsf@gmail.com \
    --to=myglc2@gmail.com \
    --cc=guix-devel@gnu.org \
    /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 public inbox

	https://git.savannah.gnu.org/cgit/guix.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).