lgondor@utcsrgv.UUCP (Les Gondor) (08/18/83)
Here at the University of Toronto's Structured Sound Synthesis Project (a research group devoted to computer music) we have faced the problem of both experienced and novice users using the same program. Unix, with option flags and other command line arguments makes for a good interface for expert users but is usually intimidating and confusing for a novice. Hence, we have adopted the practice of writing software with graduated front ends. If a novice user (typically a musician/composer with absolutely no computer programming experience and sometimes no computer experience as well) types in the name of a command alone, he or she receives prompts for the relevant data (name of the music file, name of output file, etc.). On the other hand, an expert user would tend to incorporate all of the required information in the command line. This practice is used only in the basically non-interactive programs, menu-driven programs present uniform interfaces to the outside world. The question is, how many other people out there have used the same approach in serving a user community of widely varying competence? What other approaches have you tried? Interesting thoughts to the net or reply by mail and I will summarize to this group. From the idle port of: Les Gondor, U of Toronto CSRG {linus,floyd,allegra,ihnp4,mhtsa,uw-beaver,decvax!utzoo}!utcsrgv!lgondor ARPAddress: utcsrgv!lgondor@UW-BEAVER
rcj@burl.UUCP (08/25/83)
I like to use the following approach for a program called (for example) auas (Arithmetic Unit microcode ASsembler): $ auas auas [-B bfile] [-D dfile] [-d] [-e] [-L lfile] [-l] [-m] [-p] [-y] infile (For verbose description of switches, type "auas -e") $ auas -e auas [-B bfile] [-D dfile] [-d] [-e] [-L lfile] [-l] [-m] [-p] [-y] infile -B bfile optional MICA output file name, default is au.<infile>.b -D dfile put microcode debug information in <dfile> -d put microcode debug information in au.<infile>.d -e explanation of switches -L lfile save (normally temporary) listing file in <lfile> -l save (normally temporary) listing file in au.<infile>.l -m save (normally temporary) MICA input file in au.<infile>.m -p run only preprocessor; do not run MICA -y YACC debug option +++++++++++++++++++++++++++++++++++ Another thing that I would like to see more of is SCCS's help feature. If you do something wrong, it will give you a reference to a verbose help text, thusly: $ get -e s.pds_insert ERROR [s.pds_insert]: writable `pds_insert' exists (ge4) $ help ge4 ge4: "writable `...' exists" For safety's sake, SCCS won't overwrite an existing g-file if it's writable. If you don't need the g-file, remove it and rerun the get command. +++++++++++++++++++++++++++++ That's enough suggestions for one article, -- The MAD Programmer -- 919-228-3814 (Cornet 291) alias: Curtis Jackson ...![ floyd sb1 mhuxv ]!burl!rcj