home *** CD-ROM | disk | FTP | other *** search
/ NetNews Usenet Archive 1992 #19 / NN_1992_19.iso / spool / comp / lang / c / 12764 < prev    next >
Encoding:
Internet Message Format  |  1992-08-25  |  8.6 KB

  1. Xref: sparky comp.lang.c:12764 comp.misc:3325
  2. Newsgroups: comp.lang.c,comp.misc
  3. Path: sparky!uunet!haven.umd.edu!darwin.sura.net!zaphod.mps.ohio-state.edu!caen!hellgate.utah.edu!lanl!cochiti.lanl.gov!jlg
  4. From: jlg@cochiti.lanl.gov (Jim Giles)
  5. Subject: Re: Giles' Manual Mania (Was - Re: About the 'F' in RTFM)
  6. Message-ID: <1992Aug25.171411.9865@newshost.lanl.gov>
  7. Followup-To: comp.misc
  8. Sender: news@newshost.lanl.gov
  9. Organization: Los Alamos National Laboratory
  10. References: <1992Jul23.155203.11430@newshost.lanl.gov> <1992Jul26.190928.20817@mksol.dseg.ti.com> <1992Aug4.175921.24917@newshost.lanl.gov> <1992Aug8.015640.11801@cbnews.cb.att.com> <1992Aug10.155255.28139@newshost.lanl.gov> <1992Aug10.161448.1284@newshost.lanl.gov> <1992Aug11.211023.29074@mksol.dseg.ti.com> <1992Aug12.165133.22007@newshost.lanl.gov> <1992Aug12.171748.26339@newshost.lanl.gov> <1992Aug13.175711.27749@mksol.dseg.ti.com>
  11. Date: Tue, 25 Aug 1992 17:14:11 GMT
  12. Lines: 147
  13.  
  14. Responses forwarded to comp.misc
  15.  
  16. In article <1992Aug17.163058.11643@mksol.dseg.ti.com>, mccall@mksol.dseg.ti.com (fred j mccall 575-3539) writes:
  17. |> In <1992Aug13.232656.1013@newshost.lanl.gov> jlg@cochiti.lanl.gov (Jim Giles) writes:
  18. |> [...]
  19. |> >Six of one ....  Whether the document is misunderstood or whether it's
  20. |> >wrong, it's badly written - and that's the major problem.  If a document
  21. |> >is persistently misread, then it's just as wrong as if it contained false
  22. |> >information.
  23. |> 
  24. |> This is not necessarily true.  It's rather like saying that the fact
  25. |> that we continue to have any automobile accidents at all is evidence
  26. |> that roadways and automobiles are badly designed.  [...]
  27.  
  28. Are you suggesting that the converse is true - that accidents are
  29. evidence that roads and cars are NOT badly designed?  Stating that
  30. all accidents are entirely and solely the fault of the driver is
  31. as insane as stating that *no* accidents are the fault of the 
  32. driver.  Neither of these positions is analogous to mine.
  33.  
  34. What I said was that if a document were *persistently* misread, it's
  35. certainly an indication of a problem with the *document* - especially 
  36. if there exist other documents which describe similar tools and which 
  37. *don't* engender persistent problems.
  38.  
  39. |> [...]                                       No matter what you
  40. |> do, you can't protect the really bad driver from him/herself.
  41.  
  42. Yes, but when you see reasonably good drivers have a disproportionate
  43. number of accidents on a given road or with a given car: that seems 
  44. to indicate problems other than the driver.  And, many accidents that
  45. aren't blatantly drug (alcohol) related are from a combination of
  46. causes which include *both* design and driver errors.  There's
  47. plenty of blame to go around.  If a relatively simple design
  48. change would prevent or reduce the severity of a *common* driver
  49. errors it seems reasonable to make that design change.  
  50.  
  51. Why are you so intent on deciding who to blame instead of deciding 
  52. how to correct the problem?  Yes, it's true that if you cut yourself
  53. with an old fashioned straight-razor, it's your fault - you used the
  54. razor incorrectly.  But, that doesn't mean the invention of the
  55. safety razor (which is now nearly universal for shaving) is not
  56. an improvement.  Even if *all* the errors made with the old design
  57. were the user's fault, that *still* makes it advantageous to devise
  58. easier to use designs.  Why do you oppose that?
  59.  
  60. |> [...]
  61. |> Similarly, no matter what you do with the documentation set, you
  62. |> cannot protect the poor, inattentive, or lazy reader from misreading
  63. |> it.
  64.  
  65. Based on my experience, this statement implies that UNIX documentation
  66. *induces* inattentive or lazy reading habits among otherwise competent 
  67. and intelligent users.  The `gotcha' rate and the "it's in the manual"
  68. questions are higher in frequency for *all* classes of users - not 
  69. just the lazy or the incompetent.
  70.  
  71. You are right that this is similar to the automotive analogy: *commonly*
  72. made errors could be considerably reduced or their effect considerably
  73. limited if the UNIX interface and/or its documentation were improved.
  74. The name of the game is improving user productivity, not fixing the 
  75. blame for why its sub-optimal.  If changing something reduces the
  76. frequency or severity of error - do it.  A number of possible changes
  77. to UNIX would do just that.
  78.  
  79. |> [...]
  80. |> >I've used software products where the bulk of the users *preferred* to
  81. |> >obtain and read the documents rather than asking the consultants.  I know
  82. |> >this is a possible way to write software/documents.  
  83. |> 
  84. |> I'm curious.  What products are these, and just what is this
  85. |> miraculous difference in the documentation?  [...]
  86.  
  87. The primary difference is the tool itself (I've seen editors, compilers,
  88. programming languages, databases, etc. with these characteristics): the
  89. features are independent of each other as completely as possible.  Further,
  90. the primary function of the tool is simple, clear, and uneffected by the
  91. options (if the use of options changes the *basic* character of a tool,
  92. it's time to write a new tool).  These primary functions are clearly 
  93. documented - with examples.  Options are also documented with examples,
  94. but unless the related functionality is needed, the user should be 
  95. able to get by just skimming the introductory line of each option
  96. to get an idea what's there (this is one of the purposes of making
  97. features independent).
  98.  
  99. Take an editor, for example.  More than 90% of the time, the only 
  100. features of an editor in use are inserting, deleting, moving text,
  101. and moving the active location (the cursor).  These features should
  102. be completely independent of how any other capability of the tool
  103. works.  It is possible to make *productive* use of an editor even
  104. if these are the only features you learn "by heart".  Experts are
  105. merely users who've had need of various options often enough to 
  106. remember their form and function.  I've seen editors that took 
  107. 15 minutes to learn to use *productively*.  
  108.  
  109. A menu system, if present, *should* be just a form of interactive 
  110. documentation which leads you through the more arcane stuff (like 
  111. changing fonts) until you have learned the keyboard commands to 
  112. invoke the same functions.  Even without menus, the document should 
  113. be well ordered and contain worked examples to guide you through 
  114. this stuff.  Utilities which are entirely controlled by their command 
  115. line should be documented this latter way (they, by definition, have
  116. no menus other than those built on top of them by a shell).
  117.  
  118. Finally, there should be a *subject* index of the document(s), not 
  119. just an alphabetic listing of the directives.  Option or utility
  120. names (and often even their brief descriptions) don't contain all 
  121. the subjects that the option or utility is appropriate to.  Try
  122. doing a `man -k slides' sometime: many tools that you *know*
  123. are capable of generating film, slides, overhead projections, etc. 
  124. are not listed at all.  In fact, on my Sun workstation (which has
  125. a number of such tools installed) I get: "slides: nothing appropriate".
  126.  
  127. I've used tools which are written and documented well.  From
  128. experience at our consulting office, I can tell you that users
  129. actually prefer the manual for tools like this.  They seldom
  130. ask questions and few of those they do ask can be answered
  131. straight from the manual.
  132.  
  133. |> [...]                                               By making the
  134. |> documenation sufficiently simplistic and doing the same with the user
  135. |> interface, this can certainly be achieved.  However, then you have the
  136. |> problem of the total inability to accomplish what you need to
  137. |> accomplish because you have a wall of cotton between you and the
  138. |> environment. 
  139.  
  140. This simplistic interface that you deride is actually responsible for
  141. well over 90% of all your activity.  Most of the options will be used
  142. perhaps only once in every few uses of the tool (if that often - if 
  143. they are used nearly every time it's appropriate to change the defaults).
  144. These options are still available, they're just unobtrusive: you don't
  145. *have* to know them in *detail* to use the tool for its default purposes.
  146. That cotton wall is insulation, not isolation.  
  147.  
  148. In fact, for the most part the UNIX tools are often *less* capable 
  149. than their better designed (easier to learn and to use) counterparts 
  150. elsewhere.  This is the primary cause of the success of windowing
  151. environments on UNIX, they *hide* the crummy interface.  A well 
  152. integrated environment should be easy to learn while retaining 
  153. functionality.  UNIX was evolved in a haphazard way without any 
  154. attempts to integrate the various features into a coherent environment.  
  155. It works: sort of.  UNIX is rather like a car in which you *have* to 
  156. know the detailed function of the cigarette lighter in order to work 
  157. the transmission - even though you don't smoke.
  158.  
  159. -- 
  160. J. Giles
  161.