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 <[EMAIL PROTECTED]> 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 [EMAIL PROTECTED] Modern inductive method: 1) Devise hypothesis. 2) Apply for grant. 3) Perform experiments. 4) Revise data to fit hypothesis. 5) Publish.