Path: utzoo!utgpu!water!watmath!clyde!att!osu-cis!tut.cis.ohio-state.edu!mailrus!ames!ucsd!ucsdhub!hp-sdd!nick From: nick@hp-sdd.HP.COM (Nick Flor) Newsgroups: comp.cog-eng Subject: Re: Technological overcomplexity in 1523 Keywords: cognitive engineering, design, comnplexity, history of technology Message-ID: <1383@hp-sdd.HP.COM> Date: 1 Aug 88 20:07:49 GMT References: <585@sdics.ucsd.EDU> <17596@glacier.STANFORD.EDU> <587@sdics.ucsd.EDU> Reply-To: nick@hp-sdd.UUCP (Nick Flor) Distribution: all Organization: Hewlett Packard, San Diego Lines: 60 In article <587@sdics.ucsd.EDU> norman@sdics.UUCP (Donald A. Norman - danorman@ucsd.edu (or .bitnet)) writes: > >John Nagle provides a much more detailed analysis of why the plow is >so complex a device. Plus an anology with modern computerware. But >that now lets us discuss how one should design so as to deal with this >apparent complexity. > >One solution is to provide lots of options and adjustments (this was >the solution adopted in 1523) -- this guarantees great flexibility at >the cost of great complexity for the user. (Consider InterLisp or >MacLisp, or vi, or emacs). > I think a better variation on the above, is to provide the user with a set of basis operations from which a larger set can be derived. There are probably a number of such bases, so probably the best thing to do is to select the set that results in the smallest number of derivation steps for the more common operations, while providing the main operations directly and efficiently. So, here's one design rule: Design with complexity inversely proportional to usage. and it's corollary :-) Design with efficiency proportional to usage. My problem is that I'm not quite sure what is meant by "complexity". (And a whole bunch of other software engineers don't know either, which is why we have programs that only the designers can use efficiently). We usually say something is complex when: a) We don't understand it b) We can't do it c) We understand it, and can do it, but it takes too long. e.g. too many commands to type in just to compile and link a program. The user can eliminate (a) through education i.e. reading the manual, and (b) through practice. It's the designers responsibility to eliminate (c); keeping in mind the intelligience and capabilities of the target users. I guess the point I'm trying to make is that the reduction of complexity is the responsibility of both the designer and the user, and the designer alone cannot create something that is intrinsically uncomplex/complex. "Yeah, that's it. That's what I'm really trying to say. Forget what I said before." -- Saturday Night Live Nick Flor Just A Psychacker -- + Disclaimer: The above opinions are my own, not necessarily my employer's. + + Oh, sure. Sure. I'm going. But I got | Nick V. Flor * * o * * + + your number, see? And one of these | Hewlett Packard SDD * * /I\ * * + + days, the joke's gonna be on you. | ..hplabs!hp-sdd!nick * * / \ * * +