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

Re: To the Debian Project, IMHO



 I'd like to repeat a suggestion made to this list over two years ago. I
loved it when I saw it, and I think it bears repeating. I saved it because
it gave what I thought was a wonderful example of user-interface design.

----------------------------------------------
To: debian-user@lists.debian.org
Subject: DEITY TEAM: Ideas (Long)
Date: Wed, 16 Apr 1997 14:52:53 -0600
From: Mike Patterson <mike@col.hp.com>

Ok guys, ready for my comments on dselect? There are some doozies in here,
and some not-so-doozies. Also, there may be many points that can't work 
simply because of the way packages are set up. The ideas are in no 
particular order.


1) Allow "quick install" from floppies
        It'd be really nice to have a system for having a single package 
        installed on a floppy, or set of floppies in a way where a user
        can stick the disk in, and dselect would read and install whatever
        is on it. The main reason for this is for the user's ease. If the
        package being installed has dependancies, they should be listed 
        with some sort of "You need XXX to install this, where can I find
        it?" message.

2) "Simple" install
        When trying to install debian, I am simply overwhelmed by the number
        of packages I have to deal with, and I consider myself to have above
        average knowledge of UNIX programs! When first installing Debian, 
        a simple walkthrough of Q/A would solve most of these problems. 

        EXAMPLE: (inaccurate, but you get the point)
                Are you going to access the WWW from this system?    [Yes]
                        What is your prefered Reader?                [NETSCAPE]
                Are you going to read email on this system?          [Yes]
                        What is your prefered Reader?                [ELM] 
                Do you want X installed on this system?              [Yes]
                        Will you be writing programs for X?          [Yes]

        If all questions are displayed at once, some questions can "grey out",
        or options become unavailable as each question is answered.

3) Insist on better package descriptions
        When digging through packages, I'd frequently come across a package
        I don't recognize. I can't even tell if it would be something I'd
        want, because there's no description!

4) Graphical Install
        It is possible to make a GUI work in text, but often you'll end up
        in a situation where too much information is displayed in a manner
        that the user just can't comprehend because of all the text on the
        screen. I also understand that X may not be an option. Mid-way, you
        can use text with IBM-ASCII symbols to make nice borders around
        everything to seperate them out evenly.

5) Better keystroke selections
        I dont' know how many times I got upset when I selected a package 
        with "return" only to exit the selection process. "d" to read more
        of the description? "+" "-"?

Here's an idea of what I'm thinking of: (done in non-ibm ascii, because I'm
not on an IBM.. and done without any planning, so I can do better :)
 __________  ___________  _________
/ Location \/ Selection \/ Install \
-----------/             \----------------------------------------------------
|                                                                            |
|  <-  Base  X11  *Communication*  math  development  games  design      ->  |  
|                                                                            |
|  PACKAGE               Description                           Status        |
|  ------------------------------------------------------------------------- |
|  Elm                   A mail reader                         Installed     |
|->Netscape              A WWW Browser                         SELECTED      |
|  tin                   A News reader                                       |
|  ppp                   A communication protocol              Unconfigured  |
|  slip                  A communication protocol              FAILED        |
|  dip                   Manager for SLIP                      DE-SELECTED   |
|                                                                            |
|                                                                            |
| Press <space> on any item to select or de-select it. Press <Return> on any |
| Item to get more detailed information on it.                               |
------------------------------------------------------------------------------

In this particular design, you use tab to rotate through the "tabs", left
and right arrows to select the groups of packages you are dealing with, up
and down to scroll through the possible selections, and space to select. 

Return gives the description of the package, as well as a reason for its
status. In the case of slip above, it would search the package and say 
something like:

"file /usr/bin/slip is missing. Solution: Re-install." 

Colors would bring this sort of UI one step farther, coloring the packages
and their statuses diffrently depending on their status. Allowing a simple
filter that filters out packages with a particular status would be fantastic,
allowing people to ignore already installed or uninstalled packages if they
need to.

Similarly, we could have:

 __________  ___________  _________
/ Location \/ Selection \/ Install \
------------------------/           \-----------------------------------------
|                                                                            |
|                                                                            |
| Package                                                        Status      |
| -------------------------------------------------------------------------- |
| ppp                                                           Installed    |
| slip                                                          Installed    |
| netscape                                                      - WORKING -  |
| dip                                                           SELECTED     |
|                                                                            |
|----------------------------------------------------------------------------|

When someone starts the process of modifying their system.

Well, that's probably more than you guys wanted to hear for now, so I'll 
"send it in." Any comments or questions, I'll be available.
----------------------------------------------

 I think this makes a lot of sense, and it doesn't seem that hard to do in
Slang or ncurses or whatever. Properly done, you could have a curses or X
user interface talking to a backend that actually does the installation...

 Sincerely,

 Ray Ingles          (248)377-7735        ray.ingles@fanucrobotics.com

  Modern inductive method: 1) Devise hypothesis. 2) Apply for grant.
 3) Perform experiments. 4) Revise data to fit hypothesis. 5) Publish.


Reply to: