Advanced_Intellect Augmentation_Techniques_Jul70 Advanced Intellect Augmentation Techniques Jul70
Advanced_Intellect-Augmentation_Techniques_Jul70 Advanced_Intellect-Augmentation_Techniques_Jul70
User Manual: Advanced_Intellect-Augmentation_Techniques_Jul70
Open the PDF directly: View PDF .
Page Count: 204
Download | |
Open PDF In Browser | View PDF |
Final Report ADVANCED INTELLECT-AUGMENTATION TECHNIQUES By: D. C. ENGELBART and STAFF OF AUGMENTATION RESEARCH CENTER Prepared for: NATIONAL AERONAUTICS AND SPACE ADMINISTRATION LANGLEY RESEARCH CENTER LANGLEY STATION, MAIL STOP 126 HAMPTON, VI RGINIA 23365 CONTRACT NAS1-7897 STANFORD RESEARCH INSTITUTE Menlo Park, California 94025 • U.S.A. Final Report July 1970 ADVANCED INTELLECT-AUGMENTATION TECHNIQUES By: D. C. ENGELBART and STAFF OF AUGMENTATION RESEARCH CENTER Prepared for: NATIONAL AERONAUTICS AND SPACE ADMINISTRATION LANGLEY RESEARCH CENTER LANGLEY STATION, MAIL STOP 126 HAMPTON, VIRGINIA 23365 CONTRACT NASl-7897 SR I Project 7079 Approved by: DAVID R. BROWN, Director Information Science Laboratorv BONNAR COX, Executive Director Information Science and Engineering Division .CO~y No. 41...... . ABSTRACT This report cover. a two-year project, at the eleventh year of a growing, multiproject program that is exploring the value of computer ai~s to augmenting human intellectual capability. Outlined brieflY are the baCkground and the "bootsttapplng" nature of the procram, its resources, and the activities it has undertaken in pursuit of its goals. Advances ma4e during the project were: (1) Making operational an experimental interactive laboratory comprising an XDS-940 computer, special interface and dilplay hardware, a mOdified UCB-GENIE timesharing system, six NLS consoles and lixteen typewriter terminals, a 96-megabyte file-storace diSk, and a 96-character line printer (2) Making extensive progress in the develo~ment of special-purpose languages and softWare architecture to provide for both highly interactive service and flexible system evolution (3) Moving our team of Iystem developers into an on-line working mode, and beiinnin~ to learn how to adapt to thi' environment -- with encouraging success, as represented oy our emerging "software-engineering" methodOlogy (4) Establishing a plan, and partiallY implementing the basic services, for an information center to serve the experimental ARPA Network. User experience in applying our augmentation tools and techniques to various normal working tasks within our center is described so as to convey a SUbjective im~ress1on of What it i5 like to work in an augmented enviroment. It is conclu~ed that workinl-8up~ort, computer-aid systems for augmenting individuals and teams, ot the general sort we have been experimenting With, are undOUbtedly loing to be widelY developed and used. A very special rOle in this development il seen for multi-access computer networks: they will become special market~l&ces where a new kind of competitive evolution will take place, not only in hardware, SOftware, and special services &1 "bought" from a "utility," but &110 in roles, skills, working methods, and employment ~yn&micl for the intellectual workers at the terminalS. iii PREFAOE The re.earch de.cribed in tni. report represent. conceptual, de.iln, and develo~ment work bY a laree number of people) the ~rolram has been active as & coordinated team effort lince 1963. The research reported here was a cooperative team effort involving the entire ARC staff. The followinc is an alPhabetical listing of the current ARC staffl Geoffrey H. 8all, Walter L. Ba.s, Vernon R. Baughman, Mary G. Caldwell, Roberta A. Carillon, David Cassere., Mary S. Church, William S. Duvall, DOuglas C. Enlelb&rt, William K. Enllilh, Ann R. GeOffrion, Martin L. Hardy, Jared M. Harril, J. D&vi~ Ho~~er, Charle. H. Irby, L. stephen Leonaro, John T. Melvin, N. Dean Meyer, James C. Norton, Bruce L. Parlley, William H. Paxton, Jake Ratliff, Barbara E. Row, Martha E. Trun~y, Edwar~ K. Van de Riet, John M. Yarborough. The following former ARC staff members also contributed to the researehl Donald I. Andrews, Rocer D. Bates, David A. Evan., Stephen R. LeVine, Stephen H. paavola, Helen H. Prince, Jon. F. Ru11tson, Elmer B. Shapiro, F. K. Tomlin. v CONTENTS ABSTRACT ••••••••••••••••••••••••••••••••••••••••••••••••••••• 1i1 PREFACE •••••••••••••••••••••••••••••••••••••••••••••••••••••••• v LIST OF ILLUSTRATIONS ••••••••••••••••••••••••••••••••••••••••• ix I INTRODUCTION •••••••••••••••••••••••••••••••••••••••••••••••• 1 A. General ••••••••••••••••••••••••••••••••••••••••••••••••• 1 B. Relearch A~proach and Strategy •••••••••••••••••••••••••• l C. principal Ooncerns During the Contract period ••••••••••• 2 D. structure of This Report •••••••••••••••••••••••••••••••• ) II RESOURCES AND ACTIVITIES ••••••••••••••••••••••••••••••••••• S A. Introduc~1on •••••••••••••••••••••••••••••••••••••••••• •• S B. Re.aureel ••••••••••••••••••••••••••••••••••••••••••••••• S C. AC~1vitie8 ••••••••••••••••••••••••••••••••••••••••••••• 19 III APPLICATIONS AND EXPERIENCE •••••••••••••••••••••••••••••• 2) A. IntrOduction ••••••••••••••••••••••••••••••••••••••••••• 23 B. The Augmented Software Eng1neer •••••••••••••••••••••••• 24 C. The Augmented Manager •••••••••••••••••••••••••••••••••• 63 D. The Augmented Report-Writing Team ••••••••••••••••••••• 10) E. The Augmented Presentation •••••••••••••••••••••••••••• 112 IV THE NETWORK INFORMATION CENTEW ••••••••••••••••••••••••••• 119 A. Overview of the ARPA Network •••••••••••••••••••••••••• 119 B. Some ot Our Pro8peetive Uses for the Network •••••••••• 122 C. Need for a Network Information Center ••••••••••••••••• 12S D. NIC Development Activity •••••••••••••••••••••••••••••• 126 E. current NIC Plan •••••••••••••••••••••••••••••••••••••• 129 V CONCLUSIONS. RECOMMENDATIONS, AND PLANS ••••••••••••••••••• l)) A. Introduction •••••••••••••••••••••••••••••••••••••••••• 133 B. Conclu8ions Relevant to Other Augmentation-System Deve1opers •••••••••••••••••••••••• 13) C. our General orientation Towards Future Research ••••••• 146 D. Overview of Current Augmentation Research Oenter Plan ••••••••••••••••••••• 1S0 Appendix AI User Features of NLS ana TODAS •••••••••••••••••• 17) BIBLIOGRAPHy ••••••••••••••••••••••••••••••••••••••••••••••••• 195 DD FORM 1473 ••••••••••••••••••••••••••••••••••••••••••••••••• 199 vii ILLUSTRATIONS Figure 11-11 XDS940 COMPUTER FACILITY ••••••••••••••••••••••• 6 Figure II-21 SPECIAL DEVICES CHANNEL •••••••••••••••••••••••• 7 Figures 111-1 through 111-281 PHOTOGRAPHS SHOWING NtS DISPLAY IN USE BY A SOFTWARE ENGINEER •••••••••••••• 3S-62 Figures 111-29 through III-56. PHOTOGRAPHS SHOWING NtS DISPLAY 01 MANAGEMENT INFORMATION FILES ••••••••••• 7S-102 Figure V-11 "HERMAN MILLER" CONSOLE ••••••••••••••••••••••• 137 Figure V-21 ONE-PIECE CONSOLE ••••••••••••••••••••••••••••• 138 Figure V-3. CURRENT CONSOLE DESIGN •••••••••••••••••••••••• 139 1x I A. INTRODUOTION General The AUlmentatlon Res.arch Center (ARC) is a community ot relearChers, lupported by .everal contract .ponlor.. It 1. 4edicatedto explor1nl the pOI.ibi11tie. tor aUlmentinl the intellectual activitiel ot people working in complex problem-.olvinl .ituationa. By "augmentation" we mean increalinl the capability ot a per.on or orcanilation to approach complex situation. and identity problem. pre.ent there, to lain comprehenlion ot the nature and context ot the.e problem., and to derive .olution. latiltyinl liven constraints. Such increaled capability may be retlected in any ot the tollowinc way', falter and better com~rehen.len. the pOI.lbi11ty ot IIin1nl a u.eful decree ot comprehenlion in lituationa that were previou'ly too complex. talter and better lolution., and the po •• ibl11ty of tindinl solution. to probleml that previou.ly .eemed insoluble. B, Relearch APproach and stratelY ARC" orientationil baled on the tact that modern man 1. contronted with problem. ~t increaainc complexity and urleney, and the allumption tbat in att~cklnc the.e problem. the be.t lenl-term paYOff. will more likely come throulh the development ot more powerful problem-,olvin, tool. ot a ceneral nature thanthroulh direct, piecemeal attack' on .pecific proble•• ot immediate urleney, Thil orientation wa. Ipelled out in 1962 1n a Plann1nl document (Ref, 2) ~h&t provide~ ~he concep~u.l framework under WhiCh ARC ha. been evolvln,. (Note. reterence number. are no~ conlecutive 1n thi. report, but reter to ~b. Chronolollc&l bibl1olraphy.) our approach to aUlmentation re.earch ha. two e •• ential a.pect •• ~be ext.rnllll&~ion ot lntellec~u&l .tructur.sln .ymbollc torm, makine UI. ot hi,h1Y interactive computer ly.te.l, and the apPlication ot a boot.trapp1nl _ .tra\ecy in there.earch prolram tor developine aUlmentatlon .y.tem •• The ~urpo.e ot externalilation via computer IYlteml 11 to makelt po •• ible lor people to work with intellectual structure. (.uah al computer prOlram. or hilhly int.rconnec~ed bodie. of textual information) of much creater .1ze and complexity than can be ettec~uall~ handled with traditional ~echn1que., The a1m 1n de.1lninl the computer .y.~em. hal -been to provide people with the 1 I INTRODUOTION Sec~lon lncrea.incly flexible and powerful way' of usinl .tructure. Of .ymbol'~o repre.ent intellectual structures and 01 viewinl and mani~Ula~inl ~hese symbolic .tructure •• The boot. trapping .tratelY hal been used in order to enlure the tightelt PO"1blef.edbac~ 1n the procels of developlnl aUlmentat1onaid. and in order to catalyze the re.earch prolram by brincinc higher and hie her level. of aUlmentation to the researchers them.elvel. All aUlmentatlon aid. designed by ARC are~ntended for actual, ~ractical ule in ARClt.elf,and once implemented they are, tor the mOlt part, uled heavily on a day-to-day balls, C. Prlncipal Concerns Durinl the Contract Period DUrinl the period COYered bY thi. contract, three onloinl procelle. reflected ~he principal concerns of ARC. the fOllowinc lection. de.cribe the.e procelse •• 1. NLSDevelo~ment At the end ot the previoul contract period (lee Ref. 12), the multi-u.er On-Line SYltem, NLS (whiCh had been developed from prlviou •• inlle-u.er .y.teml), had been carried trom the earlY dell In stale. throulh almo.t complete implementation. Durinl the .ub.equent two yearl, NL~ha. developed into an experimental operational Iy.tem that 11 now in heavy routine u.e by the ARC .tatf. ARO re.ources have been heavilY committed to lncrea.inl the operational .peed and reliability 01 the many component. of the .,.tem, improvinl the interaction otthe.e components within the total .ystem, and improvinc and extend in I the u.er features at the .y.tem. 2. Evolution of Goal_ One u.ale trend that hal become evident durinl this periOd 1. a tendency tor .taft member. who are workinl on a common proble.to cather around an NLS con.ole 10 a. to have on~line acce.. I I a croup to the working 111e. that they are u.inl in common. Even When working individUallY, croup member. trequentlf .it at neilhborlnc con,ole •• 0 as to be ablato converle about related ta.k. in prOlres •• Thi. trend hal been reflected, throUlh boot.tr,pplnc, I I an evolution ot ARO loal. trom the augmentation ot individuals 2 Seotion I INTRODUCTION to the augmentation of task-oriented teams. MUCh thought has been put into deciding which areas of research seem to offer the greatest promise for improving the ability of aUlmente~ individuals to cooperate on a common problem, ano during the next few years one of the major activities at ARC will be the development of team-augmentation facilities and techniques. Some of the developments currently being eonsidered are discussed in Section v. 3. ARPA Computer Network Participation During the contract period we completed plans for connecting ARC's computer facility into the ex~erimental ARPA Network, which eventually will link the computer facilities of about 14 computer-science research centers. We feel that the Network is a significant step in the evolution of augmentation technology, and we are working with the other Network participants in orOer to ensure the success of this experiment. We have a&reed to provide a Network Information Center (NIC) for the Network, and over the past two years we have been committing an increasing portion of our resources to the ~lanninl and development of NIC services. We expect that ~he success of ~he Network experiment will be significantly affected by the quality of services that the NIe can provide. D. Structure of This Report The remainder of thiS report is divided into four major sections and a supporting appendix. We have attempted to describe What we have done and learned during the palt two years, without elaborating either on the technical details of our hardware/software system or on the past history of our re.earch program. These latter topics are covered in the references cited in the Bibliography of thiS report. In particular, the following may be Of interest: The 1962 planning document (Ref. 2) provides the conceptual background for our approach to aUlmentation research, 3 I INTRODUCTION Sec~ion The 1968 FJCO paper (Ret. 14) eives an overview of our Augmen~ation Research Center, The 1970 final report for another spon.or (Ret. 18) di.culsel many technical details ot our s,ltem implementation. Seetlon II of th1s report describes the resources _. human, orlanlzat1onal, har~ware, and sottware _. ~hat ARC hal available tor its re.earch and discusses ARC's ong01nl activities. This material is .upplementea bY APpendix A, Which briefly describes several of the primary elements ot our aUlmentatlon system. Seetlon III is a colleetlon ot sUbjec~1ve descrlptions ot our experience augmented worker. 1n several ot ARC" central activities. Two of the de.eriptlons (tor software encineerinc and man&lement reaearch) are supported by illustra~ed scenario. showine actual work in progress. &. Section IV contains a description of the ARPA Network from a u'er's standpOint and a discus.1on of some prObable, early uS.S ot the Network. We point out lome of the service. that Network participants will need in order to make effec~iv. ule ot the Network and lndicate how we are attempting to .atilty those needS through the Network Informatlon Center. In Section V we discuss lome ot the conclu.1ons drawn trom our relearch and indicate the directions 1n which we plan to develop our re.earch 1n the fu~ure. II RESOURCES AND ACTIVITIES A. Introduction In this lection we describe the resources th&t have been available to us during the past two years and the activities we have undertaken to appl~ these resources to the pursuit of our augmentation goals. We use the term "resources" in tne broad sense to include all the assets we possess as a team, including the followingl (1) Hardware facilities (2) System software ()) User systems (4) Personnel (human resources) (5) organ1zat1onal relationships. Our major organizational relationships are to SRI and to the ARPA Network. The Augmentation Research Center operates at the grou~ level within the SRI Information Sciences Laboratory and, consequently, has access to the extensive and varied reaources available through a larie. diversifieC re8e&rch organization such as SRI. As an initial participant in the ARPA Network. we will have access to all services that eventually become available through the Network. The implications of this are explored in Sections IVana V of this report. Our other resources are ~i8cusse~ in some detail below, along with brief descriptions of our major on-goin, activities. B. Resources 1. The Computer Facility At the begining of tne contraet periOd the current ARO computer facility was almost complete, and the basic coniiluration has been relatively stable over the past two Years. This Section briefly describes this facility (diagrammed in Figures 11-1 and II-2) and discusses some of the changes and additions made during tne contract period. The most sig1n1ficant additions have been the ARPA 5 CONSOLE TTY COMMUNICATION EQUIPMENT MAGNETIC TAPE MAGNETIC TAPE CONTROL CENTRAL PROCESSOR WITH TIMESHARING HARDWARE ~""'---4 MAGNETIC r- TAPE MAGNETIC TAPE PAPER TAPE STATION 16 Te etypes I I I 16 K CORE I CONTROL: RAD 16 K CORE 16 K CORE 16 K CORE SPECIAL DEVICES CHANNEL TA-5919-3R FIGURE 11-1 XDS940 COMPUTER FACI LlTY T.V. Monitor DISC CONTROL DISPLAY CONTROL DISC FILE 5"C.R.T. T.V. Camera o Keyset Keyboard DISPLAY GENERATOR 12 NLS Consoles To MIC DISPLAY CONTROL DISPLAY GENERATOR 2 2 EXECUTIVE CONTROL NETWORK INTERFACE o ARPA Network INPUT DEVICES CONTROL LINE PRINTER CONTROL LINE PRINTER TA-7101-3 FIGURE 11-2 SPECIAL DEVICES CHANNEL Seetion II RESOURCES AND ACTIVITIES Network interface and an external core system. A more complete description of the facility 11 contained in Refs. 11 an~ 18. a. The Leased computer Figure 11-1 is a block diacram of the facility as lea.ed trom XDS. A central processor with timesharing hardware operates trom a 6hK memory in four bank. with 24-bit wordS and a cycle tiMe of 1.8 microseconas. On channels Sharing memory access with the CPU are three magnetic-taDe arives, a paper-tape station, and eommunication equipment for Sixteen typewriter terminals. A second memory bUSI provides ~1rect access to memory for the RiDs (Rapid Acce.! Devices -- e.g., drums) and the non-XDS portion of the facility, designated "Special Devices Channel" in Figure 11-1. There are three drums on the system, operat1nl trom a common controller and aecesainl memory through an XDS device called a Direct Accels commmunieation8 Ohannel (DACO). EaCh drum has a capacity of 500,000 24-bit wordS, a transfer rate of 120,000 words per .eeond, and an average latency of 17 m1111seeon~s. b. Special Devices Channel Figure 11-2 is a block diagram of the ~ortion of the facility that has been put together bY ARC. The following sections describe the major component •• (1) Executive Control The executive control prov10es an interface to the 940 through the Memory Interface connection (HIe). It acts as a multiplexer that allows asynChronous access to core by any ot the six aevices connected to it. It includes extensive debugging and monitorinl &108, allowing the monitoring of data and addresses tor any 8 Section II RESOURCES AND ACTIVITIES selected device and permitting "off-line" operation of any of the devices. (2) Disc File System The disc file system was put in operation in August, 1966. It consists of a Bryant Mo~el 4061 disc file and alsociated controller. The system hal a capacity of 32 million words, an average access time of 18S milliseconds, and a data transfer rate of 43,000 words per second. The disc controller was designed and built by Bryant to interface with the executive control. Specifications for the controller were develope~ jointlY by Bryant, Project GENIE at UC Berkeley, and ARC. (3) Display system The diSPlay system consist. of two identical SUbsYlteml, each with a diSPlay controller, a display generator, and .ix high-resolution S-inch CRTI. A closed-circuit television system carries display 1mage. trom the CRTs to television monitors in tne working area. The display controllers were desilned and built by ARO. They access an~ procels "command tables" that are resident in 9kO core. A command is roughly assoc1ate~ with a user and pOints to a "~isplay list" in the user's core space. The display list in turn pOints to buffers containing actual display instruetions (commands to the display generator to prOduce imltes). ~i.play controller han~les all core accelainl. inclUding memory mapping for tne user"core apace. xt pa.ses the display in.tructions along The to the display generator. The display lenerator. and CRTs were purchased from Ta8ker Instruments to ARC's specifications. They have general character and vector capabilities. Presentations for each of the six ORTs are 9 Section II RESOURCES AND ACTIVITIES generate~ sequentiallY, ~he display controllers CRTs at a liven time. ana unblank sienall from select one or more of the A h1gh-re801ut1on (87S-1ine) closed-circuit television Iystern transmits ~1splay pictures trom each CRT to a television monitor at a correapond1nl NLS console. (4) Input Dev1ce control In addition to ~he television monitor, each con.ole has a keyboard, a binary keyset, and a mouse. Appendix A Cescribes the use of these devices. The state of these input devices is read by the 1n~ut device controller at a preset interval (about )0 milliseconds) and written into a fixed table in 940 core. Bits are added to information from the keYboards, keysets, and mouse switches to indicate When & new ch&raeter hal been received or When a Iwitch haa cbanle~ state during the sample periOd. A new ch&raeter or switch change causes an interrupt to be issued at the end of the sample period. Mouse coordinates are dilitized by an AID converter an~ formatted by the input ~ev1ae controller as beam-position instructions to the display generator. A user procr&m may include the mouse coordinates, as wr1tten by the input ~ev1ce controller, al part of a ~1spl&Y list. Tnis allows the mouse ~olition to be continually di.played with no attention from the CPU and no perce~tible delay to tne u.er. (5) Line Printer The line printer 1s a 96-character drum ~rinter leased from Data Pro~ucts Oorporation (Model M600-11Al. With the 96 characters, printing Ipee~ il 340 lines per minute. The line ~r1nter controller proceases print butters Of arbitrary length that have been let up in core by a controlling program (lingle-line buffer. are 10 Section II RESOURCES AND ACTIVITIES normally used). (6) Network Interface The network interface provides communication between the 940 and an Interface Message Processor (IMP) on the ARPA Computer Network. The int.erface operates from message buffers in 940 core. Messages to the Network are read by the interface from these butfers and transmittea to the IMP. Similarly, messages received trom the IMP are written 1nto buffer space in 940 core. Instruetions from the 940 enable the system for receiving messages and control the sending of messages. A "linked-buffer" scheme permit.s flexible memory allocation. The interface message processor and its commu"ications protocol are discussed in detail in Ref. 19. c. Typewriter Terminals At the beginin, Of the project the onlY terminals in use (other than the display consoles) were Model 33 Teletypes. Since then we have been experimentinc with ~ifferent type. of terminals. lOOking for improvements in speeo, print quality, and portability. The newer terminals now in use, and some Qf their features, are briefly Oescribed in this section. It ShoUld be remembered that tbe only terminals we have considered are those with upper- ano lower-case print and fUll-~uplex o~eration. (11 The Model 37 Teletype was one of the first terminals added. and three are now in use. It operates at 15 characters per seeond (as compared to 10 eharacters per second for the MOdel 33) and has excellent print quality and rei1ability. It hal a high noise level and is laree and heavy. (2) We have four GE Terminet-300 terminals in use. These have .wi~ch-seleetab1e rates Of 10, lS, and 30 11 Sec:t.ion II RESOURCES AND ACTIVITIES characters per second. The~ nave a cha1npr1ntinl mechanism that is relativel~ Quiet and have good print quality when in adjustment. These terminals seem to require more freQUent maintenance than any others in use, but we have early models and the~ may improve in later produc:tion. (3) The best terminal we have found for portability is the Execuport, manUfactured by Computer Transceiver Systems. These terminals are used by our staff for remote operations, usually in a staff member's own home, and come in a portable case complete with acoustic: coupler and weighing only 26 pounds. They have switch-selectable rates of 10, 15, and 30 characters per second. The thermal print mechanism is very quiet in operation but print quality is poor; characters are made from a S x 7 dot matriX. d. MOdifications in Progress mo~1ficat.ions to the facility that will provide significant improvement in service are now heing implemented. These are an external core syst.em and faster drums. In addition, an accurate clock system is being added. TWO (1) External Core system An external core system has been completed and will be integrated into the facility in the near future. It currently consists of a lingle 32,OOO-word bank with access switching to allow access by u~ to eight devices. provisions are inclUded in tne design for expansion to 16 devices and two core banks of 64,000 worC1s eacn. The core cycle tim-e is 1. S microseconds and the word length 15 24 bits. The primary purpose of this core system il to provide storace for display buffers, the network interface, and the line printer. These are tne devices that need constant buffers for relativelY long periods of time and therefore require "frozen pages" when 12 Section II RESOURCES AND ACTIVITIES operating from 940 core -- a 'ign1ficant factor in limiting system response, since tbay take up space that could otherwise be used for swapping. (2) Faster Drums From system response stUdies (Ref. 18) it is apparent that a primary factor in re8ponse is the swapping ban~w1dth. TO improve response (an~ add More users), we are in the process of replacing the XDS drums with Univac FH-432 drums. These drums rotate at 7200 RPM, ~1ving a transfer rate of 365,000 words per second (as compared to 120,000 for the present drums) and an average access time of about 4 milliseconds. In addition, we are formatting the new drums in a way that will allow a page transfer to begin at any position on the drum. Since a 20h8-word page fills two-thirds of a band, this will give an average page transfer time of about 8 milliseconds. The interface for the drums will be deSigned and built by ARC. It will connect to the 940 through a second Memory Interface Connection (MIC). replacing the current RAD-DACC combination shown in Figure 11-1. ()) Clock System An accurate clock system is being added to assist us in system measurements. This eloek Iystem provides two type, of time information -- absolute and relative -- that are written into fixed location. in 940 core at regular intervals. The long-term drift on the clock will be less than 1 second in 250 days. 2. Software Systems The central foeus of software aetivity at ARO i. tne evolutionary development of the On-tine SYstem (NtS). This takes place within a rich environment of .oftware systems. many of which were created .pacificallV to aid in its 13 Section II RESOURCES AND ACTIVITIES development. The major 8ys~ems. a. f~llow1ng i. a brief ~elcript1on of the The Timesharing System (TSS) MOlt basic to the o~eration of NtS. as well as all our other software systems, is the timesharing system (TSS) running on the XDS940. TSB was originally developed by Project GENIE at UO Berkeley, but responsibility for maintenance of the ARC version currently lies with the Center itself. Nt! runs as a sUDsystem un~er TSS, ana users allo have accels to other subsystems such as the NARP assembler, KDF file storage Iystem, and DDT debugging system. The 8u~port of new har~ware and improved res~onse to the NtS user are the major areas of improvement in TSS over the past two years. b. Software Architecture (1) Intro~uctlon The development of NLS has been facilitated greatly through the use of a powerful complement of lanluagel and compilers, mOlt of which were designed at ARC. The languages used range in generality from the NARP assembly language through a collection of special-purpose languages (SPts) unique to NLS implementation. Their major features are discussed brieflY below. (2) NARP A few parts of NtS can be most conveniently COde~ in assembly language (e.g., the data page an4 tne diSPlaY-buffers), and tor these the NARP assembly language is used. Also, tor historical reason., the timeSharing system (TSS) and most ot its SUbsystems (e.g., KDF and DDT) are coded in NARP. Section II RESOURCES AND ACTIVITIES ()) MOL940 MOL940 (or .imply MOL) is a machine-oriented language for tne XDS940 and wal created by ARC to a1d in the programming of NtS. MOL combine. the flexibility of assemblY language with the algorithmic clarity ot higher-level procedure-oriented languages. MuCh of NL! 1s coded in ~OL. During the contract period MOL has been SUbstantiallY rewritten to improve its pertormance and provide new programming features. The current MOL compiler was produeed Using the new version of Tree Meta (described below); consequently. the MOL compiler now generates binary machine code directly rather than producing assembly-language code as an intermediary. (4) Special-purpose Languages (SPLs) Many of the higher-level operations ot NtS are carried out by programs written in one of a set of special-purpose languages (8Pts). Each of these languages 11 translated into machine COde by a custom-made compiler produced with the Tree Meta system. Each SPL represents an attemPt to formalize a particular function of NLS, aiming at a syntax appropriate to the data base and operations required for NtS, while at the same time embOdying the potential and peCUliarities of the XDS940 computer. The four SPLs currently in use are the input-feedback langUage, the structure-manipulation langUage, tne content-analysis language. and the strine-construction language. Detailed ~elcr1ption8 ot the SPLS will be found in Appendix D of Ref. 18. AlthOUgh extensive chanles in the SPLs are planned for the near future, no basic conceptual change. were made during the contract periOd. 15 Section II RESOURCES AND ACTIVITIES (5) Tree Meta Tree Meta i5 a compiler-compiler developed at ARC; it is used to produce compilers for MOL, for all the special-purpose languages, and for itself as well. Section IV-C-2 of Ref. 18 con~ains a brief overview of the current version of Tree Metaj a more detailed description is in preparation for release as a separate report. c. NUTILITY TO aid our software engineers in maintaining the aoproximately lS0 symbolic and binary files that make UP NLS, a special subsystem called NUTILITY has been developed. This SUbsystem can archive or retrieve any of these files. compile or produce listings for any of the source-code files, and load the entire NLS system or any part of it, requiring programmer interVention only in the event of errors that NUTILITY cannot handle itself. 3. User Systems This section brieflY describes our principal on-line user subsystems; more complete deseript10ns are contained in Appendix A. a. On-Line System (NLS) The On-Line System, NLS, as currently implemented, is & highly SOPhisticated system oriented toward the on-line construction. editing, and viewing of files. NtS is a SUbsystem of the timeSharing system described above. Its size is currently about thirty thousand machine instructions, of which about half make up the mOlt frequently used portions. The source languages used are NARP, MOL940. and the SPLs. A complete description of NLS, incluOing program Oocumentat1on, is in Ref. 18. 16 Section II RESOURCES AND ACTIVITIES b. Typewriter-oriented Documentation-Aid System (TODAS) In response to growing pressures to make access to our on-line files available to Network participants, as well as to members of our own staff working at remote locations, we develo~ed a new SUbsystem called TODAS (Typewriter-Oriented Documentation-Aid System). TODAS uses the same structure for working files as NLS and provides most of the same editing and view-specification capabilities, along with a few special features of its own. Thus, users can freely move from one type of terminal to another without losing access to any of tneir on-line WOrking records. TODAS offers our on-line users the possibility of trading off speed of operation for freedom of location. It also makes 1tpossible for us to increase the number Of on-line users that can be serviced simultaneously, since a TODAS user places less heavy demands on our computational resources than does an NLS user. c. output Processor (PASS4) The output Processor (alSO called "PASS4" for historical reasons) i8 a program for formatting on-line text files for output through a variety of devices inclUding line printers, paper-tape-driven typewriters, and computer output to microform (COM) devices. 4. Personnel The linal, critical element of ARC's resources is its staff of prOfessional researchers and support personnel. The experimental nature of our work requires high-caliber individuals who can function effectively in our team. learn quickly to work with our systems &n~ methOdologies, and progress creatively along with the rest of the team and its products. our staff members need to be able to a~apt to the rapidlY changing ARC environment and to persevere through very disturbing periOdS Of system service level fluctuation. Our selection of people for specific taskS is influenced not only bY skill. already developed. but also by , 17 Section II RESOURCES AND ACTIVITIES potentials for further develonmeni. Effective utilization of our human resources requires a careful balance between select1nc those people most likely to get critical tasks ~one well and tnose whose ~eveloped capabilities will be straine~ by the tasks they undertake (and hopefully extended in the process). In ARC's earlier years our primary need was for individuals skilled in tool buil~ing~ with only secondary importance assigned to methOdology development skills. ThU8, most of our ~ar11er researchers were system-oriented software an~ har~ware engineers. As the systems developed became more generally usetul, providing aids and service levels beyond the system engineers' basic needS, we entered a maturing phase of facing the challenge to use the system for a broader range of tasks. PeOPle nave recently been adae~ whose interests focus on the stuay of tne user system itself~ on use of the system for management purposes, an~ on its role in supporting the Network Information Oenter. These people have brought different needs an~ perspectives into the grou~, directly aiding the ttesign of many system improvements. Interaction at the day-to-day system development level has provided & rich learning exper1ence tor most people, particularlY in technical area. they might not otherwise have learned mUCh about. This diffusion of knowle~ge in areas SUch as system design, system builOinl, system analysis, and management adds new perspective to each perlon's approaCh to prOblems in hi. own area. of specialization. 18 II RESOURCES AND. AOTIVITIES Sec~icn At present we have a full-time Itaff of 25, constituted AI follows: Prcfesl10nal ••••••••••••••• l8 Supervisory..... 1 Softwlre •••••••• 11 Hardware • • • • • • • • 4 Other ••••••••••• 2 Non-professional........... Technical....... 7 3 Clerical • • • • • • • • c. ActiVities 1. IntroQuction Tbis .ection outline. the nature and purposes of the major activ1tiea carrieO on durinl the pa.~ two years of our project. It was the pursuit of theae activities that produced tne developments, experiences, and conelusions disculsed in the other sections of this report. The greate.t portion of our resources were allocated to the basic ARC bootstrapping pursuit, which consists of, these major activities: (1) Development and operation 01 our .erv1ce s,.tem (2) D.evelopment of methodologiel for harnes.ing the user features offered by the service s,stem (3) APplication of the •• aUlmentation tools ana to the pursuit Of all our activ1tles ~echniQu.1 (4) A.sessm.n~ Of our overall augmentation ay.tem to guide it. further evolution. 19 Section II RESOURCES AND ACTIVITIES other major activities received considerable attention and resources: TWO (5) Oonnection of our Oenter into tne (6) Develo~ment Network. 2. Develo~ment and ARPA Network of an Information Center for the operat~n of Our service system The coordinated develo~ment of hardware and software aspects of our augmentation system. which has been under way since 196), was continue~ w1th particular em~ha.11 on activities aimed at preparing us for our role in the ARPA Network. We have committed a sUbstantial portion of our resources to improving the reliability and capacity of the service system and will continue to do 80, a major milestone beinc our ~lanne~ transfer to a PDP-10 computer this fall. Another major effort hal been preparation for expanded remote-worker eapabilities. both to fac1litate use ot our system by other Network participants and to continue our efforts to increase the flexibility of workinl arrangements for member. of our own research commun1ty. There 18 alreadY one member of our team (a software encineer) who work. remotelY from hi. home in sonoma county (about 100 miles from our Center), and we bave plans to exten~ this capability to other members a8 conditions permit. 3. Development of Methodologies for Harne.sing the User Features Offered by tne Service System It hal lone been part of our ~lans to apply toward this activity relourcel com~arable to thOle for the .erv1ce system development activity, but unloreseen difficulties 1n the latter area have force~ UI to divert more of our energies to it than was oricinally anvi8 ed. H6wever. many methodolocical developments have ~een evolving more or less naturally al individuals adapt the features of the service system to their particular needs. The stronlest ,uch evolution has taken place within the area of software engineering, which 1s the focus of 20 Section II RESOURCES AND ACTIVITIES consistently heavy activity by many of our people. In one specific area _. management system ••• we have enga~ed in an explicit effort to develop improved methodology. Th11 hal been tunde4 separately bY a contract with the Rome Air Development Center, Which has enabled UI to ap~lY one or two fUll-time people towar~ this Management Systems Research activity for the past two years. 4. APplication of AUgmentation ToolS and Techniques to the Pursuit of All our Activities Our augmentation system is in daily use by most members of our staff. Detailed discussions of several exam~lel of this use are given in Section III. S. Assessment of Our Overall Augmentation System to Guide Its Further Evolution One of the basic requirements for carrying out a bootstrapping o~erat1on is to maintain constant awareness of the status of that operation so as to be able to make rational decisions about what developments Should be undertaken next. We have made some attempts to quantify this process through the taking of system performance measurements and the Simulation of various existing and proposed system configurations. However. most of our work in this area still has a very intuitive character, and we have oeen hampered in our efforts to improve on this bY the necessity for committing so much of our resources to basic service-system development activities. 6. Connection of our Center into the ARPA Network To make it pOSSible for ARC to participate in the ARPA Network (8ee Section IV). we had to design. build. and install a device to interface our computer facility to a Network Interlace Mesaage Processor (IMP). Thi. Network interface is described in section II-8-1-f. 7. Development of a Network Information Center (NIC) In ~reparinc to f111 our role as Information Center for the ARPA Network. we have been involved in developing the tools and methOdologies that we will need in order to provi~e an 21 Section II RESOORCES AND ACTIVITIES increasingly on-line, special-purpo.e library for a widelY distributed clientele. The high technological base of this Network experiment demands that we try to harness a8 much as possible of th1s teehnolog~ for the Network Information Center 10 that this service will be likely to enrich the whole experiment. In addition to investing our resources in special-purpose capabilities for the NIC, we have felt compelled to increase our investment of resources in basic service-system development 10 as to be able to supply a better level of service to Network participants, We had to get our system architecture, our compiler languages, our documentation, and our hardware configuration into a state where we woulO be able to expan~ our user-carrying capacity rapidly. This led to a number of major efforts: (1) A series of significant architectural and compiler changes within our software systems (2) Several rather intensive trial designs for alternate expanded-capacity system configurations (3) A concerted effort in developing computer aidS for analyzing performance characteristics of proposed s~stems. These efforts culminated in a decision to move our systems onto a PDP-10 computer late tnis fall, and we are currently involved in the leaSing, purchasing, contracting, engineering, fabricating, and programming activities necessary to accomplish thi. tran.fer. 22 III A. APPLIOATIONS AND EXPERIENCE Introduction This section consists of relatively informal accounts deleribing the apPlication of our augmentation systems to several areas of our own work While attempting to convey some feeling for what it is like to work within an augmented total system. Section 111-6 was written by Charles H. Irby, an ARC software engineer. It describes in considerable detail the waYI in Which an augmented software engineer can exploit our com~uter 'Yltem. to help him in the continuing development of the.e same systems. In addition, Section 1II-B serves as an introduction to our On-Line system, NLS. It is systematicallY illustrated with ~hotographl of an NLS display, showing actual sequences of displays that the software encineer WOUld see a. he worked. (Readers who are not familiar with NLS will find a description of its user features in Appendix A, which inclUdes a glossary of .pec1al NLS terminology.) Section 111-0 deals with "augmented management" and wa. written by James C. Norton, who headS our Management Systems Re.earch Activity and is also involved with carrying out much of our o~erational project management. This section, illustrated with display photograPhs like those of Section III-B, shoWS how lome of the mOlt sophisticated features of NLS can be put to ule in a field outside Of softWare engineering. SpecifiC applications to project eost accounting, eo.t estimation, work Planning, and other areas are covered. The discussion develops a total-system concept of the meanings of "management" and "management augmentation" and reveals how augmentation interact. with various a.pects of ARC. Section III-D describes our use of augmentation sYltem. in writing, editing, and prOducing report.. The author of this section, David Casseres, il ARO" technical writer and has been centrally involved in ARC report writing since the inception of this contract. Here we lee the u.e of augmentat10n systems 1n & field Where it is difficult to applY them, becau.e the ~roblems of technical writing are 80 many and so dependent on individuals, 23 Section III APPLICATIONS AND EXPERIENCE It appears that although the benefits ot augmentation in writing, editing, ana producing reports are con.iderable, the most sicnificant benefits come from the u.e of a very close team-collaboration method, which would be virtuallY impossible without augmentation. Section II1-E was written by Douglas C. Encelbart and covers the augmentation of communication between a speaker and his audience. Thi. kind of communication, Which we have used for explaining aspects of our work to audiences rancing from a single person to thousands, 1s potentially one of the most exciting areas of application for augmentation technology. B. The Augmented Software Engineer One of the central objects of our augmentation research has been to develop special tools and working methodS tor augmenting the design and implementation Of our system software. Section III-B-l belOW outlines the general augmentation needs of a 80ftware engineer and the aids provided at ARC to meet these neeOs. Section II1-B-2 describes the ways in which our software engineers actually use the systems we have been developinl in their daily work. We pay particular attention to the use of the system-guide file, SYSGD, which 1s central to the software-engineering augmentation sy.tem. The use of SYSGD i . illultrateO with photographs of an ARC interactive Oisplay. Ihowing the views seen by the software engineer as he works to implement a new NtS feature, uBing SYSGD as & reference. l. General Considerations The augmented software engineer nee4s tne following minimal eapab1litie., (1) The ability to rapidly accels, manipulate the source code 24 un~erstand. and Section III APPLICATIONS AND EXPERIENCE (2) The ability to easily compile the source co~e (3) Easy acce.8 to appropriate loading and debUlging capabilitie •• The NtS, TODAS, NUTILTY, DDT, and di.c archive .ub8Y8~em. together with the SYSGD source-code file directory provide the ARC software engineers wi~h the,e capabilities. To the ARC lottware engineers, the aspects of Nt! that are perhaps of most importance are the ability to find a particular place1n the code or documentation Quickly an~ then to change it easilY. Our co~e ana documentation tiles are normal NtS text files, and the languages that we use have been specially developed to be compatible with the NLS system. These language, are all 8tring·base~, and translation is independent of the hierarchical .tatement structure. This permits the programmer to u.e structural conventions to make his source-code text easier to understand and manipUlate. They allo allOW NLS link. to be Uled for identifier., thUS permittinl one to u.e the "jump" commands to follow lubroutine calls in the source cOde. In addition, level clippinl, line truncation, and so forth may be u.ed to control the depth ot detail Of the cOQe and as,sociated documentation that one seel. These are very important factor. in quiCkly finding a specific location (or .eries ot loca~1on.) in a file. content-analysis filterinli8 often used to locate references to variables or SUbroutines or to locate a partiCUlar piece of COde (tor example, code containing a syntax error reporte~ by the compiler). The content analyzer il al.o used to locate chanle. that have been made to a file by a .pecific prorrammer or dUring & .pecif1ed per1o~ of time by scanning the automaticallY maintained "statement signatures." These .icnatures contain the date of most recent modification for each statement and the1nitials of the user who made the modification anO may al.o be used without the content analyzer to .ee Who wrote (or la.t modified) each .tatement ot code or documentation and When he did it. When viewing a secment of a tile, the softWare engineer as Sec~ion III APPLIOATIONS AND EXPERIENCE must be able to easilY mOdify the text of the file. exten.ive editing ~ower of Nt! make. this possible. The The ability to easilY effect changes to various textual and structural entities and to make multiple s~rinl sUbstitution. over structural entities While controlling the selection of statements tor the substitution via level clipping, content analysiS, keyword reordering. and 10 forth gives one great flexibility and power while editing. In addition to being able to modify the code and as.ociated documentation quiCkly, the softWare engineer may compile (or cross-reference) hi. code files directly from NtS. Once again, he may use the statement-selection meChaniSMs of NtS to control what the compiler get. as input. This might be done, for example, to limit the compilation to ~u.t one branch of a tile (one specified Itatement and all itl sUbstatements), thu. making it pOSSible to have in a sinl1e file source code written 1n .everal different languages. We also have available as another SUbsystem the project GENIE on-line loader and symbOlic debugger, DDT, for testing and debugging the results of our ehange. to the code files. Although DDT works at the as.embly-language level, it is a powerfUl ~ebugler with such features a. multi~le breakpoints, symbolic ad~reslinl, single-instruction execution, conditional breakPointl, and 10 forth. To aid the software engineers in maintaining their a~~roximatelY one-hunOred-fifty or 10 symbOlic and binary files, a special .ubsys~em called NUTILITY was developed. Thi • • ubsY8tem is able to archive, or retrieve from arChive, any of the files, to compile or produce lilting_ for any of the ,ource tiles, and to load the entire system, requiring human intervention only 1n case ot errors. Central to our collection of source-code tiles is an on-line file called SYSGD. It containl the followin,. (1) A schematic diacram Of the overlay Itrue~ure of the Nt! system. The overlay. represent (al tar &s ~ract1cable) functional areas of the system, e.I., parameter specification, structure manipulation, and 10 forth. 26 Section III APPLIOATIONS AND EXPERIENCE (2) Links to other f11e8 that describe the architecture and logic of the system. (3) An overlay index li.t1nc all overlays, with the following information about each overlay: (a) A link to the file conta1ninc the lource code for the overlay. (b) Information about where it runs in core, how large it is, and where it i8 in the archive. (c) A list of all the ~roeedure8 in the overlay, with one-line functional descriptions and with links to the code and documentation in the source-code file. A procedure index with a categorical listing of according to function. The NtS keyword system can be used on this index to retrieve a list of ~rocedures (with links to the source COde and documentation) when a set of categorie. has been .elected. (4) ~rocedures (5) A system. section where one may document bugs found in the (6) A section where one may record ideas tor improving. the sYltem. Because of ~re8ent file-space problems, it is not pos.ible to keep the SYSGD file, the a.lociated documentation tiles, and the source-COde files on line at all time. (they are generally kept in a disc archive). This Situation renders the SYSGD file leiS useful than it would be it ~he tiles were alway. readily accessible. The combina~ion of the capabilities discu.sed above gives the ARC software engineer the ability to easily manipUla~e the NtS system to fit the needs ot ARC experimentation, thUS creatly increasing his own abilities as a loftware engineer. These capabilities would be creatly enhanced by the addition to NtS of an interactive incrementallanluage. Thi. would eliminate the time now spent on com~111nl ~art. Of the entire system and loading them in order to test Changes ma~e in the lource code of the system, and would allow one to debul at the source-COde level. 27 Section III APPLICATIONS AND EXPERIENCE 2. The Aucmented Software Engineer 1n Action a. Introduction This section i. in the torm of a Icenario, delcribinl how a loftware engineer works to 1m~lement a new NtS feature by manipulating files of text (both ~ocumentation and actual code). The reader is encouraged to pay 8~ecial attent10n to the following: (1) ~he eale with which one can move within and among tile 1 (2) The languale. that have been developed for particular purposes and the way in Which they fit into the NLS framework () The eale with which one can locate and modify it ~esired cOde (4) The delign of the NLS .y.tem-guide tile and the way. in which it can help the software engineer (5) The use of the NUTILITY SUbsystem to automatically archive. compile, print, and cross-reterence files a. well as to load new versions of the system (6) The use of the DDT debugcing program to te.t and debug additions to the system at the machine-language level. Pleale note al.o that one movea within and among files by means of "Jump" command.. At certain times when jumping, the u.er hal an opportunity to chanle the parameterl ("VIEWSPECS") that control the selection of information to be di.played on the acreen. For example, in the jump that occurs between Figure, 111-3 an~ 111-4 below. a "branch-onlY" parameter i8 set and the level-clipping and line-truncation parameters are let to "ALL". one may jump to a selected statement, to a statement that is structurallY related to the selected statement, to a statement having a eiven name, or to a statement speCified by a "link" (a textual con.truct that .ymbo11cally point. to a particular 28 Section III APPLICATIONS AND EXPERIENCE statement within the file or within another file). In a~dition, stacks ot display-start statement identifier. and VIEWSPECS are maintained for the last sevaral locations viewed within the file an~ tor the last several files aece.se~, &n~ jumps may be m&~e relative to these stacks so to restore a previous view. &. b. Notes on Illustrations In ~elcribinl the ~i.play views and the processes theY reflect, we aSlume that the reader is familiar with the user feature. of NLS to the extent that they are ex~la1ned in Appen~ix A. Appendix A also contains a glossary of soecial terminology, Nt! In examining the photograPhs, note that the name of an NLS comman~ appear. at the top of the display; this is the comman~ currently specified bY the user. ImmediatelY to the left of this "comman~ feedback line" is a small block of text called the "VIEWSPEC area," where VIEWSPEC parameters are di,playe~ on two lines, When the VIEWSPECS are ~isPlayed in small . characters, they are currently 1n effect; when they are enlarged, it mean. that the user has just let them and they will co into effect when the display is next re-created, The upper line shows ~he current level-clipping and line-truncation parameters (.ee Appendix A tor eX~lanat1on). The lower line in the VIEWSPEC area .hows code letters indicating the status ot various display features that are controlle~ by VIEWSPECS. c. Scenario and lllu8tration. Notec The illustrations for this scenario are grouped together, beginning on page 35. We log into the t1melharinc system, increase our drum 29 Sec~ion III APPLIOATIONS AND EXPERIENCE allocation, and en~er the NNLS (New NLS) IUb.ys~em eiving a set of initial. and & u.er name (lee Fieure III-l). The NLS display comes u~ (aee Fieure 111-2), and we load the NLS system-guide file, SYSGD, with level anC 11ne truncation let to one and with blank 11ne. dilplayed between statements (see Fieure 111-3). The major sections of the SYSGD tile (lee Fieure 111-3) are as follows. Program Overlay Structure (1) A diagram showing the overlay structure used in the current implementation of NLS (see Figure 111-7 below). Global Documentation (2) Links to other files that describe the tile structure, a.sign PhilOSOPhY, system architecture, and commonly u.e~ terminology of the Nt! system (lee rieures 1I1-~ and 111-5). overlay Index (3) A list of all Of the overlays in the system (each overlay represents & funct10nal area olthe Iystem) with pertinent data about each overlay (lee rigures 111-8, 111-9, II1-24, 111-25, and 11%-26 below). Catecoriel tor Procedures (4) Catecorical lilt of procedures, by function, to be used with the keyword retrieval .Yltem. tist of Known BUI' (5) A (6) ~lace where bUll may be recorded. Map of Symbols A map of symbols to be u.ed with the DDT deouI11nl .y.tem. 30 Section III APPLICATIONS AND EXPERIENCE Thoughts for (7) Im~rovements A ~lace where idea. about the further aevelopment of NtS, TODAS, and NUTILITY may be recor~e~ (see Figure II1-6). The initials ot the creator (or last modifier) an~ the date and time of creation (or mo~ification) are stored internally as the "signature" of each Itatement. Since statement signatures are available for dis~l&Y upon request, one can easily determine who made or last commented upon a given statement (see Figure 111-6). TheSYSGD file is basically a directory file with a sufficient amount of descriptive material so that one can use the various retrieval tools of NLS to locate any ~e.ireQ procedure or documentation. To illustrate how the SYSGD f11e is used, we go through the steps necessary for a programmer to implement a new command in NtS. The new command will be called "transpose" and will interchange two textual entities. The command language for u.ing this new command will be modeled atter that of the "move" command. Let UI begin (Figure 1II-7) with the diagram of the Nt! overlay structure. From the Ilobal dOCUmentation of the system we know that the main-control (mnctrl) overlay consist. of the code that implements the commanC2 language for NL! commands. We therefore use the "Jump to Vectorlabel" command to 10 to the branch within the overlay index branch that contains information about the mnctrl overlay. This in~orm&tion inclUdes the following (lee Figure 111-8)1 (1) A link to the source-code file for this overlay (2) A list ot all Of the procedures within the overlay (3) Brief documentation a. to the functions of each procedure (4) Links to each procedure's source code. See 31 Sec~ion III APPLICATIONS AND EXPERIENCE Figure 111-9; whereas Figure 111-8 shows only the first line of each statement, Figure 1II-9 shows all line. -. otherwise the two displays are the same. If we take the link to the "we" proce~ure (Figure 111-10), we see the top-level code for the NLS command language, written in one of the Special-Purpose Languages (see section II-S-l) designed for this use. Jumping to the "move" command code (Figure 111-11) an~ increasing the level-clipping parame~er by one, we see the top-level command-language code for the "move" command. Since this is to serve as a model for our proposed "trans~ose" command, we will copy the branch and make the necessary changes to it. The necessary changes are SUbstituting the string "Transpose" for the string "Move", "qt" for "qm", an~ "tr" for "m" (see Ficure 1I1-12). If we look at the code for the "move" command (Figure 111-13), we see that it makes calls on routines in the parameter-specification (prmspc) overlay to allow the user ~o make selections on the screen. and to routines in the text-editing (txtedt) overlay to implement the algorithms for the commands. Since the syntax for a procedure call permits an entire link to be used in place of & procedure name, we can use the "jump to link" command to see What these routines in txtedt actually do. If we jump "up" from the procedure pOinted to bY the link (Figure 111-14), we see that once again this code can act as a model since it only implements the delimiting of the selecte~ entities and goes to another routine, movetx,to actually move the text. We therefore copy this branch also and ma~e the necessary changes for the "transpose" command (lee bottom of Figure II1-14J Figure 111-15 is the lame as Filure 111-14 except that all lines are shown). The necessary modification. are changing the procedure names to correspond to our code in the mnctrl overlay and changing the name of the routine tha~il called to actually dO the 32 Section III APPLICATIONS AND EXPERIENCE tranl~oI1tion. The "jump to name" comman~ takes us to the movetx routine (Figure 111-16), which again serves as a mOdel tor our new routine, trantx. After out~uttinl the file we do "Jump rile Return u twice to let back to the SYSGD file. Thus our new command hal been implemented into the source code for NtS. We must now compile the main-control and text-editing overlays &n~ reload the system. Rather than do the compilation trom NtS, we will use the NUTltITY SUbsystem to both com~11e the files and load a new version of the system, which can then be run experimentallY under DDT (see Figures 111-17, 111-18, and 111-19). In Figures 1II-19 and 111-20, the new command is successfully tested. Let us now eontinue our examination of the SYSGD tile (for a reView, see Figure 111-)). AI shown above, the SYSGD file can be used to help one examine and mOdify the source code. There are al'o ways in which it can help one locate procedures of a liven functional type. The use ot the keyword system with the "index" branch and the use of the content analyzer on the "ovlind" branch are two examples of this aid. The "index" branch containa categorical listings ot the procedures in the system by funetion. U8inl the keyword retrieval system, one can select and weight categories and have the named entries (links to ~roceduresin thil case) presented in order of deereasing relevance, according to the user's weichting and order ot lelect10n. One may then take the links and examine the documentation and code tor each ~rocedure (see Figures I11-21, 111-22, and 111-23). The "ov11n~" branch ot the SYSGD tile contains information about each overlay in the system, inclUding lists of all of the procedurel, organized on an overlay basiS, with one-line explanationl of functions (see Fieure. 111-24 an~ 111-25). Since a brief description of each procedure'. function is associated with its name, we can use the content analyzer to help us find procedures of a 33 Sec~1on III APPLIOATIONS AND EXPERIENCE given type. For example. we can 1n.ert a content-analysis pattern to search tor atatements containinc ~he .tring "display" (Ieericure 111-26). We compile the pattern (.ee Fieure 111-27) and re-create the di.play with the content-analysis filterinc in effect. Now onlY statements containinl the strine "di.play" will be ,hown (see Figure 111-28). The result Of this content filtering on this branch of the file i- a list ot procedures that in 80me way deal with the display. Thi. ia & u.etul way to retrieve up-to-date 11sts ot procedure. of a liven functional type. _LOGOUT IRBY. DELETE SCRATCH FILES. TIME USED 0:0:0 IN 0:0:17 rOTAL TIME USED 12:15:11 IN 212:11:46 07/23/70 1107:03 ARC [3-') IS UP 1." -ENTER NLS. PASSWORD- OJ( 07/23170 1107:10 -CHANGE DRUM ASS ro 300. NEW D. A. = 300 OUT OF 300 _NNLS. Inltlals please: CHI User: lRBY TA-7079-11 FIGURE 111-1 LOGGING IN TO TIMESHARING SYSTEM AND ENTERING NlS SUBSYSTEM 35 1 1 HJLV :SYS6D LOAD FILE DUMMy r TA-7079-12 FIGURE 111-2 36 NLS DISPLAY BEFORE A FILE IS LOADED OR CREATED. command has been specified but not executed. A "Load File" ALL ALL GJLV JUMP ro I rEM :SYSGD. 07/23/70 0'.':37 C~I : (overlay) PROGRAM OVERLAY SrRuCrURE (doc) GlOBAL DOCUMENrArION 0 + (Ovllnd) OVERLAY INDEX & DEBUG INFORMArION (Index) CAtEGORIES FOR NLS PROCEDURES (Bugs) llsr OF BUGS (map) MAP OF SyMBOLS AND BINARIES (thoughts) r~OUG~rs FOR IMPROVEMENrs TA-7079-13 FIGURE 111-3 MAJOR SECTIONS OF THE NLS SYSTEM-DIRECTORY FILE, SYSGD. The command specified in Figure 111-2 has just been executed: a "Jump" command to display the "Global Documentation" branch has been specified but not executed. 37 ALL ALL JlJMP ro LINK :FILEsrRUCrlJRE 8JlY (doel GLOBAL DOClJMENrArrON fol" doeumeniailon on fIle sil"ueiure seeO(fllesirueiure.tl f f or do eumeni ai Ion on s pee I a I prob I ellis see (n I sdocument ai I on. t I foT' document ail on on data forlllS see (dataforlllS. t I TA-7079-14 FIGURE 111-4 38 "GLOBAL DOCUMENTATION" BRANCH OF SYSGD WITH "BRANCH-ONLY" FEATURE IN EFFECT. The user is about to follow a link which will cause the file-structure documentation to be displayed. ALL ALL JUMP TO ITEM HJLV :SYSGD. 07/23/70 0'.':37 CHI: loverlay) PROGRAM OVERLAY STRUCTURE I doc) GLOBAL DOCUMENTATION IOvlInd) OVERLAY INDEX , DEBUG INFORMA nON IIndex) CA TEGOlllES FOR NLS PROCEDURES I Bugs) LIST OF BUGS I map) MAP OF SYMBOLS AND BINARIES It hought s) 0 THOUGH TS FOR IMPROVE MEN TS + TA-7079-15 FIGURE 111-5 The user has now returned to the same view shown in Figure 111-3 (several steps have been omitted from the sequence). A "Jump" command to display the "Thoughts for I mprovements" branch has been specified but not executed. 39 ALL ALL HJLV [thoughts) JUMP ro NAME FIRSr OVERLAY THOUGIHS FOR IMPROVEMENrS 0« 70103/20 WI' '''tt/25 1'51: 23 tt~: 23 traIls TraIl returns can be done through a ~ush down stack. Every tIme the seq-gen lIIakes a tratl branch It ~ushes the ~sld on a stack. The user lIIay deftne a tratl return syntax. If he has one. and It ts found tn a statelllent. the stack ts ~o~ed and the ~o~ed ~sld used to start the seq-gen out agatn. WI' "/11125 1n1:24 WI' "/tt/25 1n1:24 cont ent ana I yzer Coroutlnes also seelll to be the answer to the content analyzer case ~roblelll. A set of standard coroutlnes could be selectIvely tnvoked to 1II0dtfy the text on the way to the rsr and CV tests. rheJ would convert cases. skt~ ~unctlon. etc. rhey could be Invoked and dts-tnvoked tnde~endent of the ~aren structure of the pattern. a la dtrectlons. WI' "/11125 1n1:2' Don' t have t he sequence gen. set the cont ent flags In the r I n9 TA-7079-16 FIG U,R E III -6 The "Th oughts for I mprovements" branch serves as a repository for ideas about what could be done to improve the system. A "Jump to Name" command has been specified to display a statement named overlay"-the user has specified this name by typing it in. II 40 R+ 2 1 GJLV loverlay) JUMP ro VECrORLABEL MNcrRL PROGRAM OVERLAY srRucrURE I oct I prlllSpc IIlAct r I vctedt -vctrl t odls t odprn calc key.d dlsbuf -lnpfbk • - d at I - dl ddl ut I It Y seqgen CdSPIY sdblllnp - CICIllP I f st rlllnp clnup - rec I nt - auxcod txt edt - I nk sub TA-7079-17 FIGURE 111-7 FI RST BRANCH OF SYSGD FI LE: USED BY NLS SYSTEM DIAGRAM OF OVERLAY STRUCTURE 41 ) JUMP TO LINK 'HY Inmctrl) lIlaln control overlay link to file Inls. IIlnctrl. : JxbbJhnz) Ikdf ERICKSON) starttnglocatton: orglllct=24000 page 5 cells used: 21450 procedures In the MNCTRl overlay 1wc) what charact er , Iwalt) walt for MNCTRl Icaqlll) command accept. questIon mark Idmanl) dIsplay. then go to maIn I set dUIll) set up dummy st at ement 1cmdrtt) command reset IlIldtspec) kludge for 'set' imatn) read a character TA-7079-18 FIGURE 111-8 A BRANCH GIVING SUPPORTIVE INFORMATION FOR MAIN-CONTROL (MNCTRL) OVERLAY. Display shows only the first line of each statement. A Jump to Link" comma"nd has been partially specified-no selection has been made. II 42 ALL JUMP TO LINK :MNCTRl t I"LY (mnctrll maIn control overlay I Ink to fIle (nls. mnctrl. : JxbbJhnzl Ikdf ERICKSON) st art I ng I ocatl on: orglllct=24000 page 5 cells used: 27450 procedures In the MNCTRl overlay Iwc) what character tOINlS. MNCTRl. wc : JgebJI I walt) walt for MNCTRl (NlS. MNCTRl. walt: J9WJ) (caqlll) cOlllmand accept. quest Ion lIIark (NlS. MNCTRl. caqlll : J9wJI (dlllenll dIsplay. then go to lIIaln INlS. MNCTRl. dllla!n : J9WJ) ( set dum) set up dUlllllly st at ement INlS. MNCTRl. setdulII : J9wJI TA-7079-19 FIGURE 111-9 SAME AS FIGURE 111-8, EXCEPT THAT DISPLAY SHOWS ALL LINES OF EACH STATEMENT. The link in the statement named "we" has been selected; this link specified another statement named "we" in a file called "MNCTR L" under User "N LS" (the characters "jgebJ" in the link are VIEWSPEC codes). 43 4 ALL GJLV Iwe) bp :::'a: :::'b: :::' e: :::'d: :::'e: :::'f: :::'g: :::' I: :::' J: :::'k: :::' I: .. 0:::'111: :::'0: :::'p: :::'r: :::'8: :::'v: =' x: =SP: JUMP ro I rEM an zap CASE 6ROUP:edlt SrArE:xa.edlt OSPI"< Append Statement) 6ROUP:edlt SrArE:b8.edlt OSPI"< Break Statement) 6R0 UP: ed It 0 SP I. ftEPEA r l·.) TA-7079-20 FIGURE 111-10 44 RESULT OF "JUMPING" ON THE LINK SELECTED IN FIGURE 111-9 (from Index in SYSGD File to Source Code for "wc" Procedure in Main-Control Overlay), A "Jump" command has been specified to display a particular branch of this code, II Jl y + COpy t BRANC~ Q='m: GROUP:edlt DSPlcMove hESJ) . ='c: SrATE:mc.edlt DSPI~ c Move ='W: srATE:mw.edlt DSPI~ c Move =' n: srATE:mn. edit DSPI~ c Move ='V: SrArE:mv.edlt DSPI~ c Move ='d: cdeasy ~ 0: -cvcrEDr. qllld>. ='1: srATE:IIlt.edlt DSPI~ c MO'le ='1: srATE:lIll.edtt DSPI~ c Move ='t: srATE:mt.edtt DSPI~ c Move ='s: SrATE:lIls.edtt DSPI~ c Move ='b: SrATE:lIlb.edlt DSPI~ c Move :'p: SrATE:lIlp.edlt DSPI~ c Move ='9: srATE:1Il9· edtt DSPI~ ( Move =CA: REPEAT I JECJ) ENDCASE Goro ccaqlll> CASE Character) HJ=c.Character Word) JEJ=w.Word Number) JEJ=n.Number VIsIble) JEJ=V.Vlslble Invlstble) JEII-=l.Invtstble LInk) JEJ=I.L1nk rext) JEJ=t. rext Statelllent) HJ=s.Statement Branch) JEJ=b.Branch plex) JEJ=p.Plex Group) HJ=9· Grou P TA-7079-21 FIGURE 111-11 CODE DESeRI BING COMMAND LANGUAGE FOR "MOVE" COMMANDS, IN A SPECIAL-PURPOSE LANGUAGE. A "Copy Branch" command has been specified to create a duplicate copy of this command-language code. 45 ALL ALL GJLV + 0.:=' t: JUMP fO PREDECESSOR SROUP: edl t DSP [ ( franspose f IfESlfl CASE .:=' c: SfArE:trc.edlt DSP[H rranspose Charact er I .:=' W: SfArE:trw.edlt DSPI"( rranspose Word) IfU.:=w,Word .:=' n: SfArE:trn.edlt DSPI"( rranspose Number) IfEIf:n. Nunlber .:=' v: S rArE:t rv. edIt DSPI"( franspose VIsIble) .:='1: SfArE:trl.edlt DSP["( franspose InvIsIble) .:='1: S rArE :t r I • e d I t DSP("( rranspose lInk) If Elf: I,ll nk .:=' t: SrArE:trt.edlt DSP("( franspose fext) HIf:t, rext .:='s: SfArE:trs.edlt .:=·b: SrArE:trb.edlt DSP(" ( rranspose Branch) .:=' p: S fA rE :t r p. e d It DSP(" ( rranspose plex) H*:p.Plex ':='9: SrArE:tr9·edlt DSP(" ( franspose Group) IfE*':=9' Group .:=CA: REPEAr (.EC.) ENDCASE soro (caqm> TA-7079-22 FIGURE 111-12 46 By executing the "copy branch" command, then substituting "Transpose" for "Move," "qt" for "qm," and "tr" for "m," we produce the commandlanguage code for the "transpose" command. A" Jump to Predecessor" command has been specified to redisplay the unaltered command-language code for "Move." ALL JUMP TO LlNIC ALL : THED T • JL Y :: m: GROUP: edtt DSP' e ::' d: cdeal," 0: • . TA-7079-23 FIGURE 111-13 COMMAND-LANGUAGE CODE FOR "MOVE" COIYIMANDS, WITH ALL LEVELS SHOWING, We now "Jump" on a link to a routine named "qmc" in the "TXTEDT" overlay file which implements the "Move Character" command (the link in this case is a subroutine call in the "Move" commandlanguage code-photo shows display just before "Jump" command is executed), 47 ALL COpy BRANCH MHY t t % move % [ qmcl + [IB1.IPl TO 41 + [IB2.IP5 TO I I SO TO END. [ qmwl +< wdr> [IB 1.IP 1 TO 41 + [IB2.IP5 TO I I + [IP7.IPII SOTO <1110 vet x> END. [ qmnl + IIB1.IPl TO 4) + IIB2 .IP5 TO II + [IP7.IP1) SOTO END. I qml) + IIB1.IPl TO 4) + IIB2.IP5 TO II SO TO END. \ qlllvl + \IB1.IPl TO 41 +< vdr) IIB2 .IP5 TO I) + END. I qlllt) + lIB 1.IB2) : END. I qtw) + IIB1.IPl TO 4) + ISB1.SPt ro 41 SOro END . MOVErx + lsB2.sP~ ro 81 .. Iqmwl + ISBt.SPt ro 41 + ISB2.SP~ ro II + ISP7.SPII sora END. Iqlllnl + lsBt.sPt ro 41 + ISB2.sP~ ro II + IIP7.IPII soro END. Iqlllll + IIB1.IPt ro 41 + IIB2.IP~ ro II sora END. Iqlllvl + IIBt.IPt ro 41 + IIB2.IP~ ro II + IIP7.IPII soro END. I qllll I + IIBt.SPt ro 41 + IIB2.sP~ ro II + IIP7.SPII soro END. Iqmtl + IIBt.IPt ro 41 +(tdr>ISB2.IBJ.SP~ ro II TA-7079-25 FIGURE 1II-15 SAME DISPLAY AS FIGURE 1II-14 BUT WITH ALL LINES SHOWING. We now follow a "GOTO" instruction by using the "Jump to Name" command (photo shows display just before "Jump" command is executed). 49 All All JUMP F1L E RETURN :MNCTRL t MJlY I movef xl f :C IF SFIBll :: SFIB2} THEN !F B1 < B2 THEN ST B1 .. SFIB!l P2. ~LlT~. P5 PL P4 P7. pa SEIB!! ELSE ST B1 .. SFIB1} P7.pa P2. Hln. P5 P6. P4 SEIB1} ELSE BEGIN ST B1 .. SFIB1} P2, ~Lln. P5 P6. P4 SEIB1}; ST B2 .. SFIB2} P7. pa SEIB2} END: r-e II U GO TO END. If r-anf x} PROCEDURE I bug1. bug21 ; REF bugl. bug2; + eIIPl.IP2} OELPTRIPl P2} OELPTRIP5 P6} :C IF SFlbug!} :: SFlbug2} THEN IF bug! ( bug2 THEN ST bugl .. SFlbugll Pl. P5 P6. P4 P7. P! P2. pa SElbugtl ELSE ST bug! .. SFlbugll P7. P! P2. pa Pl. P5 P6. P4 SElbugll ELSE BEGIN sr bug! .. SFlbug!) Pl. P5 P'. P4 SElbug!}; TA-7079-26 FIGURE 1II-16 50 The "movetx" code has been copied and altered to produce the "trantx" code for the new command. We now return to the previous file by using the "Jump File Return" command (photo shows display just before "Jump" command is executed). advised tty open; :8 ARC 1.76 (3-') IS UP .ENTER NlS. PASSWORO- OK 07/23/70 1128:01 .ExECUrrVITY -1. • • • -RESET . • lI-F II e. ct I f I Ie rext; MNCTRl rxrEor • lI-Wr-lt e . lI-Cornpl Ie . lI-Wr-t{ e B I nar-l es. lI-Abor-t lI-60 TA-7079-27 FIGURE 111-17 The NUTI L1TYsubsystem allows one to automatically archive, retrieve from archive, compile, print, and cross-reference files (display is now running in Teletype-simulation mode, as it was before N LS was started up in Figure 111-1). 51 eMU rIL TV . advIsed tty open: :1 ARC 1." (3-') IS UP .ENrER NlS. PASSWORD- 01( 07/23170 1121:53 .EXECunVITV -1. • • • -RESEr. • .R e ad BIn ar I e s . • load NlS . • F II e. ct I file All files. J.60 TA-7079-28 FIGURE 111-18 52 Once the changed code has been compiled, NUTI LlTY can be used to automatically load a new version of the system. AL l AL l fRANSPOSE WORD MJlY . DUMMy rh4 sis a sf a' emenL + TA-7079-29 FIGURE 111-19 Under DDT we run the new experimental N LS and build a dummy statement to test the new "transpose" command. In this photo the command has been specified and two words selected. 53 ALL rRANSPOSE WORD ALL M JL Y . DUMMy : st at ement f I s a rhls. TA-7079-30 FIGURE 111-20 54 Here the "transpose" command has been executed. ALL ALL KEYWORD SELECr FIlElO t IHY 11ndexI CArEGORIES FOR NLS PROCEDURES fIle handlIng l'llelol RANDOM FILE I/O +. Ilodrfbl Irdhdr) Ifllco~y) • FILE COPYING 1co~f III 1get .ka) Ifllref) FILE BLOCK REFERENCING • 1 lodrsv) 1lodrfb) I lodsdb) 1fllcontrol) FILE CONrROL • lo~nffk) Ilodrfb) Ibrt"x) Irdhdr) TA-7079-31 FIGURE III-21 Another branch of the SYSGD file allows one to select procedures according to function with the "Keyword" commands. I n this photo the user has selected the word "fileio" as a keyword; we see that the statement named "fileio" contains two other names, "Iodrfb" and "rdhdr," in a special format. 55 ALL ALL JUMP TO llNIC IHY :UTlLTY t llod ... fb) load ... andolll fIle block OINLS. UTlLTY. lod ... fb : IgWJ) t l ... dhd ... ) ... ead heade ... block of fl Ie INLS. IOCTL .... dhd ... :gWJ) TA-7079-32 FIGURE 111-22 56 DISPLAY PRODUCED BY KEYWORD SYSTEM. When the selected procedures are presented, one can "Jump," via the associated links, and examine the documentation. and code for the procedure. ALL ALL JUMP FILE REruRN :SYSGO • J LV ( I 0 dr f b ) IT his 1st he PRO CEO UREt hat eve r yon e c a I 1st 0 h a ve a ran d0 m f I I e b I 0 c k loa de dint 0 cor e . AIso. ItIs po s sIb let 0 obtaIn a block of core whIch Is empty and not assocIated wIth the ~lle. For example. a long lIteral regIster Is created In thIs way. rhere are several tIC blocks In core. some of whIch may be 'frozen'. whIch means that they may not be moved or used for anythIng else. LOORFB loads the desIred fIle block Into one of these core blocks. On entry. the A contans the random fIle block nUlllber. and the B contaIns the block type. or - t 1F no f I I e b I0 ck 1st 0 be rea dint 0 that cor e b I 0 c k . rhe algorltnlll Is apporxllIlately as follows: First. a block Is chosen. A quick scan Is made to fInd an unused block. If all are In use. rWEN a circular counter (NACP) Is used to find the 'next' core block that Is not frozen. If a II are frozen. RERROR Is ca II ed. RERROR Is called IF the desired clock does not exist. If the newly found core block contlans a fl Ie block. then TA-7079-33 FIGURE 111-23 DOCUMENTATION OF LODRFB PROCEDURE. The "Jump to Link" command specified in Figure 111-22 has been executed, and the user has set up a "Jump File Return" to display the SYSGD file again. 57 R+2 JUMP TO ITEM HJLV ( (OvlIndl OVERLAY INDEX' DEBUG INFORMATION ( auxcodl 10rks and 10rk ri art I ng (rec I nt I recovery and Initializing (dat al dat a page (utlltylO utility package • ( I np1bkl Input 1eedback (mnctrll main control overlay IprmspCI parallleter specification overlay I vct edt I spec I a I charact ers and vect or II be I vct r II vect or package TA-7079-34 FIGURE 111-24 58 The overlay index branch of the SYSGD file contains overlay in the system. A "Jump" has been specified on the utility package. The VI EWSPEC code "R+2" left corner of the screen shows that in executing the structural levels of text are to be displayed. information about each to display the branch appearing at the upper "Jump," two additional JUMP TO LINJ( :UTlLTY MJlY [utt It y) utt lit y package t Oink to file [NlS.utllty.1:lgebjJ) (kdf PARSLEY) st artt ng I ocat Ion: orgut y=14000 page J cells used: 17715 locatton for telllporarles: uH prefix for generated labels: utI procedures In the UTILTV overlay [utgd) UTllTY general declaratIon. [push) push b-reg onto general ttack [ pop I pop genera I tt ack ont 0 b- reg [reillt) release lIteral regltter [getllt) get lIteral reglrter [regadrl get regl rt er addre .. [apchrl append character to a-rtrlng [apsrl append a-rtrlng to another [Idchrl load character frOIl a-rtrlng [cpysrl copy one a-ttrlng Into another [asrbufl lIlove a-ttrlng to buffer [lIlvbfbfl lIlove buffer lup tn corel [lIlvdownl lIlove buffer (down In core) TA-7079-35 FIGURE 111-25 INFORMATION ON THE "UTILITY" OVERLAY, Including Part of the List of Procedures in the Overlay. The first substatement in this branch contains a link which the user is about to follow. 59 ALL ALL INSERT CHARACTER MJLY (OvlIndl OVERLAY INDEX' DEBUG INFORMATION [.dlsplay.]; (auxcodl forks and fork startlng r lInk to fIle (nls.AuxCOD. : IgwJI Ikdf ERICKSON I st art I ng I ocat Ion: I orgauX::24000 page 5 ce II s used: I 26234 locatlon for telllporarles: I ad prefIX for generated labels:J axl procedures In the AUXCOD overlay (qkfl freeze natelllent I NL S. AUXCOO. qkf : JgWJ I (qkal re I ease frozen nat elllent (NLS. AUXCOO. QKA : IgwJI Iqplsll poInter show iNLS. AUXCOO. qplsl : IgwJI Iqpmll poInter delete (tH S. AUXCOD. qpllll : IgWJ I TA-7079-36 FIGURE 111-26 60 Here the user is back to the SYSGD file (several steps have been omitted from the sequence). In the first line of text on the display he has inserted a content-analyzer pattern for finding procedures containing the string "display." ALL AL L CONrENr ANALYZER MJLY (Ovllnd) OVERLAY INDEX' DEaUG INFORMArION O[·dlsplay·]: (auxcod) forks and fork start Ing + lInk to fIle Inls.AUxCOD. : IgWJ) (kdf ERICKSON) startIng locatIon: i orgaux=24000 page 5 ce II s used: J UHf locatIon for telllporarles: I axt prefIx for generated labels: I axl procedures In the AUXCOD overlay (qkf) freeze statelllent (NLS. AUXCOO. qkf : IgWJ) (qka) re I ease frozen st at elllent INLS. AUXCOD. QKA : IgWJ) Iqpls1t poInter show INLS. AUXCOO. qplS1 : IgWJ) Iqpmll poInter delete INLS. AUXCOD. qplll1 : IgWJ) TA-7079-37 FIGURE III-27 The pattern is compiled with command "Content Analyzer." The display is not yet affected-the content-analysis code compiled from the pattern will be run when the user changes a VI EWSPEC. 61 ALL ALL JUMP TO LINt< :RECINT MIL Y (OvlInd) OVERLAY INDEX' DEBUG INFORMATION (setdls) set up display O(NLS. RECINr. 8etdls : IgWJ) [·dlsplay·]; r Idlsmes) display mes8age INLS. UTILrY. dlslles : IgWJ) Itxt) create a new dIsplay pop INLS. UTILrY. txt : IgWJ) Iclrdpy) clear dIsplay INLS. UTlLrY. clrdpy : IgWJ) Iresdpy) reset dIsplay INLS. UTILrY. resdpy : IgwJI Iclralll clear entire display INLS. UTILrY. elrall : IgwJI Inulldpyl nUllber dl8play TA-7079-38 FIGURE 111-28 62 RESULT OF CONTENT ANALYSIS: a list of procedures that in some way deal with the display (since they contain the word "display") Sec~ion III APPLIOATIONS AND EXPERIENCE o. The Augmented Manager 1. In~rOduetlon a. General Considerations Mo.t people need ~o play the role of "manaler" at varioul times, whether tha~ role i8 their primary function or simply a nece.aary element for the accomplishment of their other work. We will u.e the terms "manlier" and "man'lement" in this expanded len.e, applying them to an individual'. management of hi. own time, resource., and .Kill. as well &1 to individual and COllec~lve mana cement of the work of other individuals and groupl. Our experience with augmented management can be de.cr1bed beat 1n ~erm8 of the augmentation tOOl' we have developed an4 the methOdS we have evolved for eXPloiting th.letool. in ~het&lk ot man&lement~ once a tool loeainto u.e. methOdology bec6me. as com~lex and critical a concern a8 the de.len and development of the tool it.elf, and our research in the area of &ugmentinl management ha. been concerned principally with the development of .pecial methOdOlogies tor usinc our ba.ic aUlmen~&tion tool' with onlY .econdary empha.i. on the development of new .~eclal·purpo.etool'. We have identified the follow1nc a. lome of the major need. relevant to fulfilling the role of manaler 1n our auemented communi~y. (1) Fa.t and flexible mean. for aec •• sine and .tudylnemanaiement working file. and other croup working file. (2) Technique. for leeatine .pecific piece. of intormatlon1n & complex tile or collection of f11e. (3) EffiCient method' for entering, uPd&tlnl, and storing manalement inform&ti6n (4) Technique. forinteraoting with other croup members to verify and comment on information Within 63 Sec~ion III APP~ICATIONS AND EXPERIENCE the group'. working recoros (S) Facilities for rapid and flexible com~osit1on, mOdification, and pUblication Of management Oocumentation (6) special tool' for the processing of manacement information (e.I., the Nt! calculator faci11ty). Some of the Ipecific tools and methods developed in re.ponse to the needs outlined above are described brieflY below. Our collection of on-11ne files now contains considerable manalement information Of various kinas, and we have pursued our investigation of managemen~-1nformation operations by using NL! and TODAS to provide and develop aids for management ot the ARC on-line community. There are many areas of potential apPlicat10n for on-line aidl, and we have cholen those ch appear to be most useful operationallY for the purposes of experimentation and development. b. Cost-Accounting Files While still under continuous development, special cOlt-accounting file. (described 1n detail in Section 111-0-2 below) are now in routine use. These file. are extremely usefUl in terms of letting work done, and our experience with developing and using them hal constituted lome of our mo.t fruitful research on the intensive eX~loitation of the overall on-line system. The files have an intricate structure, desilned for maximum mObility in accessinl information and for maximum efficiency in interfacing with the NtS calCUlator facility. Intelligent use Of these files include. the entry of new intorm&~ion and the occasional re.tructuring Of the information to take advantage ot new ~os8ibilit1e8 1n the system and to meet neWlY discovered needs. While fundamentally Simple, this kind of usage requires the coordinated operation of the mOlt advanced feature. of NL!) thus the cost-accounting file. are a leading edge of our research on highly interactive information .tructure •• Sec~ion III APPLICATIONS AND EXPERIENCE c. work-Planning Files We have begun experiment. in u.inl NtS tile. tor the ~lanning and moni~oring of ~a8k. within our project aetivi~iel. our first experlmen~involved the management ot the TODA! development activity, for Which we created a f11e called UPLAN to use in formulating .~ecificat1on8 for TODA! and in planning for the implementation of the specified featUres. This tile contain. a branch for each identif1ed talk with the followiniintormation organized tor ealY study and retrieval: (1) Description of the ta'k, with link. to other working tiles used in ita development (2) Comments on the relationship ot the talk to other ARC taSKS (3) Estimatel ot im~lementat10n cost. (mainlY manpower) and .chedule ot work and implementation Itages (4) comment. on the current status ot Planning and implementation. We allo created a separate file called UMEET containing agendal and notes for the TODA! development activity meeting •• We made u.e ot a researCh a •• i.tant working on-line to take notes during the.e meetings. The research as.istant worked from an agenda composed betore the meeting 80 &S to have a convenient framework for no~e-taking, and was a1.0 available for tinding on-line information a. nee~ed durinl the mee~ings. Succe.sive meetine alenda. and minutes were kept in a sincle file 80 as to make it ealY fer u. ~o search for record. of all diSCUSsion related ~o any liven topic. On a lea. formal basis, we have used various.other file. tor work planning throulhou~ the project'sh1story, This has ranle~ from the construction of lists of task. in such & way as to reflect their interdepen4encie., to the main~enance by individuals Of file. listing their 65 Section III APPLICATIONS AND EXPERIENCE perlonal tasks on hand along with plana for completing theae tasks. d. Perlannel Files SOMe of our ~er80nnel information i. now kept in on~line files. Features 1n the timesharing .ystem ~erm1t UI to rel~rict aceesl to some ot the.e files, while letting others remain "pUblic." Even though our personnel ro.ter 1s relatively small, we find it advantageous to have the ability to .pecify automatic searches on the personnel filel, e.~ecially for .uch taSks as cost estimation. e. DOCUmentation All of our documentation, from large final re~orts to the brief circulars distribute~ at conferences, is compo8e~, stored, and uPdatea in on-line files. our flexible compolition and editing capab1l1tiel and fast pUblication technology (from on-line file to formatted hardcopy in a few seconds per pace) live management control. over the documentation procesl that are not pOSSible without augmentation. f. On-Line Dialolue We use the term "dialogue" to indicate the process of formal communication via interactions with a common information ba.e. This kind of dialolue plays an important role in the formulation ana monitoring of plan. for project activities, an4 while we are still using informal experimental methoOs to achieve ihi., we are in the procesl of formulating the initial Plans for & long-term investigation of aOvanceO techniques for &ulment1nl ~ialogue procesles. SubleQuent lections offer detai1e~ descri~tions of several man&lement application. that have been Oeveloped using NtS ana TODAS, illultrate~ with Photograph' taKen from Nt! ~1'Play Icreens to show sequences ot information-manipulation operations. A familiarity with the basici of NtS (to the extent that they are eXPlained in Appendix A) il aSlumed. tn following the descriptions, it should be kept in mind that the speed with Which NLS serve. its users is an 66 Sect.ion III APPLICATIONS AND EXPERIENCE important part of its utility. The Photographs in~1cate t.ransitions that take only one or two second. under lood conditions. This speed lendS great power and flexibility to the relativelY simple service functions performed by NLS. 2. project COlt Records In our routine operations, we need frequent and rapid acceSI to summary data on project costs, with little reference to lower-level details except when the COltl are first checked for reasonableness and accuracy. Therefore we decided to start by putting summary data on-line at ARC. As needed in the future, we can add more levels of detail. We first constrUcted a cost-history file for 1968-1969 costs on SRI projects ESU 7101 (RADO Contract F30602-68-0-0286) and ESU 7079 (NASA Contract NAS 1-7897). This tile il called HISCO. The elements of RISOO included the following for each Of the two projects, on the basi. of 4-week accountinl periodS (as used by SRI's accounting system). (1) Salary (2) Burden (3) Overhead (4) Total cost (5) Fee (6) Total charges. See Fieures 111-29, III-30, and 111-31 (illustrations for this section are grouped together, bel1nn1nl on pale 75). Each ot thes. three ligures shOwS & display of one branch of the file, containing the information for a specific project and year. We &110 needed a .ection showing combined salary costs and combined total charles for all of our projects (see Figures 111-32 and 111-33). We put the8e cost. in separate branches Of the file. The last branch shows total costs for both projects 67 Section III APPLICATIONS AND EXPERIENCE combined. We retroactively studied eXisting records fer all 1968 d&\a and kept up the 1969 COlts every 4 weeki, entering the new data by hand. The usual way ot accessing HISCO was via pre·es~&blished links from other workinl tiles whenever the user had & question about recent coat,. The VIEWSPECS in the link usually caused HISOO to be brought in with only hieh-level statements on display, showing only the headincs for project name, combined salary, total charles, and total ARC costs (see Figure 111-34). The user COUld then select the project he was interested in (bY the command Jump to Item), open up an additional level for viewing, and see column headings and numerical data (rigures III-29, III-30, and I11-31). Then he COUld jump down through the accounting periods to the one he was lookinl for. If he waa making a calculation (perhaps already .tarted in the f11e he was working 1n before he loaded 81SCO), he could then call the calculator and add, SUbtract, multiply or divide by any of the numbers 1n HISOO. His previous caleulations 1n the previous tile woulO remain intact. If finiShed with HISCO. he eould then return to the previous tile (by the command Jump File Return) and continue with the calculation, havinl found in H1SCO the input number or numbers he was look1nl for. A. an arena for experimentation, HISCO proved valuable. OperationallY, it wa. u.eful from time to time but revealed & nee~ tor ~ore frequent updating of the .ummary data. our experience with HISCO led to the development of a rede.ilned cost-history tile ealled COSTS Which il up~ated weeklY, w1th 4-week and eumulat1ve Iummaries. The co.t elementl in thi. file are: ll) Salary costa (2) Total personnel costs 68 Sec~ion III APPLICATIONS AND EXPERliNCE (3) Non-labor costs (4) Total costs (5) Total charges with fee (6) Balance remaining. See Figures 1II-3S, 111-36, and 111-37. Figures 111-35 and 111-36 show the lame branch of the file with different VIEWSPECSJ Figure 111-36 displays one more level ~hanFigure 111-35, and this level .hows the weekly data. Figure 111-37 .hows the weeklY data for another project. We also included fundinl information showing current totall, unfunded totals, and total contract amount. in the "cost," "fee," and "total" categor1es. We use separate branches tor each project and for total ARO project co.ts (Figure 1II-38). The skeleton format for the file was set up in advance for the entire year of 1970. Before enter1nc any actual aa~a, we copieQ the first top-level branch (containinl .ome 70 statements) within the tile at the .ame level four or five time. so a8 to create blank format branches. Then we simply inserted the project name headine. tor each project into a corresponding blank branch. we keep one blank format branch in the file in cale any new projects 'hould arrive. Like HISCO, COSTS is usually reached throUlh a link trom lome o~her working file, perhaps while a stUdY of near-fu~ure COlts is in ~rogrels, or from a ~ropos&l co.t estimate ~nder developmen~. Alain the tile 1. usually entered with only the top-level .ta~ement. or project head1n,s Showing (see rieure 1II-39). If a partieular project i8 of interest, the corre.pending branch is selected and another level opened tor view. The second level Show. per1od-by-period .ubteta18 in each ce.t catecorf. It weekly data are deSired, another level il opened,bY changing the VIEWSPEOSand a partiCUlar week is selected by the command Jump to Item. 69 Sec~1on III APPLIOATIONS AND EXPERIENCE The statement for each week has the week-ending date &. it' name. The realon tor usinl thi orm of name construction is not only 80 that the statement for a particular week can be accessed by the Jump to Name command u.1ng the ending date, but also 10 that the date may optionallY be suppressed from the display. (NLS has the capability ot suppressing all statement namel from the display.) The normal way of viewinc thele particular files is with names suppressed; thus the dates do not clutter the display. However, a uler who needs to know the end1nl date tor a ~artieular week can see it by executing a single command. TO accels the information for another project within COSTS, one executes Jump to Return twice to see the top-level statements again (Figure 1I1-39). One can move very quickly and accurately through a tile that i8 let up 1n this fashlon, even without any familiarity with the information it contains. The primary function of COSTS is to ShOW a consiltent week-by-week progres.ion, by category, ot COlts for each project. The tile can also be used tor 8tu~y purposes, throuch the use Of content-analyzer patterns, SOMe of which are stored in the oriCin statement (.ee Figure 111-40, which is ~he same as Figure 111-39 but w1~h different VIEWSPEOS). Any other pa~~erns can be crea~ed as needed. Thi. allowl a user to extract speCial categories ot information trom the file very quiCklf. ror example, a user may ealily create a di.play .howinc all project CO'~8 for the eighth week of 1970, for each ARC project. It is also p08sible to output such a "filtered" display Via aline printer, thus obtaining hard copy of a special-purpose extract trom the total file. The content analyzer is helPful when using the calculator on all the data for one week, project by project, to find total ARC charges by catelory. When only one week's data are di.played (Figure 111-41), one can add items down each column and 70 Section III APPLICATIONS AND EXPERIENCE insert the answer in the "ARC total" space. One can then elear the accumulator, and a~d down the next column. Th1. 11 done very rapidlY through bUg selection of input numbers and keyset entry of command. -- Add, Add, Add, Add, Insert, Clear, Add, Add, Add, Add, Insert, Olear, and so forth. The COSTS file is now operationally useful to us, and we expect it to be useful tor future experimentation with automatic proces.ing techniques. 3. Estimate. for proposal. a. personnel costs An estimator working on a propo.al can select from an on-line file, by labor category, repre.entat1ve people who may be involved with the proposed work; as he selects them, he can transfer tb names ana relevant information about them to a file Where he 11 building up hi. estimate. The estimator loads a special file, maintained by him.elt, Which is a directory to all of his other file. an4 perhaps to a few files belonlinc to other people. rieures II1-,2 and 1II-43 are two display. of a user's filedlreetory. In Figure III-~2, only first-level .tatement. are shownJ these are used for establiShing catelories. InF11ure III-,3, another level i . shown, containing the actual directory listin«s in each category. This "fl1e directory" contain. links to each ot the file. that it listl. In the present cas. the tile. prObablY would be cost histories, personnel listinc-, previous .pec1al studie. of costl, and other admini.trativeinformat1on. He load. a previous cost e.tlma~., makes a workin, copy ot it, change. the headine to reflect the name of the new proposal e.tim&te, and eliminate. the amount. trom the old e8tima~e. Thil produce. a blank cOlt-e.timate format. It any items from the old estimate &reinappropr1ate. they are easily deleted; new item. are eaaily added IS separate .tatement.. When the format il ready, it is 71 Section III APPLIOATIONS AND EXPER1iNCE output al a new file. He can then load a file that lists names ot people in the croup and lome projection Of expected addition •• Fieurel 111-44, 111-45, and 111-46 snow portions ot such a tile. Usinl this personnel-listing file, he obtains information about labor categories. A branch containing content-analyzer patterns is kept in the file. Thele can be easily reached by jumping to a link that causes all the patterns to be ~isPlayed (Fieure 111-47). Each ~attern will select some particular category of statements from the tile. For example, the estimator will need to know which people have the statuI of Senior professional. He .elects the appropriate pattern with the command Execute Oontent Analyzer, and then jumps on a link that turns on the content analyzer, starting the .earch at the beginnlne ot the branch containing personnel liltinls and restricting tne seareh to that branch. Thi. prOduces a diSPlay showing onlY the listing of senior profe.sionals in the croup. This let of statement. can tnen be tran.ferred to the new propolal cost-estimate file. other patterns can be used to extract let. ot statements according to other criteria -- for example, all the hardware or softWare peo~le 1n the group (Figures 111-,8 and 111-49). ThUs the estimator can select, by labor category, re~re.entat1ve people Who may be involve~ with the ~roposalJ as he selects them, he can transfer their namel and the lnform&t1~nthat goel with them to the file where he il building up hi. eltimate. The payroll burden and oVerheadratel are cheeked for currency and inserted 1nto the estimate, uling the calculator to apPlY them to the ~irect labor. At this point the labor portion of the e.timate 1s completed. 72 Sec~ion III APPLICATIONS AND EXPERIENCE b. Non-Labor Coats A typical e.timate will involve lome travel COS~8, some consultant eosts, and some report co.t.. Data lupporting the cost Of eon.ultant8 may be checked by reviewinc current consul~ant.~ costs bY project and bY consultant. These are kept in a separate tile and reached through a link for review. The data may be copied 1nto the estimate if de.ired. Report-production COlts are estimated uaing current Institute schedules, which are based primarily on the number of page. expected in the end prOduct. These computations can be made u.ing tne calculator and the existln& cost factor. from the last proposal (cheeked for current applicability). In addition, the proposal may contain Plans to add equipment. In this cale, the estimator will use an equipment stud, written 1n another file bY the people 1nvolvea in hardware des1ln. The equipment costs contained in the special stUdy are lummariled in total and reached by a link. The speCial stUdy can be viewed and updated a. appropriate and can be copied to 10 with the proposal a. an appendix or used later for baCkup. In thi. fashion, varioul informa~ion i. lathered from variou. tiles and transferred into the developinl coat estimate. Fleure. III-SO, Ill-51, and III-52 .hOW port1on. of a completed on-11ne COlt e.timate actually used for & recent ARC proposal. 4. purchase-Order Proces.lnl In makinl elt1matea ot eo.tl for new equi~ment beinl ARC, reterence to previous co.t1ntormation i. very useful. We con.tructed & purchal.-order/requi.ition proceal1n( file that contain. a .eparate .tatement for each item purchased for the pa.t few ,ear.. Filure Ill-53 .hows a portion ot this file. conltruc~edat All outstandinl order. are contained at a .econd level within a 11nlle branch (8ee rieure III-54)) therefore the di.tinct1on between out.tanding and completed order. 1ea.¥to lee by reterenee to level. To reduce clerical 73 Section III APPLICATIONS AND EXPERIENCE error, we consider an or~er completed when the Qom~ pattern 18 inaerted and the .tatement 18 moved to it. alphabetical ~o.ition on the top level. Thi. tile can be .earched u.inc the content analyzer in some inter •• tine way.. If we wonder what we purchased on PR A08927, the queltion can be an.wered simplY by executine & content-analYZer pattern Ipecifying the number. We can quiCkly lee all out'tanding order a chareed to a particular project. Fieure III-55 .hoWI a content-analyzer pattern that hal been temporarily written into the f11e, tor finding any entries pertain1nl to order. tor relays under Project 7101. Fieure III-56 ahow. a view ceneratea by using th1. pattern. This file i,kept up-to-date bY the .eeretary of the hardware group, WhO is mOlt involved with reQui.itioning. She doel this updatinc entirelY with TODAS. JUMP TO ITEM 'HY (RADCI COSTS 1968 PerIod Salary Burden 7101 ovhd Nonlabr Tot Cost Fee Totch98 1 2 10 11 t2 13 676 1080 1016 1167 2499 2522 3092 4187 2736 2309 4466 128 205 193 221 414 479 587 909 520 438 848 773 1234 1 160 1334 2854 2881 3532 5468 3126 2638 5102 23062 18061 23876 296 55 24434 B003 296 6 3 25978 40 t 68 8782 67 t 47 24639 20580 26245 3237 7 30261 30885 36874 37142 46 550 14 t 6 7 77563 739 617 787 971 907 926 1106 1114 1396 425 2326 25378 21198 27032 33348 31169 31811 37980 38257 47946 14 592 79 89 0 TA-7079-39 FIGURE III-29 A BRANCH OF FI LE HISCO 75 JlJMP ro SlJCCESSOR IHY (NASA) cosrs Perlod Salary 7079 1 2 3 4 8 9 10 11 12 13 1968 8462 10981 11897 10350 12394 11281 9038 94 72 1 1 157 10085 10308 Burden 1607 2086 2260 1966 2355 2143 1717 17" 2 1 19 1916 19 58 Ovhd Nonlabr rot Cost 9667 12545 13591 118 2 3 14160 12888 10325 10820 1 2746 11521 1171 6 301 787, 3083 4069 1271 12523 2650 1264 4025 6003 8338 20037 26399 30831 28208 30186 38835 23730 23355 30041 2H25 32380 Fee 1280 1686 1970 1802 19 28 2481 1516 1492 19 20 1886 2069 rotchgs 21317 280U 32801 30010 32114 41316 25246 24841 3" 6 7 31411 34449 TA-7079-40 FIGURE 111-30 76 A BRANCH OF FI LE HISCO JUMP ro SUCCESSOR IHV (NASA) COS rs PerIod Sa I ar y 7079 1 2 8 9 10 11 12 13 ~rojcum 4083 7296 9538 9 157 10171 8541 6463 7364 3217 2749 2348 3601 3175 193413 1969 Burden Ovhd 715 1386 5171 219 3 2379 2050 1562 1767 772 660 563 864 762 42884 466 4 833 5 17958 11330 12238 105' 1 8129 9131 HU 3408 2912 4466 HJ7 233242 NonLabr rot Cost 16 25 3521 10113 3717 6812 7533 2215 4632 4133 1429 613 1442 1949 86 730 11141 20538 42780 26377 31600 28715 1836' 22984 12713 8244 6 4J 7 11815 98 2 3 556269 Fee 712 1312 2733 16 85 2015 1835 1180 1462 812 527 411 662 628 35541 rot Chg8 1 taH 21851 45514 28062 33615 30549 19549 2 4J 56 13525 8770 6849 11035 10451 591810 TA-7079-41 FIGURE 111-31 A BRANCH OF FI LE HISCO 77 JUMP ro ITEM IHY "U rotal combtned Project Salary Pertods 71 0 1 + 70n t :: 1 2 1 67' 1462 4 to 10 tou toUl 11.,7 1167 tonO , 7 ,• 5 10 11 12 13 24" 2522 lOU 4117 2736 .." U., t Ull 'UI U061 lUU 11517 141U nl03 1 t 157 10015 10301 lUU nlu lU,. 14774 lU,. un ,.72 uuo .RES: TA-7079-42 FIGURE 111-32 78 A BRANCH OF FI LE HISeO TA-7079-43 FIGURE III-33 A BRANCH OF FI LE HISCO 79 JlJMP ro LINK IHY :I-IISCO. 02127/10 14U:SS JCN :.DSN=l:.RrJ=O:.LSP=O:.SCR=l:.HED=·ARC ARC PROJEcr cosr HISrORy 1~68'1969 See a Iso {f un ds . cost h { st 0 r y : ZW9n I By Pro ject : 7101 {RADCI COS rs 1 ~ 68 7101 {RADCI COS rs U 6~ 70H {NASAl COS rs 1968 t 70H {NASAl COS rs 1 ~ 69 By It em: combIned Project Salary 1'68 Combl ned Pro Ject Sal ary un combIned rotal Pro ject 'charges 1968 CombIned rotal Project charges U6~ TA-7079-44 FIGURE 111-34 80 INITIAL VI EW OF FI LE HISCO UPON ENTRY VIA LINK JUMP ro 1 rEM , JLV PROJEcr 7101 (RADC-old) Tot a I Fee Fund I ng: t Cost s 1515222 55658 Current tot a I: s 145HH 0 0 s Unfunded total:s 0 s 1515222 S 55658 rotal contract:s 145HH . wk-p er Sa I ary Percost NonLabr Tot Cost Tot Cngs 85230 12110 UU4 rotal 1 14121 3521' 53724 2U 17 52142 r ot a I 2 1 13 06 21 2 2 5 rot a I 3 roial 4 rot a I 5 rot al , Tot a I 7 Tot a I a Tot a I , rot a 11 0 rot a 111 Tot a 112 Tot a 113 Balance 18t358 127634 TA-7079-45 FIGURE 111-35 A BRANCH OF FILE COSTS SHOWING ENTRIES FOR 4-WEEK· ACCOUNTING PERIODS 81 TA-7079-46 FIGURE 1II-36 82 SAME AS FIGURE 1II-35 BUT EXPANDED TO SHOW WEEKLY ENTRIES JUMP TO ITEM IHY PROJECT 707' INASA) FundIng: Total C08t Fee 657437 Current tot a I :' , 617H7 U500 0 0 Unfunded tot a I:, 0 657437 Total contract:' '17H7 U500 wk-Per Salary Percost NonLabr Tot Cost TotChg8 Ico.blned wIth Week 2 on PSR') 1- 1 , , 2 -1 3-1 4 -1 Total 1 5-2 '-2 7-2 1-2 Tot a I 2 1411 410 1847 3145 2114 2100 1J4I 1701 7"3 3711 1025 U1I H'1 5717 5741 U72 4251 U151 14H 21 1121 UU 2 27 J2 Ul 452 , , 521J 1051 '441 12707 57., 5775 H04 4'42 1"10 5547 1120 '151 1J520 , 15' , 145 1621 U40 15J25 Balance 60011 511" 52045 52045 HI" U141 16120 31110 31110 '-3 10-3 11-3 12-3 TA-7079-47 FIGURE III-37 SAME AS FIGURE 1II-36 BUT FOR A DIFFERENT BRANCH OF FILE COSTS SHOWING DATA FOR A DIFFERENT PROJECT 83 JUMP TO 1 TEM May , ARC TOTAL PROJECrS Fundlng: Total Cost Fee Current tot a I: 218UU Unfunded total: 0 , 202717 Total contract:' 4U2lU 4U5123 wk-Per Salary Percost NonLabr TotCon rotchgs 1- 1 Ico.blned wlth Week 2 on PSR') , 2-1 3- 1 4 -I Total 1 5-2 ,- 2 7-2 • -2 Tot a I 2 1141 4056 5"2 171" 5027 5114 UU 5207 20221 lOU5 100H 14150 44577 lun lUU 120n lJOU 50514 12U7 5514 U2U 50240 511 1522 " 10 SUS 24401 U7U 15676 4Un "117 lJ512 21454 2UU 18761 75413 Balance Hl12 UIGH UUI 211744 UHO 2lHOJ ,.750 2U4OJ U718 21"15 22420 n7U5 22nl 174727 n241 25675., 77'17 25675., , -3 10-3 11-3 12-3 TA-7079-48 FIGURE 111-38 84 A BRANCH OF FI LE COSTS SHOWING COMBINED DATA FOR ALL ARC PROJECTS JUMP ro LINK M JLV :cosrs. 02127170 1534:27 JCN ARC 1970 PROJECr cosrs: PROJECr 7101 (RADC-old) PROJECr 7079 (NASA) PROJECT 8457 (RADC-new) PROJECT xxxx (ONR) PROJECT 8444 (Phlll~s) ARC TorAL PROJECTS TA-7079-49 FIGURE III-39 INITIAL VIEW OF FILE COSTS UPON ENTRY VIA LINK 85 ALL ALL JUMP ro LINK MHY :cosrs. 02/27/70 1~34:27 JCN : t [. 3-1 ·]OR[ ·PRoJEcr·]OR[·~ wk·]: [ • Cur rent • ] 0 R[ • PRO J Ecr· ] 0 R[ • Fun dIn 9 :.]: [ • Cur rent • ] 0 R[ • Un fun d e d·] 0 R[ • rota I co nt • ] 0 R[ • PRO JE cr· ] 0 R[ • Fun dIn 9 :.]: [·Unfunded·]OR[ ·PRoJEcr·]OR[ ·Fundlng : .]: [·rotal contract: ·]OR[ ·PROJEcr·]OR[ ·Fundlng : .]: [·Cum·]OR[·~ Wk·]OR[ ·PRoJEcr·]: no charges .OSN.:::1:.RrJ.:::0:.LSP.::0:.OLS.::0:.SCR.::1:.HED.:::·ARC PROjEcr cosr HIsrORY "70 ·:.NSW.:::O:.OPR.::O: [H]:lheadlng1:zxbbrDlnK) ARC 1970 PROJEcr cosrs: II- Wk - Per S a I a r y Per Cost PROJEcr 7101 lRADC-old) Fun dIn 9 : Cost Cur rent t ot a I: S 14~ ~ S6 4 Un fun d edt ota I : s 0 rot a I cont ract: S 14SH64 r ote 0 st r ote h9sea I an c e Non Lab r rot a I Fee ~S6 .RES: 58 o ~~H8 S 1~1~222 o S 1~1~222 TA-7079-50 FIGURE IlI-40 86 SAME AS FIGURE IlI-39 BUT WITH DIFFERENT VIEWSPECS TO SHOW CONTENT-ANALYZER PATTERNS STORED IN FIRST STATEMENT OF FI LE AL L ALL MlL JUMP ro HEM v ARC JC. lno wk-Pel" PROJEcr cosrs: Sa I aI" y Pel" cost PROJEcr 7101 (RADC-old) H67 J-1 3646 PROJEcr 7079 (NASA) 410 J-1 1025 PROJEcr 8457 (RADC-new) 3- 1 PROJEcr xxxx (ONR) 3- 1 PROJEcr 8444 (ph I II ps) 3- 1 ARC ro rA L PRoJECrS 4056 J-1 100'2 NonL abl" rot cost rot c h9s Balance 5556 146 2 3 1517 8 222845 28 1053 1120 5889 ~ 5584 15676 162H 281744 TA-7079-51 FIGURE 111-41 VIEW OF FI LE COSTS WITH CONTENT ANALYZER IN OPERATION, SHOWING DATA FOR A SINGLE WEEK ONLY. This' is done by using the first pattern appearing in square brackets in Figure 111-40. 87 JUMP TO ITEM lolL , f JCN Scratch File. 02/27/70 0.5.:30 JCN other Peopl,". file. Specl a I 1I nk. Vie-change Iinel , TA-7079-52 FIGURE 111-42 88 VIEW OF A USER'S FILE DIRECTORY, SHOWING FIRST-LEVEL STATEMENTS ONLY ALL ALL MHY JUMP TO ITEM t JCN scratch Flies 02127170 OU8:JO JCN JCN dally worklng NOTES. (Jplan.:zxOn) , Flnanclal and STATISTICAL data. (fund8. : zxOn) SpeCial operattonal COlt STUDIES. (study.: zxOn) Current 1'70 project COST SUMMARIES • (cost 8. : zxnO) STATEMENT of WORK ARC Project. ( st at e. : zxCn) Cost ESTIMATE: ESU "·1" RADC 11/14/" • (newe8.:zxbbn) Schedules: ESU RADC 11/14/" ( schd •• : zxbbgn) Cost ESTINA TE: ESU "·1 U ONR 10/U/". (onre8t. : zxbbgn) Schedules: ESU "·11' ONR 'shdon.:zxbbgnJ ARC: MSR deaonstratton OUTLINE. "·1.' 1"2"" . TA-7079-53 FIGURE 111-43 SAME AS FIGURE 111-42 BUT WITH ALL LEVELS DISPLAYED 89 JUMP TO LINJ( tHY AR C PER SONNEl t Present people people New ........................... 2 people Total .................. ; ..... 30 people +3 more durung t,70 (2/5/70) ....•.•••.•••• 27 Borro.ed.~ ..................... t+ TA-7079-54 FIGURE III-44 PART OF A FILE CONTAINING INFORMATION ON ARC PERSONNEL. (Not all levels are shown.) 90 JUMP TO LINK Present 12/5/701 •••••••••••••• 27 Ball. S .I.f. Bass. W.L. Baughman. V.R. Bosch. F. Van Den caldwell. M.6. Carliion. R.A. Caneres. 0.6. Church. M.S. Duvall. W.S. Engelbart. D.C. Engllsh. W.K. Geo11rlon. A.R. Hardy. M.E. Harrls. J.M. Ho~~er. J.D. lrby. C.H. leonard. loS. Melvln. J.lo Meyer. N.D. ~eople TA-7079-55 FIGURE I11-45 A VIEW OBTAINED BY JUMPING TO ONE OF THE STATEMENTS SHOWN IN FIGURE 111-44 AND OPENING AN ADDITIONAL LEVEL 91 JUMP TO ITEM MJlY Meyer. N.D. Nort on. J. C. O·Connell. D.F. Parsley. B.l. Paxton. W.H. Rat II f f. J. Ro •• B.E. Trundy. M.E. Van 0 e RI et. E. K. Borro.ed ...•.••....•....•••..•. 1+ peopl. Bro.n. D.R. 111201 Lelo. B. (11201 Yarborough. J.M. Ne •..........•..••.•..•.••...• 2 peop I e S yst ems Programmer .•..•••.•.•....... June 1HO Research Englneer.(Hard.arel ..•.... Aprll 1'70~ Total ........................ 30 people FUNC nONS TA-7079-56 FIGURE 111-46 92 A VIEW OBTAINED BY JUMPING TO THE LAST STATEMENT SHOWN IN FIGURE 111-45 ALL AL L CONTENT ANALYZER 8JLV ['*-secy']: ['*-SUPV']: ['Jsrpro1']: [ '*-pro1']: [ 'Jtech']: [ 'Jresasst']: *-hardware']: [, Jso1tware']: ..[,P' *-support']: [' JUSersys']: [, *-managementsys'J: ['Jprogrammlng']: [ 'Jnet work In 10'] : LINK .... I per sonne I: zxbbbhpi n) TA-7079-57 FIGURE 1II-47 CONTENT-ANALYZER PATTERNS STORED IN THE PERSONNELINFORMATION FI LE. Each set of square brackets contains one pattern, used to search for hidden "tags" in statements in the file. 93 JUMP TO L!Nf( I.f ardware: Baughman. v.R. Engltsh. W.k. r I.fardy. M.E. Meyer. N.D. Rat It r r. J. Row. B.E. Van De Rtet. E.K. Yarborough. J.M. TA-7079-58 FIGURE III-48 94 VIEW OBTAINED BY USING CONTENT ANALYZER TO SELECT ENTRIES IN PERSONNEL-INFORMATION FILE THAT ARE TAGGED FOR "HARDWARE" JUMP TO LINK Software: Bass. W.L. Bosch. F. Van Den church. M.S. Duvall. W.S. En91lsh. W.K. Geoffrion. A.ft. Harris. J .M. Hopper. J.D. lrby. C.H. leonard. L. S. Melvin. J.L. Parsley. B.L. Paxton. W.H. TA-7079-59 FIGURE 1II-49 VIEW OBTAINED BY USING CONTENT ANALYZER TO SELECT ENTRIES IN PERSONNEL-INFORMATION FILE THAT ARE TAGGED FOR "SOFTWARE" 95 JUMP TO LINK MHY 03/17/70 1525:26 JCN :.OLS=O:.RTJ=O:.DPR=O:.HEO=' SRI Il nks: (funds. annua I: zxbOn) (8chda. 1: zxbOnh) :NEWES. Pro~osal f (for the P ersonne I Colt s Dlrect Costs rotal Estlilated Flxed Fee rotal Esttllated • See attached cosr ESTlMA rE two year perlod It art lng 211/70) 1. 213.500 1.QU.1H Colt 2.106.U' 115.114 Colt plu. Flxed Fee I 2.422.013 schedule. Personnel a88ulled: TA-7079-60 FIGURE III-50 96 PART OF AN ON-LINE COST ESTIMATE FOR USE IN A PROPOSAL JUMP ro I rEM 01 r'ect Cost s rr'8vel Faclltty JConsu It ant s Re~or't Cost s rotal Dlr'ect rotal Esttlllated F t xed Fee rotal Esttlllated J- See attached , Costs Cost cost plus Ftxed Fee' Schedules 1.ULI7, 7.280 1.044.072 40.000 1. a2 7 1.0U.IH 2.306.'H 115.334 2.422.013 TA-7079-61 FIGURE III-51 PART OF AN ON-LINE COST ESTIMATE FOR USE IN A PROPOSAL 97 JUMP TO 1 TEM FACILITY COSTS Total FacIlIty Costs: C.OI\l~ut 1.044.072 er F ac I II t Y Su ~~ort l ease Cost MaIntenance and Ant I cl ~at ed O~eratlon 853.072 121.572 31.500 IIIl~rovelllent S Interactive External Core Conferenclng FaCility Console SWitching Facility Univac drUIll Interface Bryant disc ex~anslon Dtsc tnterface [XDS 7242) U 1. 000 12.000 15.200 n.lOo 12.000 21.000 10.000 TA-7079-62 FIGURE III-52 98 PART OF AN ON-LINE COST ESTIMATE FOR USE IN A PROPOSAL ALL ALL JUMP TO ITEM MHY , Accessory. Overvoltage Protection. lM·OV-2. lambda. t at 1]0.00. 8457-20. PO A'7"'. April 10. lHO. ekv. Jcomp .. , 7 Ad a pt e r . Ra c k. l RA -3. l a.b da. 1 at U 5 • 00. 8457 - 20. PO U 77". Mar c h 31. 1HO. ekv. JCOIDP" a Augat. 1042-10t thru 1042-1S1O. David 14. Rote Co .• 10 of each color at S1.10. 7101-23. PO U7475. ekv. JCo.p" , Amplifier. Video DistrIbutIon. -U1. Srate Valley Sroup thru Ward-Davis. 3 at 1115.00. PO U71U. 7101-21. January 2". 1HO. ekv . .. comp .. 10 Amplifier. Pul .. DistributIon. -'10. Srate Valley Sroup thru Ward-DIVIS. 1 at 1115.00. PO U71U. 7101-21. January 26. 1HO. ekv. '"comp .. 11 Augat Adaptor Plug, IlClug.). 81U-Ug'. Sterling. Electronics. at 11.'4. PO AU31!. 7101-21. February" tHO. ekv. JCOIDP" 30 TA-7079-63 FIGURE III-53 VIEW OF A PORTION OF THE PURCHASE-ORDER PROCESSING FILE, SHOWING CONTENTS OF INDIVIDUAL STATEMENTS 99 JUMP ro HEM HJLY PArrERNS useful for- sear-chIng (lInk hlddenl 3A outstandIng requIsItions ... no pur-chase or-der yet ( : I : ['PR ']AND -[ 'po ']AND -[ 'IP]:) 18 OutstandIng r-equlsltlons with a pur-chase order(: 1:[ 'po ']AND -[ '''COIllPIP]: 1 1C completed or-der-s (: 1:[ '''comp''']: 10 Recent changes to thIs fIle: .SINCE (70/03106 01:001: OUTSrANDING ORDERS EACH ~N J SECOND LEVEL fA CabInet. Stor-age rype. 1000. Shelcor Inc .• 1 at "5.'0. 10140-710. PR A17SOI. May • U70. ekv. 48 ro Regun CRr·s. 5CEP-" Sunbrlte ElectronIcs. , at "5.00. 8457-20. PO AU777. July 15. U70. lIleh. 4C 8Inder-s. Nylon Post Hanger-. '-HINBl. WIlson Jones. 10 at 12.17. 8457-20. PR A250t2. date. lIleh. 40 Car-d. 2 Input Nand Gate's. 502. Data rech. 5 at 127.00.8457-20. PR A25006. ber-. 4E Asselllbly. 4 Pr-ong Table Leg. 126. West Coast thr-ough Palo Alto OffIce Equlplllent. 10 at 136.00 (with 25 per cent dIscount). 8457-20. 4F Mar-ker-s.Cable. PWC-PK-1. l' x P. WH Br-ady Co .• to packs at TA-7079-64 FIGURE III-54 100 VIEW OF A PORTION OF THE PURCHASE-ORDER PROCESSING FI LE, SHOWING OUTSTANDING ORDERS LOCATED IN A SEPARATE BRANCH. Upper part of screen shows a branch containing Content-Analyzer patterns. All All CONrENr ANALYZER 6JlY 3E P·Relay·]ANO[qtot·]; + TA-7079-65 FIGURE III-55 A CONTENT-ANALYZER PATTERN FOR SEARCHING IN THE PURCHASE-ORDER FI LE 101 All All JUMP ro HEM IllY 3E ['Relay']AND['71QP]: S48 Relay. Phillips. Advance. 670SK-2CL Kler-ulff Electr-onlcs. , at 13.70. PO 65148. 7101-22. Apr-II 20. U". lIleh. TA-7079-66 FIGURE III-56 102 VIEW GENERATED BY A SEARCH ON THE PATTERN SHOWN IN FIGURE III-55 Sec~ion III APPLIOATIONS AND EXPERIENOE D. The Augmented 1. Repor~·Wr1tinl Team Introduction Thi. lection discusses the ceneration of large, contractually required report., since theae teat our capab11itiel mOlt thorOughly. Smaller, less formal repor~s involve a creat deal le.s effort) the advantage. dilcussed below are equally pre.ent, but the problems are in.1gnif1cant in comparison to the ones that arise with, tor example, a final re~ort. It Ihould be noted that much of this discussion is applicable to proposals and other types ot documents, as well as reports. a. Team Approach As in many other research groupa, none of our major reports are written by a .1ngle individual~ Secaule of the broad scope of activities re~orted _. ranging from management Iy.tems research to the detailed delien of software implementations •• we U8e a team approach, involving one or two individuals who coordinate the effort and numerous other. WhO contribute sections of material coverin, their particular I~ecialties. The present report contaln. material written by at least six peOPle •• the exact number i. hard to determine because lome material 1s adapted from ~reviou. document., using archived file 1 .aved for this purpose. Allo involved in the proces. are individuals whO mu.t formally ap~rove sections a. ~hey are written, the principal inve.tigator, who must ap~rove the overall report at various staces of completion, and a technical writer/editor. TY~icall" these perlons a. well &s the coordinators are al.o major contributors to the text of the report. This list exclUdes other SRI personnel out.ide of ARC •• editor., illustrators, officers Who mu.t approve the report, etc. Part ot the report-writing team'. jOb i. to conduct 11alson with theae people. 103 Section III APPLICATIONS AND EXPERIENCE Augmentation bears upon all a.pec~. of this team eftort. Becau.e of the flexibility of the tools (principallY NLS), the various in~iv1duall involved use the system in various individualistic ways. To 8ome, Nt! i • • imply a super-typewriter; to others, it il a high-powered stUdy ai~ for searching extstine material and extracting information needed in the current report. Some people prefer to do certain types of work with hard copy rather than at a console. These people use NLS for rapid production of hard copy of latest versions 01 parts of the report; after working on the hard copy, they use NtS for rap1d 1ncorporation of their changes and additions into the master files on line. To the coordinators, augmentation means the ability to create an outline of topics to be covered in the report, with notations indicating persons responsible for writing particUlar sections, comments as to desired aMounts of material and depth of coverage, deadlines for successive drafta, etc. Such an outline can be continually updated by changing the baSic plan of the report, adding or deleting sections, altering deadlines an~ assignments~ etc.; thUS the outline becomes a continuing statuI report of considerable complexity, yet with all information rea~ilY accessible because of NtS features such as the content analyzer. As sections of the report belin to take sha~e as NLS files, links to these files can be inserted at the appro~r1ate locations in the outline. Now the coor~in&tors, examining the status of the report effort, can jum~ instantaneously from a planning description of part of the report to a view of the actual work in progress; converselY, authors workinl on report sections can examine and reexamine the outline as they work. It is difficUlt to make a meaningful comparison between report-writing at ARC and elseWhere, because the process always depends heavily on tne 1n~1viduals involved and the organization'. general philOSOPhy about reports, as well as the facilities available. However, we can safely s.y that lO~ 8ec~1on III APPLICATIONS AND EXPERIENOE this kin~ ot close teamwork woul~ be quite im~o.s1blefor UI without the aucmentation aids that support it. To collaborate al tiChtlY as we do without augmentation, we woul~ need an immense amount Of time and a staff of full-time coor~in&tors, clerkl, and typists. J. Advantages a. Nt! As a tool for coping with the mechanical problems of report writing •• input ot material, a.semblY of material into a report structure, organization within the structure, text e~it1nc, an4 final output •• NtS has proven to be superb. For .ome operations, such as automatic searcning of thousands of words of text tor particular words or phrases, NLS is several orders of magnitu~e moreetfic1ent than paper-And-pencil technology. To illustrate the advantages of NLS, let u. briefly consider a few specific examples. For entering text, NLS become. a super-typewriter. This is ~robably the Simplest possible use of NLS. The advanta,es of NLS over a typewriter come from several factors. (l) Backspace-character and backspace·wor~ keYI, which caule immediate deletion of the last input character or word. (2) The user" knowled,. that further correetionl can ealily be made later. (3) The availability Of NLS" stUdY eapabilities. This i. ~he most eritical advantage, since it allows the writer to 10 back rapidly over What he hal alreadY written and reorient himself a8 he moves from one topic to another. As a tool for assembling, organizing, and reorganizing ma~erial trom diverse .ourcel (recent input, ex18~inl file8, etc.) NtS replaces 8uCh technology as the loole-leaf binder, the blackboard full of notes, the extra information writ~en on small Ilips of paper and clipped to palel in the looleleaf lOS Section III APPLICATIONS AND EXPERIBNCE binder, etc. In our present state Of evolution, this is neee.aarily incomplete •• the older metho~. are used in coordination with NtS, However, NtS dominates the overall tecnnololY for orlanizine material and to this extent it greatly increase, efficiency. re~laeement The master copy ot a report in progress is a set of Nt! files. The insertion of new mater1al as it becomes available is accompli8he~ quicklY and SMoothly, and the working material i8 completelY legible at all Itagel. The difference between workin, with a formatte~ NtS display and working with a binder of cut, stapled, paated, and pencil·marke~ typewriter co~y must be experienced to be appreciated. Moreover, a complete, fresh,. fUlly formatted printout of the eXisting draft can generally be obtained 1n a few minutes, at any stage Of tne job. The term "editing" 18 u.e~ here to mean the task of going throuCh a draft or a section of a draft and correcting errors of spelling, grammar, style, and (within limits) content. our reports cenerally receive two editing passes: one by ARO's technic&l writer, using NtS, an~ a second by one of the SRI editing staff using pencil·an~·paper metho~s. NLS permit. the augmented e~1tor to work a grea~ deal taster than he could with paper and pencil. Of course, he works with the knowle~ge that another e~itor will 10 over the draft and habitually leave. many ~ec1s1ons up to him. The advantage. of NtS for ed1tinl stem from two balic factors •• sheer speed, and the power Of automatic searching. The speed is just brute force in aetion: it is qUicker, for exam~le, to specify the command "Replace Word," point to a location, type the 106 Seetion III APPLICATIONS AND EXPERIENCE new word, and hit the "command accept" button than it il to make the equivalent marks on hard co~y. Using "Jump" commands to locate cross-referenced locations in the text is faster, by orders of magnitude, than flip~ing pages in a binder. AutoMatic searching for specified strings of text permits operations that are virtuallY impossible for the unaUlmented editor. For exam~le, many writers consistently m1.spell"certain words. The augmented editor can exeeute & "Substitute" command that will correct all ocurrences of several different consistent misspellings, throughout a file, in a single operation. For another example, suppose that halfway through a lengthy draft, the editor suddenly findS something that makes him uneasy about the way a particular term is being used -- a term used many times in the early portions of the draft. The unaugmented editor would be faced with the prospect of reexamining many pages of text, looking closely enough to find all occurrences of the suspect term. This situation is one that e~1tors encounter quite frequently, an~ the work involved is both lengthy and fatiguing. With NLS, the problem disappears; the editor uses the content analyzer to find all occurrences el the term automaticallY. If he then decides that a different word Should be used, he can use a "Substitute" command to make the change throughout the tile or in specified portions of the file. b. A Note on Structured Text our use of ".tructured text" -- i.e., a format that reflect. hierarchical relationShips among "statements" or paragraphs _. is somewhat controverSial with lome of ~07 Sec~ion III APPLICATIONS AND EXPERIENCE our re&~ers. Many of NLS'. Most valuable features depend upon structured text. Moreover, structured text has advantages of 1ts own. The special formatting carries information that i. not 1n the text 1tself, thus increaSing the overall "bandwlCth" and perm1tting greater economy in writing. structured text is a direct consequence of the use of the computer a. a writinl meaium, just as standardized punctuation re.ulte~ from the introdUction of movable type as 'he medium tor pUbliShing. Ho~efullY. structured text will turn out ~o be only the first step in the development ot new ways to show, by formatting and other nonverbal means, various relationships among the unit' of information that make up a document. c. A.sembly ot Reports As noted above, NLS 1s used to put together material from various sources to prOduce & complete draft. This raises the ~os8ib1litY of keepinl on hand a large collection ot material that de.cribes our work in its various ,specta, frequently updated 10 that at any time we can extract what 18 needed for a report. Thi. material, ideallY, would make up a very sizable part of eaCh report and woUld require only simple rewriting, thUS greatly reduc1ng the labor of report-writing. This idea has been with Us for years, and we have made lome progress in im~lement1nl it. TO the extent that it actually happens, it is very worthwhile; however, only a very small part of a typical report is actually done this way, In the present report, tor example, only the preface, the bibliograPhY, and the appendix are taken directlY from existing material. Larger portions are derived trom existing material, but with complex and extensive rewriting to luit the needs of this report. 4. problems The problem, of aUgmented report-writing tall into several categories, descr1bedin the following section •• 108 Section III APPLICATIONS AND EXPERIENCE To some extent, th~ problems are not merely report-writing problems but aUlmentatlon problems, l.e., problems ereateO by aide-effects of augmentation u~on the total ARO .ystem. a. Technical Problems The simplest problems are technical in origin. For the mOlt part, they seem not to relate to gaps in technical capability -- i.e •• "missing features" -- but rather to inadequate performance of the technical systems on which we have come to depend. As noted elsewhere in thiS report, system response is degraded when several users are working simultaneously; because of our team approach to report-writing, this degradation tends to be wors~ at the worst possible time -- just when several people are trying to complete their contributions to the report. A more critical prOblem arises from technical limitations on file storage. Two storage media, disc and tape, are available for report purposes. Tape, in the current .ystem confiluration, ia inconvenient &nO ean only be used tor lone-term backUp copies. In the last few months regUlar procedures have been established for tape archiving; so far, however, relativelY lew files have been saved on tape in such a way &. to be reasonably accessible. Disc .torag8 8~aceil severely limited. Reports take up a rreat deal of space compared to other types of tiles 1n use by ARC, while at the same time they are less usetu11n day-to-day work by ARC personnel. Work on a report generally inVOlves considerable Shuftling of files in order to obtain space for the new report files) tile. not related to the report are moved into out-of-the-way locations, and we sometimes lose track of them in this process. Duplicate copies are destroyed to make more room. and here there is a chanc~ of inadvertently destroying the last copy of a file. FUrthermore, if only one copy of a file ia kept we 109 Sec~ion III APPLICATIONS AND EXPERIENCE face the pos8ibility that a system error will destroy it. The actual 108s of a file has become a relativelY rare occurrence, as users have become aware of the problems and develo~ed habits and ~roeedures to safecuard their tiles. However, we expend a great deal of time and energy on these safeguarding measures, and this .eriously slows our report-writing efforts as well as all of our other on-line work. When work on a report is finished (or ~emporarilY halted) a reverse process takes ~lace: the report file. are hidden away, with a risk of 10.1ng them. b. prOblema of Explaining the HAUgmentation Culture" NL! and our other augmentation systems are part of an exceedingly complex total system that includes all of our set procedures for dOing things, our management methods, our goals, and our strategies and priorities tor doin, research. This total system is the tangible part of the "augmentation culture"; the intangible part consists of personalities, emotional interactions, intellectual orientations, etc. It is a tiny and incomplete culture with a brief history -- a laooratory model. Nevertheless, like most cultures it is 1neompletely understooa by the people inside it. The long-term aide-effects of any innovation are unpredictable, and occasionallY such side-effeets give rile to ~roblem8. The prOblems of the augmentation culture affect allot our activities to varying Oegree.; with reports, however, these problems are multiplied, because the central task i. (in princi~le) to eXPlain th1s same culture to a reader Who hal no d1rect experience of it. In practice, we rarely or never attempt a com~lete instead we describe various im~ortant aspects of our work, one at a time. Unfortunately, this leads to a 1ra,mented picture in whieh the true eontext of our work -- a whole-8~ltem approach -- tendS to become attenuated. ex~lanat1onJ 110 Section III APPLICATIONS AND EXPERIENOE c. problema ot Organization and Technique Practically nobody likes to write reports. What 1. worse, very few people are capable of writinl gOOd reports on difficult topic. without very great expenditure. of time and energy. At ARC, we have re'ponded to these problems in several way •• (1) We have developed an elaborate system of computer a1ds for writing (al well &s other purposes). (2) We have negotiated our contracts in such a way a8 to require a minimum number of report •• () we have used live demonstrations and films to supplement the communication lunction of reports. (4) We have experimented continually with different ways of organizing a report-writing team to function within our culture. Some commentary on these responses may illuminate the problems. serv~ to With regard to the first item, the computer aidS are magnificent (&1 described above). Reducing the total number of report. required ia debatable; 1t can be argued that it would be ealier and more effective to produce small reports at more frequent intervalS, thu. making final reports much leS8 critical and easier to write, lince they could lean upon the information contained 1n recent short reports. It is prObablY true that films and live ~resentations are more communicative of what we are dolng than any wrltten report could be. However, they do not lessen the ~eman~ tor lood reports and they cannot be stored on line for computer access. Experimentation with ways of organlzing the reportlnc effort will prObably be the mOlt fruitful way of SOlving the prOblems. We are It111 only beginninl to develop a lood III Section III APPLICATIONS AND EXPERIENOE organizational ap~ro&ch to the report ~roblem. The present report i . being produced under a rather elaborate ~lan of highly ~istributed authorship with a lingle individual as p ner, coordinator, and "pusher." At this writinl, our principal difficulties are in getting all the various authors to finish their contributions on t1me and in sticking to anyone scheme tor the organization of the many sections. Although early analysis may well be miSleading, the situation luggests that we have concentrated too hard upon the distribution of respon5i~11ity for writing sections, thUS neglecting other equally important requirements for a workable delegation of authority, better forecasting of the effort involved in various phases of the work, better timing, etc. E. The Aucmented presentation 1. General When & groue of peoPle meets for purposes of discussion, briefing, Planning, etc., it is often necessary to communicate & prepared body of information to them for reView, orientation, or tutorial purposes. The usual mOde in such a session (Which might be a meeting, lecture, leminar, or any other sort of gathering dealing with any sort ot SUbject from poverty problems to .ales policy to biochemistry) is for one person at a time to .peak, with various decrees of preparation, an~ various levelS of sup~ort from auaio-visual ai~s. Effective use of these &1d5 usually requires special pre~aration of ~he materials (tapes, 8l1~e8, charts, etc.), or special effort at the time to write on a blackboard or image-projector 8Uface -although occas1onallythere is an opaque projector or TV circuit that enables the speaker to integrate lome of hi. normal working mater1al into his presentation without Ipeeial preparation. To any Of us who are sealone~ user. of NLS, participating in conVentional presentation processes has become even more painfUl than it Was before we became accustomed to augmentation. we have grown 80 uaeO to 112 Section III APPLICATIONS AND EXPERIENCE the ability to move around ealily wi~hin any of our informaton base. (~e.1enl, documentation, reference material) and to Iwitch QUiCklY amone the many u.etul ways ot viewing the information,that we wish that sort Of ca~abi11ty were available to the Ipeaker. If a clo8ed-circu1t TV Iystem 1. available to di.~ribute the compute~-dlsplay 1macel to a group, then a speaker with on-line acees. to a computerized information system can indeed make an "augmented ~resentation." 2. EarlY Experimentl In October 1967 we let up a s~ecial conference room, with TV monitors arranged so that lome twenty peo~le, sitting around a rectangular table, could watch an augmented presentation. We inaugurated the facility with a two-day meeting between our staff and the technical monitors from the four agencies then sponsoring our work. At all times durinl the meetinc, the s~eaker sat at the Nt! control console (a position at the table that had a keYbOard, keyset, and mouse in a~dit1on to a monitor) and could instantlY access and display information in any of our total collection of f11es. Some of the material was specially prepared reference material for agenda purpolel, but most of it was our actual working material -- ~lann1ng, de8i«n, documentation, and scratch-note files. A trial acen~a wa. prepare~ ahead Of time 1n an NtS file~ but from the outset it was subject to ad hoc review and modification. To give the partici~antl a better mean. of talking about the displayed material (i.e., voicing questions, challenges, or IUlle.tiona), each had access to a Mouse which coul~ control a second tracking spot on the sereen. This spot was u.ed as one would u.e a wooden pointer to draw attention to an item on a blackboard; 1t was of different shape from the control Ipot used by the s~eaker, so it was easy to keep traCK of who was point1nl. Thil mode of running a project-review meetinc proved . very rewarding. We subsequently u.ed the setup frequently ~or special prelentat1on. (mostly for 113 See~ion III APPLICATIONS AND EXPERIENCE visitors), also with great succels, anO perhaps a dozen times for work1ng meetings of our group. In mid-1968 we dilmantled the setup, since we needed the space tor expanded shop area and the TV monitors tor more NLS conSOles. To let at le&.~ the capability tor a larger audience to view a display, we have had a flexible arrangement for attaChing two or more TV monitor. to one NLS eon.ole, We hola many demonstrations and presentations this way, for groups up to about 20 people. 3. Development of Improved Capabilities By mid-1968 we had acquire~ some special-effect. v1aeo equipment that cave us the following capabilities: Video monitoring and switching. An operator monitors images generated from a number of sources and can select from these the silnals to be channeled to various destinations. Video mixing: TWO lignals can be blended, with adjustable strengths, to superimpose two images. Signal fading: A selected signal source can be slowly diminished or atrengthened to achieve smooth, gradual tranli.tions between image-compolition state •• Image splitting: The .ereen image is divided geometricallY into two parts, each being the correspondinl trame part from a different image source. A horiZontal or Vertical dividing line can be set at any pOltion, or a rectangular inset can be made in one corner of the frame and it. size adjusted. We also located a NASA-owned EiOophor Video Projector at the nearby Ames Research Center and were fortunate enough to be able to borrow it on several occasions. It projects our video images onto a large sinlle screen with very high Quality and is suitable for ~resentations to large audiences. As we were learned of Films Inc. image (and 11k experimentinl with augmented presentationl~ we a special teChnique developed by W. A. Palmer of San Francisco for directly t1lminc the video sound trom & microphone cirCUit) to produce a Section III APPLICATIONS AND EXPERIENCE motion picture. On a number of occasions, we have arrange~ for a camera ana operator tcfilm our presentations. We also developed special coupling equipment enabling us to lease voice- and video-,rade transmission channels to a remote site. From the remote site, we can then use our computer system to support two regular NtS consoles and any associa~ed video-control and -projection equipment for conducting full presentations. i. Large-Scale Augmented Presentations We successfully used the full range of these techniques in two large-seale presentations -- in December 1968 at the FJCe in San Francisco, and 1n October 1969 at the annual ASIS meetin« in San Francisco. These presentations were set up with the main speaker seated at the front of the aUditorium, at one of our relular NLS consOles, to one aide of the large screen but in full view of the audience. He had a microphone, and could directly address them as though delivering an ordinary speecn. A TV eamera mounted near him caught a full-size face View, and a "prOduction manaler" for the presentation, seated at the rear ot the aUditoriUM with SWitching, mixing, and frame-splitting control, could put the face view on the screen tor a much more effective feeling of direct contact between spea~er and audience. When the speaker chose to use NLS, and turne~ his head slightly to see the NLS display screen, the projeete~ image would be 8witched to snow his computer-di.play view to the audience. Frequently, 1maces captured on mObile TV cameras in our laboratory at SRI were 8witche~ onto the projection .ereen, 10 that the ~resentation coulQ' include both a tour of our laboratory and participation from people located there. Four different re.earchers at the laboratory worked during the pre.entation at consoles in our work room (various shots during the pre.entation verified that they were there in the backlround, actually using the 115 Section III APPLICATIONS AND EXPERIENCE consoles whlle the rest ot the show went on1. At various times, the full face of one of the four was brought on screen, dialogue went on between him and the m&in speaker to introduce him and his topic, and then he took over and ran a portion ot the presentation 1n much the same manner as the main speaker had been doine -- the screen bein, able to show alternate (or split and/or mixed) images ot him and his display-screen image. For both conferences, the complete presentations (each about one hour and forty minutes in length) were ca~tured . on l6-mm film (black and white with optical sound). The ASIS film is the better of the two, and we have made eight oopies that have been in active loan cirCUlation Since tne first of the year. It 1s better than any earlier self-contained form for conveying an overall picture of our augmentation system. The eopies· have been loan~d to lome 70 organizations, incluOing several in Canada and one in France, and we hear of many repeat showings put on·bY a borrowing organization as a reSUlt of the response of the initial aUdience. one must see one of the movies to appreCiate the differenee between the augmented presentation system and what could almost have been substituted for it .- e.g., a ~rev10UslY made set of slides Of all the display-screen Views, and a very fast·actin, and large-capacity slide-selection system under control of the speakers. For clas.room lectures, for project brief1nls 1n connection with complex sy.tem-developmment· projects, for presentation of complex iSlues to a reviewing body (such a.a conlress), etc., these extensions of our augmentation system toward an augmented presentation system seem extremely promising. We intend to puSh further development of these techniques for application by smaller groups within a system-development team -- group meetin«s for brainstorming, plan and design reView, etc. S. Conclusions Alsuming tn,t technique. similar to ours are bound to 116 Sec~1on III APPtICATIONS AN~ EXPERIENCE evolve for widespread use in inten8eintellectual work both by individual' and in small crou~l, it 1s Quite obvious that extenSions to the techniques, ,uch as described above, for augmenting presentation. tolarcer croups will become quite important. Although pursuit Of pre.entation techniques is not our central loal, we woUld like to encourage a general appreciation ot it. potential. l17 IV A. THE NETWORK INfORMATION CENTER Overview of the ARPA Network 1. Basic Description The A4vanced Research projects Agency (ARPA) of the Department of Defense has inaugurated a novel experiment, the purpose of which is to explore the possibility for fostering effective, real-time cooperation and interaction be~ween approximately fourteen of its contractors, all of Which are doing research on the development of advanced information-processing techniques. To carry out this experiment, the Agency is in the orocess of establishing the ARPA NetworK, which is a data-communication network linking the computer facilities Of these fourteen research centers. Each of these centers has a coord1nate~ collection of resources -- both technological resources such as computers, storage facilities, input/output devices, ~nd softWare systems, and human resources such as knowledge, skills, and methOdologies. It has been necessarY, in ~ener&l, for these centers to engage in wasteful duplication of basic resources and to live with adverse restrictions on tne numDer and quality of special-purpose resources available to the researcners at anyone center. But wide-band connections between centers will bring many -- pernaps eventually all _. Of any centerls computer resources within the reaeh of every user in the Network. Two basic domains of work are involved 1n thiS experiment: (1) Development of technology tor providing intercommunication between programs in the different centers (2) Integration of the ~istributed resources of these centers into new patterns Of support for users of the Network. 1n~ormation·network technology i8 described in a set of companion papers presented &t the 1970 Spring Joint Computer Conference (see Refs. 20 through 24). The following simplified description is intended as background for the discussion of the Network Information Oenter contained in SUbsequent sections. Det~11ed 119 Section IV THE NET~ORK 2. INFORMATION CENTER Host-to-Ho.t Communication Each research center, or Network "nOde," will provide access to one or more local computers dedicated to research on information-processing techniques. These local computers are called "hosts." As part of ~he Network, ARPA supplies to each participating center a small, specially programmed computer called an Interface Message Processor (IMP) which is connected to the host (or hosts) for that center. The IMP provides each hOlt computer with a uniform functional interface into & network consisting of SO-kilobaud transmission lines leased trom telephone companies. Each IMP con~rol' traffic to and from its host or hosts, as well a. traffic along the Network channell. AS far as each host i. concerned, the Network may be treated as a mUlti-port black bOX with IMPS serving as the ports. Very much like voice-path connections between users of a telephone system, one-way message paths called "links" may be set up between specified hosts by the IMPs. For example, "Link AD3" might de.ignate a path from HOlt A to Ho.t D difterentiate~ from other Possible links from A to D by the label "3." Special Network-monitor programs reSident in each computer activate such links an~ negotiate among themselves to allocate them to s~ecifie communications-path purposes. nos~ The "0" links are reserved for control messages directlY between the monitors. 3. program-to-program Communication Program A in HOlt A may aSK for a communication link to be establiShed from it to Program B in Hoat B. As currently Planned, the following chain Of operations wOUld occur: program A SUbmits the request to Monitor A. Monitor A uses ControlL1nk ABO to necotiate this with 120 Sec~ion IV THE NETWORK INFORMATION CENTER Monitor B. After Monitor B ascertains that Program B is available for such communication, the two monitors together assign one of the AHn links to this communication purpose (for example, Link ABh). Monitor A verifies to Program A that its request has been fille~, and that Link AB4 is now connected to Program B. Program A is now linked to Program B bY what appears to the two programs asa private communication channel between them; any data Bent out by Program A via Link AB4 is delivered directly to Program B. Any sort of information that could be sent between two programs within the same computer may be lent along such a channel. For examgle, Program A might sen~ control information to Program B asking it to set up & reverse link, and to transmit along that link the results of processing a File B that resides within Host B. or conceivably, Program B could be asked to linK to HOlt C to get an~ process File C. Program A could be an interactive preprocessor serving a User A Who i8 connected directly and locally to Host A and for whom most ot the service i. being supplied by a Program B. Program B could be & soPhilticated user 5ubsystem such as Mathlab at MIT, the Culler-Fried system at UCSB, or our NLS. In any of the more SOPhist1cate~, display-oriented Subsystems, User A'S hardware could be different from the hardware used at Program B'. home site. program A might provide an adaptation for the partiCUlar terminal hardware being used by User A. It procably would also provide some of the local interactive feedbaCk such as character echoing at a full-duplex terminal. 121 Section IV THE NETWORK INFORMATION CENTER B. Some of Our 1. pros~ect~ve Ules for the Network Basic Processes A variety of program A that 1s likely to be established early at each host is a process that allows a typewriter terminal at that host to link to the timelharing executive in Host B. Such a process woU10 enable User A to log into the Host S's timesharing system and work as though he were a local user at Site B, using any of the typewriter-oriented SUbsystems that may exist in the B system. 2. Bootstrapped System-Transfer For our first experiment in Network usage we have established an interface to the University of Utah" Network host, a PDP-10 computer, so that a programmer at one of our consoles can use the editor and loader-oeougger at Utah to develop and check out programs to be run for our special use. This is the first step in a sequence of experimental uses of the Network that promisel to nelp us significantly in preparing to transier our software systems onto a new PDP-10 computer system next Fall. In carrying out this experiment, we will be coordinating a very large collection of technological and methOdological resources 1n a novel way. We are prOducing mOdified versions of all our language compilers. These new versions will still be run on our XDS9~O system but will produce object code for the PDP-10. Our programmers will compose, modif~J study, and compile the software being written for the PDP-10 using onlY the resources of our own Oenter, principally NLS ano the speCial compilers. Then, when there is need ~o test ·a piece of the new SOftware, they will activate Network link. to put them in communication with Utah's PDP-10 executive system. The compiled code will be Ihipped over the Network to Utah. where it will be loaded and 122 Section IV THE NETWORK INFORMATION CENTER execute~. Still working at our on-line consoles, our programmers will be able to debug the object code using the PDP-10's debugging facilities and, then, rapidly switch back to NLS to correct the source code as well. In this way we plan to bootstrap the development of & PDP-10 version of Nt! so that we can be up and running very quicklY when our own PDP-10 is installed. We ho~e NtS will have been entirely written and mostly debu~ged by then. The entire power of NLS will have been used during cyclic Itages of converting/rewriting, debugging, source-code upaating, and documentation. It is interesting to note that another PDP-10, which could be used for program checkout via magnetic tapes carried back and forth, is located just down the hall from our present computer. However, it promises to be significantly more convenient for us to use Utah'. PDP-10 connected directly to our computer via the Network. ~e can communicate our ~rolram8 to it mucn more convenientlY; and, while sitting at our own consoles to ·debug the programs, we can quiCklY switch to local Nt! to inspect or modify the source-cooe files or to enter no~es and documentation. 3. centralized File Archiving Another straightforward way we can benefit from the basic Network is by ~sing the file-storage system at the University of California at Santa Barbara as our file-arChive resource. Besides providing service to the local ARPA project, UCSB's host IBM 360/75 is the central resource of the University'S Computation Center. IBM 23lk disc-file transports, program. to store and retrieve files, on-duty operators to run back-up dumps onto magnetic tape, and aceounting and billing procedures to nandle serviee to miscellaneous users are all part of this resource~ We consider using their file-storage sf.tem as our 123 Section IV THE NETWORK INFORMATION CENTER file-archive resource. We woula interface this archive .ystem to our On-Line Sy.tem se that the response to a call for some service in storing or retrieving an archive file could function exactlY as though we were .toring anO managing the file locally. other Network user. could also u.e this file-archive system either by interfacing to it directly or by interfacing to it through us. This begins to sugges~ lome of the ~ower inherent in the network concept, since the number of subsystems available to each network participant can "pyramid" on the basis of a relatively small number of interfacing tasks. We COUld gain con.1derable economic advantage from .being able to share with many other users the capitalization and operat1ng-aecount1ng expenses involved in providing a basic disc-file archive system. Installing and operating such a service ourselves would be a distraction from how we want to u.e our manpower -but we have to have ihi. capability. Being able to use the Network to share this resource could be an important benefit to us. 4. Data-Sase Management service We a180 hope to utilize one of the big-compu~er host. with large discs and an operating staff, to help install ~ commercial data-base management system tor use by us and the rest of the Network. Again, the interface procesl WOUld resiae in our hOlt and give our users a data-base management service that ~ney can interact with &8 it it were a local service. None ot the protocolrequ1red to fire up the remote system, pro~erlY format service requests, an~ specify delivery ot it. product. need involve our ulers. To pre.ent our users with uniform conventions over all of our ~ifferent service functions, we would want to be able to compose service requests in an NLS file using 124 Section IV THE NETWORK INFORMATION CENTER our own particular syntax. In addition, to take advantage of NLS power in stUdy and we would want to have Query results ,converted into NLS-file form so that they can be integrated d1rectly into our regular working files. mo~if1cat1on, C. Need for a . ~etwork Information Center To pursue such relatively straightforward uses of the Network, a user will need to know answers to such questions as: What resources are available within the Network? What conditions are associated with the use of a particular resource at a given no~e? What interfacing 1s required to couple to this resource? WhO should be contacted to arrange for this? More generally. each site will also neeo answers to questions about other nOdes and about the Network such as the followinl: What are the hardware and software resources? What are the research activities? What are the operating instructions for a given resource? When will a prospective resource become available? Who 1s interested in new display systems? Who went to a particular conference? WhO else was interested in NIC Memo 7721? The whole Network experiment will consist Of negotiating, implementing, and operating many such arrangements. To carry out these negotiations effectivelY and to aocument the results of Network experiments, Network participants need access to information of the k1nds mentioned above al well as a medium for reeord1nl their experiences; it is the role of the Network Information Center (NIC) to service tnese needs. 125 Section IV THE NETWORK INFORMATION CENTER D. NIC 1. Develo~ment Activity Backgroun~ our involvement in the ~evelopment of the Network Information Center belan shortlY atter the official announcement of Plans to proeeed with the development of the Network itself. Realizing the importance of this information center to the success of the Network experiment. we volunteered to undertake the task of designing. implementing, and o~erating the NIC. Since then, we have been graduallY evolving and implementing plans for providing a coordinated and usetul collection of services to Network participants. This has proved to be a far more difficult task than we originally envisioned tor several reason •• The Network will provide a completely unfamiliar work1n« enVironment, and it is tar from Obvious just what kind of information services will be most conducive to effective action within that enVironment. our contracts have contained no speCific guidelines as to What form NIC services shOUld take, and other Network participants have been equally value and often contradictory in voicing their expectations with regard to the NIC. We also have had no previous experience in prOViding information services to users outside our own center, and have learned the hard way that this kind Of operation require. a kind of organizational structure an~ management different from that Which had been appro~r1&te 1n the early year, of our research activities. In designing the NIC, we were conscious of the fact that more was needed than just cood library facilities. The technical sophistication of the tools we ha~ available and of the users we would be servin, ~emanded that we seek to make it POSSible for this community to derive significant adv,ntage8 from the Network in term. of increaseO communication of iOeas, deSigns, criticiSMS, an~ comments on needS and possibilities. 126 Section IV THE NETWORK INFORMATION CENTER we recognized the challenge involved in fostering an environment that would encourage increased collaboration among individuals and groups at different nodes, and felt that the NIC would bear much of the responsibility for setting the direction of efforts to meet this challenge. And 1n designing the NIC we were aware that it would not be SUfficient merely to provide cood technical features, but that the design must reflect the Kind of coor~inated user-system I aervice-system interface that we have felt is so im~ortant in the bootstrapping approach to the development of our own augmentation aids. 2. orientation In order to gain perspective into what was expected or desired in the way of service from the NIC, we talKed with a number of Network Site managers a. well as with library science specialists. MOlt of the managers were uncertain about the nature and extent of their probable participation in the Network and did not know What they wanted from the NIC. What expectations we were able to uncover frequently showed extreme differences from person to Derson. Some thought that there was little need for a NIC, while other. thought that the NIC should supply initiative and lea~ership in the development of overall Network conventions and methodololies. Some thought that the NIC was going to serve &s a intermediary for handling working communication between hosts, providin« tele~ype bUffering and spooling operations, or that it WOuld be responSible for specifying protocols for ~ommun1cat1on between different types of terminal ~evices. The types of service to be provided, in terms of media for storage of dOCUments and metho~s of enqUiry, were perceive~ at pOints all along the continuum from Qompletely off-line to eom~letelY on-line. And the types of retrieval capabilities envisioned 127 Sec~ion IV THE NBTWORK INFORMATION CENTER ranle~ from fUlly automatic to fully manual. However, one reasonably consistent picture ~1~ emergel almost all the managers contacted ex~ressed & concern for the ~oor state of documentation within tneir projects and a hope thai the NIe would be able to helP them not onlY with Network-oriented documentation but with their in-house needs &s well. The need for improved documentation was seen not only in the area of "formal" documentation, such as user manuals and reference cuides, but also 1n the realm of the "folklore" that evolves around every system and that is an absolute necessity for making effective use of a system. Some managers expressed the opinion that a remotely located documentation-aid system might receive heavier use than one at their own site because there would not be the usual conflict between u.1ng the local facility's resources for Qocumentat1on as opposed to us1ng them for programming or other work, the latter always receiving higher ~riority in most researchers' mindS. Part of the "folklore," or informal documentation, would play the role of elearing house for communic&~ion on defect., bugl, neecs, possioilities, etc., and would help to provi~e feedback on the statuI and accecptability of existing or needed procrams and formal documentation. The outcome of these diSCUSSions, and of analYsys of the several tentative NIC designs that resultec, has been to take the pOSition that we shoulC initially prov1de Network users with a few relatively basic services and let the development of the "optimum" NIC evolve in a natural way as u,ale experience builOs up. ThUS, we are planning to help Network users gradually to apPly our concepts, conventions, tools, and teChniques to relevant aspects of their own working enVironments, While at the same time providing them with a reasonable initial corpus of reference material. We will m.ke every attempt to encourage and facilitate feedback from these users 80 that we can expand NIe 128 Section IV THE NETWORK INFORMATION OENTER services to meet their exchange. E. nee~s for information access and Ourrent NIC Plans l. Introduction We aim to be prepared to provide certain basic types ot services through the NIe, each of which will be expan~ed or elaborated 18 neeaed. This approach il our way of accommodat1ng the uncertainty about the user-population's information activity descriced above. This section outlines the measures we have taken to accommOdate these basic serviee needs. 2. Basic Library Services The foundation of NIC operation must be a flexiole library service, the development of Which requires us to: Accumulate a physical colle~tion of information items,in various sizes and media, and then store them in a secure and orderly manner. Provide a catalog in which the descriptions of these items are maintained, and from which can be Obtained the keys (clues), necessary to locate the physical item •• Provide indices and associated query procedures to aid users in finding catalog items of interest. provide direct me&ns for a user to obtain access to documents for which he possesses keys, ana enable "browsing" where possible. PrOvide direct reference help via two-way dialogue an expert. wi~h We will initially provide this basie library service. in ways not too dissimilar to those used by other special inform&t1on centers ana clearing houses. That 1s, we expect to be interacting with users through mail and voice-telephone channell, to be distriDuting hard-copy indices &nd catalogs, and to be mailing s~ecial query-response listings and references. 129 Seetion IV THE NETWORK INFORMATION CENTER 3. On-Line Services We are also seeking to harness com~uter. ~isplay. microform and communication technologies to elevate what a "library" represents to its community towar~ new levels of "augmenting the intellectual ~roces.es of communication and collaboration." To this end we are taking special measures toward "the way we do our librar~ work here" -- the nature of the collection, the form of catalog an~ indices, the procedures tor developing and maintaining them, ete. Ana we are investigating ways of improving s~eeial aspects of the user's interfaee to the NIC -- his query and browsing techniques, his means for doing bibliographic work, his means for publishing communiques to the community, hil means for staying 1n touch with current aetivities, ete. As the technology and methOdology of Network utilization develop, there will be a rapidly increasing number of widely distributed terminals througn which a person ean gain on-line aece.s to the NIC, and we are taking very strong measures to be able to serve them. Be.idee developing the services ~eser1bed below, we have inve.ted a creat deal of effort ~owar~ increaSing our service capacity with special system studies and the installation of a bank of external core and three high-speed SWapping drums; and this £&11 we will be shifting to a new computer (see Section II). We are prepared to supply some on-line query service as soon as the Network can support host-to-host full-duplex typewriter transactions ~- the simplest kind of general Network usage. Continual development of the variety and sophistication of the service will follow lines discussed in the re.t of this leetion~ During the next year mOlt remote on-line users will be served by TODAS, i typewriter-oriented version Of our On-Line system (NLS). Initially, both access to our SUbsystems and the number of Network users that we can aceommodate will be quite restricted, but we plan for steady improvement in both 130 Section IV THE NETWORK INFORMATION CENTER interactive quality and amount of the .erv1ce available to Network ulers. We feel ready to.support three Network TODAS users nowJ when installation Of the new drum. an~ external core is completed late this .ummer, we might be able to increase this to fiveJ and, depending upon the response possible using our new computer, we may be able to support as many as fifteen by the end of the year. ThOle sites having Oisplay terminals that can emulate typewriters with high transmission rates will be able to get fast-response from our typewriter-oriented system -service that is really quite respectable even without direct screen-selection means such as a mouse or tablet. We are currently mooifying an Imlae diSPlay console for remote use on our system, and we hope that it will become fully operational by early fall. It will eventually have full NLS capabilities inclUding our stan~ard mouse and key.et input device., and any other Network user possessing such a terminal could quicklY avail himself of similar service. As soon as we have tran.ferre~ our present systems onto the new PDP-10 computer an~ have achieved rea'onable stability 1n system reliability an~ rel~onle, we intend to concentrate upon developing tecnniques to permit general use of our NLS capabilities on a wide variety of remote di.p1ay terminal., and we anticipate having a growing Network load of this ty~e bY next summer. 131 V CONOLUSIONS, RECOMMENDATIONS, AND PLANS A. In~roQuction Our experience in Oeveloping and using augmentation systems, lome of Which was Oelcribed in Section III, gives us confidence in the validity of our long-term Roals and approach to augmentation re.earch. We are beginning to have strong feelings tha~ our efforts, still proceeding unOer ~he ,u10ance of our bootstrapping strategy, are on the threshold of yielding significant payotfs. The concept of augmentation systems is no longer in question -- such system. are bound to come. The only uncertainties involve the rate and direction of development and ~hat can be ~one to improve both, so as to foster more efficient evolution and ensure the earliest possible application of these systems to solving real problems facin, societ,. This section summarizes the conclusions we have ~rawn from our research program and outlines some of our plans for future activities. B. Conclusions Relevant to other AUlment&tion-System 1. Oevelo~er8 General Comments The experience we have had in setting up the Augmentation Research Center facility may not be directly apPlicable to other system Oevelopers, but there .till may be something to be learne~ from our accomplishments and disapPointments in implementing some of the components ot our system. In this section, therefore, we will take a look at our facility, evaluating some of its unique aspects and discussing some of the major prOblems that have been encountereO in it. eVOlution. This facility is described briefly in Section II-B, and a more complete description is contained in Ref. 18. 2. Accomplishments a. Display System (1) General our display system uses centrallY locate~ display-generating eQu1~ment and a closed-circuit television .,stem to distribute images to individual consoles. 133 Sec\ion V CONOLUSIONS, RECOMMENDATIONS, AND PLANS Tnis approach to di'~lay-.~.~em desiln was chosen on the basis of COlt an~ flexibility, and a ~etailed description of the system and of conli~erat1on. that went into it. desien is given in an earlier report (Ref. 11). After con.iderable experience operating this system, we are still plea.ed with the basic approach. (2) Usale Advantages The closed-circuit television system offers several distinct advantages over other mean. of producing displays at a user console. Since only a television monitor and a vi~eo line are required to present the diSPlay at each NLS console, the desien and location of consoles is flexible enough to facilitate experimentat10n with different types and to permit moving them about with a minimum of cabl!n, prOblems. The video s1cnal can be inverted to provide a dark-on-light display, which is usable 1n higher ambient light conditions than the more common light-on-dark presentation and which makes flicker in the di.play 1male less noticeable to the user. A significant storage time can be obtained on the vicicon surface bY proper aajustment of the television camera. ThiS reduces tne flicker effect that 1s present in the original CRT ~isPl&Y, and with this system we find it possible to produce satiSfactory imales with a regeneration rate of about twenty per second. (3) M&intenance Feature. Since the diSPlay equipment a~ each NtS console is simply a telev1.1on monitor, it can be replaced by a spare for maintenance without taking the console out of service. The location ot the diSPlay-generating eQuipment in the computer room, where complex maintenance and repairs are more convenient, make. pOSSible an uncluttered oftice environment in the user's working 134 Section V CONCLUSIONS, RECOMMENDATIONS. AND PLANS area. Hav1nc two identical d1.plaY Iystems, from display eontroller through aetual monitors, is a major factor in maintaining up-time in spite of the high level of maintenance that has been required on the.e systems. Since there is not a fixed one-to-one relationShip between ~1splay-generat1ng equipment and NLS consoles, users may select consoles freely on the basis of current nee41 even when part of the display .ystem is out of service. (4) Potentials for Extending Capabilities Since a great variety of commercially aVailable equipment i. compatible with our vi6eo system, there are many potentials for innovative use of our system that would be mueh harder to realize with conventional Cisplay-01stribution techniques. For example, we have used high-quality projection television al part of our presentations at the 1968 Fall Joint computer Oonference and at the ASIS Conferenee in 1969 (see Section III-E). It is pOSSible to use multiple TV monitors or intermediate-size prOjection equipment tor smaller croups, an4 experimentaion witn these techniques will be a major element Of the team-augmentation work to be carried out unoer our next contract. The video capability ofters aaoitional flexibility in the images th&t may be presented on the screen. For example, in the conference. mentioned above, live television pictures of the people and equipmen~ involved were freely used, ooth alone and after being mixed with computer-generated images. ThiS, also, will be a Significant factor in team collaboration at a distance where pictures of the people involved can be used, either mixed with or inserted alongside of the computer-generated images. 135 Section V CONCLUSIONS, RECOMMENDATIONS, AND PLANS Another potential use of the microform ~ocument8. vi~eo is the viewing of Many systems are now aVailable that use close~·circuit television for the storage, retrieval, an~ viewing of microform documents, and we expect thi' kind of system to become more prevalent in the tuture. we already have plana for experimenting with various SWitching techniques in our diaplay-di8tribution system, and the inclulion of provisions for microform viewing woul~ require very little additional effort. b. NLS Conlole, (1) Console Design As mentioned above, the use of video for displa~s allows considerable flexibility 1n console design. We have experimented with many arrangements over the past few years and are now using the three basic designs shown in Figure. V-l, V-2, and V-]. (2) KeYboards The keyboarOs in use have gone through several stages of del1gn with special attention to touch and layout. They now have a key force of 80 crams and a good "feel." They are well accepteo, an~ we tinc1 that new user. rapidly accommoaate to the locations of special keys .uch al command accept and backspace. ()) Moule We fin~ that the mouse is still the most convenient locating device for our purposes. It 1s aescribed in Ref. 7, alonl with some experiments in the use of various selection devices. Available commercially, it is now u.ed on other systems a8 well al our own. (4) KeYlets The keysetl in use were desilned with special attention to "teel." Tolerances on the movinl parts are very close to give .mooth, po.itive action. Key 136 FIGURE V-l "HERMAN MI LLER" CONSOLE. This console, designed in cooperation with Herman Miller Research, was first used for the Fall Joint Computer Conference in 1968. The keyboard-keyset-mouse unit is attached to a swivel chair, with the TV monitor on a separate stand. It is a little confining to many people and the limited space for operating the mouse is an annoyance. However, it is reasonably comfortable and is useful for meetings and demonstrations because the user can turn and be part of a group while working. 137 FIGURE V-2 138 ON E-PI ECE CONSOLE. This console, designed about two years ago, basically a table on wheels with the TV monitor mounted at a suitable angle for viewing. Both sides of the table have pUll-out shelves for mouse, key set, and working papers. This console now seems too rigid to most users. The TV monitor is too close for some, and th ere is not enough extra working space for notebooks and papers. FIGURE V -3 CURRENT CONSOLE DESIGN. This console consists of a small table with integral keyboard. Connectors for the mouse and keyset are immediately behind the keyboard. The TV monitor is on a separate stand . The table stands low, placing the keys at a convenient level for typing, and other tables can be placed on either side for additional working space. This arrangement is very flexible and allows plenty of working space as needed. I t is particularly good for group collaboration, since the monitors may be turned for better group viewing, and entire consol es are quickly moved into different working arrangements as needed. 139 Sec~ion V CONCLUSIONS, RECOMMENDATIONS, AND PLANS spacing c. &n~ size &P~roximate those of a piano. Printer We value a high-qUality line printer that ~roduces upper-- and lower-case alphabetic. an~ a full complement of ASCII symbols. The one now in ule is a Data Products mo~el M600-11A, wh1eh hal been very reliable and maintain, hilh~quality output. We normally use specially perforated paper alone with our output-formatiin, programs to prOduce hardcopy, complete with ~re-punehe~ hole., Which is re&~y to be in'erte~ into a standard 8.Sxll three-ring hinder. ThiS feature has been enthu8iastically accepted and is of partiCUlar value 1n the prOduction of reports anO other documentation. d. Software Architecture The overall architecture of our SOftWare systems is described brieflY in Section II. The use of a compiler-compiler to augment the development ot a ver.aiile set of spec1al-~urpose language I hal proved quite valuable in facilitating debugging, rapid modification of existing feature8 and addition of new features, ana or1entation Of new programmers. our effort. to use higher-level l&ngua~es Wherever pOSSible shOUld result in adQit10nal payoffs when we transfer our software to a new computer this fall. e. The On-Line System Nt! hal been evolving for many years and has prove~ itl value both a8 a tool for-bootstrapping its own evolution and as a flexible laboratory for developin~ experimental working methOdologies (see, for example, Se~tion III). 3. problems The major problems we have encountered in developing our system stem from four basic diffieulties: (1) 140 Trying to fit a very large operational system into Section V CONCLUSIONS, RECOMMENDATIONS, AND PLANS har~ware (2) too .mall to support it Uling an available time.har1ng 'Yltem that hal inadequate to~ our purpo.e. ~rove~ ()) Developine too Much special hardware with the as.ociated probleml ot unreliability and mi8.e~ schedule. (k) Unreliability ot lome components of the facility, file .torace device •• ~articularlY a. Hardware Lim1tations Limitation. imposed by both the hardware configuration an~ the timesharing service system have resulted both in worse response and in the ability to handle a smaller number ot on-line users than we had expected. Moreover, this h&sre,ulte~ 1n the necelsity tor expendinl mere relource. on ~rOlr&mminl the service system than we had originally anticipated, and our planne~ work on evolving the user system has suffered acCordingly. We originally had hoped to be able to .erv1ee ten on-11ne NtS console. at a t1me, but we now find that only five can be operated with reasonable response to the users. The primary factors affecting this response time are .wapp1ng (core-drum transfers) an~ file 110 (core-di.c transfers). stUdies that mea.ured and recorded the time required for a prolram to be activated trom the lowe.t priority queue under various .ystem 10a4s SUII.st that an external core tor display bUffers will provide improved respon,e bY treeinc a maximum amount of memory for u.e in swapping (Ret. l6). To analyze tactor.affectinl ~he re'pon.e of the timesharing system, we developed a highly parameterized, discrete simulation model of the 'Yltem (Ret. 18). This was used to evaluate the impact ot changes in the hardware configuration, such as faster drum. or larger core memory, a. well a. the effect ot lil Sect-ion V CONCLUSIONS, RECOMMENDATIONS, AND PLANS various mixes Of user demands. Changes in the scheduling an~ swapping algorithms were also tested in the simulation, with the relultl being sUbjected 8ubsequently to experimental verification. The major hardware limitations of the facility are the maximum core aVailable (the 940 can accommo~ate only 6~,OOO word.), and the limited address space aVailable (a program can address only 16,000 woros). Maximum core limitation results in the swapping bottleneck mentioned above. Limited address space requires an overlay structure inordinatelY complex for a program the size of NLS. This means that programmers must expend a grea deal of enercy de.lgning overlay structure. and are constantly running into problems of full overlays as the system is expanded. This factor alone probably increased the cost of programming tne system bY ten to twenty percent. In retrolpeet, we recognize the error in the fOllowing de.ian decisions: The deciSion to refresh displays from main core memory was a ba~ one. Memory bandwidth is no problem, but ty1n, up the memory with ~isPl&Y images (Which reQuire "fro~en" pages of core) re~uce. the space available for programs and makes the swapping bottleneek even worse. With the present system design, providing feedback to a user requires that a program unique to each user be swapped in for every character of input. A different approach m11ht have eonsolida'ttec1 lome of the interactive !ee~back. thus re~ucing the swapping requirement •• b. Timesharing System Defects The tlmeaharinl system obtained for use on our computer hal been another significant facility limitation. 142 Sect-lon V CONCLUSIONS, RECOMMENDATIONS, AND PLANS timelharinl .y.~em wal one of ~he mo.t available .at the time we acquired1t, it hal proved 1t.elfinadequat,e· to provide ·the service wh1ch we mu.t have. Al~hoUghth1. ,ophiltlca~ed Partly thilis becau.e the de.icner. of the .ystem ~ld not anticipate aceommoda~1nc prolram. as laree as NL!. We are constantlY runnlnl into .1ze 11mit&~ions built .into tbe a •• embler, loader, and debuller. Another prOblem i . that we are ~be only people uling this tim'.sharing system tor an apJ)lication 11ke Nt! an~, therefore, have ha~ to carryon alone its maintenance and evolution. . There. still are many bu,s 1n the Iystem that would be totally unacceptable if we were not a releareh-oriented organization with few naive ulers dependent on the system for .ervice. Some of the,e bUll have been known about for two years or more, but hie her-priority ~emand' on our procrammera' time have alway' prevented us from locating them. witb tran.fer to & new computer now imminent, we plan to live wl~hthem a little longer ratber than wasting valuable enercy trying to fix them at thi. time. c. problem. with Custom-Built Hardware MUCh of the hardware in our sy8~em has been custom built to our .pecitication.~ either bY our own .taff or under contract. We have badly underestimated the resources needed for constructing some of thil hardWare, there,ults beinc mil.ed schedUles, failure to meet specifications (tor the diSPlay .y.tern in particular), and hieh maintenance co.ts. In putting together an exper1men~al facility tor aUlmentation re.earch, we now lee the de.lrabi11ty of re,tricting .peclal hardware development to tho.e areal mOlt directly as.ociatedwlth user feature. -- e.I" uler-con.ole d.slln. Wherever po.alble, use ,hou14 be made of commercially 143 Section V CONCLUSIONS, RECOMMENDATIONS, AND PLANS available computers, interface devices, d1.play-ceneration equipment, etc. d. File-Storace Device Unreliability File unreliabilitynal allo relulted in considerable ;lols of time to both prolrammerl and other users. Althouchthe disc-tile .ystem we are using is Quite COO~ when compared with other. in.the COMPuter field, &deq~ate tile backup features were not incorporated into the .y.tem design. This means that ulers must either 10 through elaborate procec1ures to keep .everal coples of 1mportantflles or occasionally sutter Significant lost time when a file goes bad. Until file storage devices are much more reliable than those now available, sO~histic&ted automatic backup facilities should be designed into any system. 4. Maintenance Experience a. General General reliab1lity of the faci11ty hal been gOod. Computer up-time hal been hieh, although the reliability ot the di.c-file .y.tem hal been only fair. We had a period of several months of above-normal error rate, with five days down While cloCk track. were rewritten. The chain printer we orilinallY bought had marginal print QUality, was unreliable. and we had ~ifticUlty getting .ati.taetory maintenance service. consequentlJ, products drum per line with print quality so far it hal b. we have replaced the unit with a Data printer that hal 96 printing characters upper- and lower-ca.e alphabet. The 1a excellent (witne.s thil report), and been fairly re11able. Display System We have spent more effort on maintenance of the c11.play Section V CONCLUSIONS, RICOMMENDA~IONS, AND PLANS 'Yltem than on any other part ot the taei11t¥. lince our cSi.play .y.tem 1. lomewhat unu'U&l, we will di,cusl lome 01 the problem. encountered in .0 far a. they reflect con.1der,t1on. relevant to the de.1ln of other aimilar sYlteml. (1) one basic If,tem ,limitation hal been the 1nab111t¥ of the display-cenerator CRTs to produce adequate light for the Vidicon p1ckupa. Thi. mean. that many element. ot the display .y.tem are operatinl at marl1nal levels, The dilplay-cenerator ORT' mu.t be run at SUCh high intenlit¥ that their11te i. relativelY short. Th1, hiCh intenlity a1.0 caul •• ditf1eulties in maintaining good focul over the entire image. To operate with the.e low light levels, tbe vidicon' must be quite .en.itive, since sens1tiv1t, drop. off with age, they, al.o, have a relatively .hort uletul life. (2) Becaule tbe writing speed ot the d1.play generators is lowerth,n we had speCified, we have a flicker prOblem when III 8ix screens on the Iystem in use are rea.onably full of text. We can compenlate to .ome extent tor this flicker bY careful adjultment of the v1dicon beam current and target, but thi. &~justmen~ n.e~1 trequen~ attent1on. We have conlidered ul1nc lonler-per.iltance phol~hor. on the TV monitor. an~ w111 exper1ment withthi. in the near future, (3) In addition to the •• difficulties there are lome ba.ic weakne.ses in both the display generators and the televi.1on Iy.tem Which could be corrected 1n future de.1ens bY more careLul attention to component quality control and the inclusion of circuit-desien and layout feature. which would facilitate maintenance. 145 See~1on V CONCLUSIONS, RECOMMENDATIONS, AND PtANS c. Our General orientation Toward. Future Research Over the years we have frequentlY been face~ with the ~rOblem ot attempting to explain to people outli~e of ARC just what our on-Line System (NLS) is. It il usuallY tairlyea.y to let across the idea of aUlmentat10n in the ab.traet, but it il much more difficult to convey to people who have not made extensive use of NLS just how powerful it is as an augmentation tool -- it is very ea.y to get trapped into looking at NL! as just a nice text-editinl sy.tem without 8eeinl all the power that resiOel behind that particular a.peet of its surface appearenee. Recently we have ~eveloped a way of looking at NLS which helps to convey lome of the power that we know i5 present. and that is to view NLS a8 & worker's on-line "office" .- that is, his normal, dailY, local working enVironment. The analogy follows from the observation that to a naive v1s1tor an office can look like just another "room," but to the person who uses that office it serves as an interface to many of the capab1lities of an entire organization. The office serves as a ~lace where a person can work at organizing his ideas, studying correspondence, repor~s6 etc., and formatting hil own written materials. The Office has a'lociated with it communication linkS suCh as mail and tele~hone as well as access to secretarial and clerical services tnat are used on a daily basis. This lame sort of picture oan be app11e~ to NLS, for it 1& u.eo on a daily basis to help with organizing, stUdying, formatting, etc., and provides now, or soon will provide, many of the other communication and clerical services normally associated with "office work." NLS also has many similarities to an office in the way that both act as interfaces to extensive external capabilities. Just as one would not expect to find complete PUblication, laboratory, library, and filing facilities in the average Office, one 8houl~ at present not expee~ any single augmentation facility such al NLS to provide all the computational facilities that a person might wish to call upon. But, in the same sense that a person snould expect to be able to access extensive organizational resources 146 Sec~ion V CONCLUSIONS, REOOMMINDATIONS, AND PLANS from hil,oftice, he Ihould be able to aceels extensive computational resources from an NLS-like facility. For example, NtS provi~es all the capabilities needed for conatructinc, stuay1ng, and editing prolram. 1n any ot several.lanluac," however, the faci11tiel tor printing, compl1inc. archivlnl, etc. are not conlidered to be integral parts of Nt! and must be activated al "external proce.sor." by the Nt! u.er. Similarly, we have plana for implementing various mes.ale transmission and information-retrieval sy.tema as external processors, so that all the formattinl of input to these system. well the .tudyinc of the output from them can be done uling the powerfUl Nt! mechani.ms, While tne actual proce.sing can be carried out by independent programs running as background jObs on our timesharing system _. or even by program. operating on computers at remote sites. .1 .1 This otfice picture 18 very important to understanding how a research center such as ARO can make the most effective u.e of the resources of a netWork of interconnected com~u~ers such as the ARPA Network delcribed in Section IV. We antiCipate that Whenever we plan to make extenaive use of the re.ou~ee. Of a particular nede of the Ne~work, we will add facilities to NLS 10 that it· can be u.ed &1 an interactive intertace with those re.ource •• For eXample, if we were planning \0 use an information-retrieval system at 80me other Site, we would make provisions for the followinCI (1) using Permittinl the retrieVal requests to be formulated re~ular NLS technique. (2) Translating the request from our syntax to tnat required by the remote system an~ transmitting the reformatted reque.t out over the Network (3) Receiving the response trom the remote .ite and, finally, translating this output into a properly formatted NtS file so that it can be viewed and manipulated Using tools alrea~y familiar to the ARC Itlff. Thil approach appeals taus becaUle it promises to permit a 147 Section V CONOLUSIONS, RECOMMENDATIONS. AND PLANS member ot our researcn community to use IUbsysteml runninl at wiCely ~iltr1butea computer facilitie. without learning a new set ot convention. and u.er techniques for each different system. We believe that thiS way of viewing the role to be played bY an organization's local computational facility will become more widelY accepted as computer utilities and network. proliferate. When organ1zations become able to acee., a powerful and varied collection of re.ources merely by interfacing their local facilities to a network, it will become more generally recolnized how wasteful it is for each local facility to de.ign and implement all the computational capabilities it needs. It is likely that various computer "utilities" will evolve to serve the need. ot large communities of users for specialized on-line services that cannot be provided economicallY at the local level. By taking advantage of the load-levelinl that results from serving a large number of customers, utilities could develOp service facilities to fill ~he needs for large high-.peed calCUlations, archival file storage, searches over large 4ata b&sel, etc •• with very good average respon.e times and at relatively low COlt. Bringing ~he dilpenling of .pec1alized computation services into the "market Place" provided by resource distribution networkS could foster competition that would both accelerate development of this kind of .erv1ce and make posliblesignificant redUctions in the COlt of computational service. in general. In the context of th1s kind of development, individual relearch centers such as ours will be relieved of much of the chore of implementing and maintaining the ba.ic service capabilities necessary for daily operation •• Thi. chore, now dup11cated from center to center, con.umes an excessive portion of our collective re.ources. Effeet1ve computer networkS should permit computer science researcherl to reduce this du~lic&tton Of effort so a. to increase the rate of progress possible w1~h aVailable prote"ional manpower and com~utational resources. The.e research croups will then be able to focus more 148 Sect,lon V CONCLUSIONS, RECOMMENDATIONS, AND PLANS energy on the proClem8 that they are particularly well~equi~ped to handle. In our ca •• this might involve basic researeh to find the mOlt .atisfying ways to lrtterface & specific commun1ty ot u.ers to a network providing general ca~abl1lties, while other croups could apply their talents to areas of interelt such as mathematical Manipulation, computer Ira~h1c8, and 80 on. This.con.ideration becomes particularlY important when one realiles, as we are coming to realize to an ever greater extent, that the tools and techniques needed to constitute a "complete" augmentation system are far beyond the development capabilitie. of anyone research center such as ours. In comin~ year., we believe that significant deVelopments 1n the com~uter sciences will come about more and more as a result of the cooperative efforts of many research centers, each working on particular aspects of augmentation. The preceding comment. shOUld convey .ome feeling tor the power that we feel i . inherent 1n a network ot relearch-oriented eom~uter centers and provide a background for understanding our enthUsiasm for participating in the ARPA Network. We believe that being a part of the ARPA Network will be valuable to us in aCh1eving the goal. of augmentat10n research for .everal reasons. (1) It will live u. ex~erieneein workinc with a community of relearchers more varied and widely distributed than our own team of staff members. This will permit UI to lain adOitlonal inslght into the validity of our approaches to augmentation research by ob.erving how and to What extent our facilities can be ot service to computer users who are not captive members ot our local researoh community. (2) Network participation will provide impetus for our efforts in the direction of team augmentation bY creating a community of researcher. who are workinc on different aspects of a common problem at widely distributed geographical location. ana Who need new toola and technique8 ior communication and cooperation to succelfully 149 Sec~ion V CONCLUSIONS, RECOMMENDATIONS, AND PLANS achieve their common loals. BY working with such an extended community, we will be able to let ~oals an~ priorities in our relearcn program more knowledleably than we would be able to ~o it we were limited to augmenting onlY team. working in our own Center. (3) As mentioned above, we at ARC have come to realize that attaining the goall of augmentation research on a 'rea.onable time scale il a task far beyond the capabilities of anyone small research center such as ours, and we are very optimistic about the possibility of achieving a significant acceleration in the procress of augmentation research through network p&rtic1pat10n with other research centers having similar loall. D. Overview of Current Augmentation Research Center Plans 1. General a. Introduction The preVious section ShoUld give the reader some feeling tor the forces that have been .hapin, our plans for future research. Internal force. have combined wi~h those generated by our Network partici~at1on to produce a shift in our reaearch em~hasis in the direction of two general activities: (1) Research on team augmentation (2) Development of a system design discipline. In addition, increased awareness ot our need to communicate and interact with the outside world is leading us into the develo~ment of a new area of .~ecific concern~ discussed below under "Transfer of Results." b. Team Au~mentation Whereas in the pa.~ we gave most of our attention to augmenting the individual worker, we are now focusing on the augmentation of a team of collaborating worker., each of whom i . individually augmente~. 150 Section V OONCLUSIONS, RECOMMENDATIONS, AND PLANS The high mObility and mani~ulative e&~ability ot a skilled "augmented individual" has a unique potential which can be most fully realised when & number of aUlmented inOiv1duals join to form a collaborative team. Not only can each in~1vi~ual move very rapidly through joint working fil.. to stUdY them, enter new information, and U~d&te old material, but the group ~roce.ses of intercommunication and ooordination oan be facilitated by special com~uter aids, conventions, and techniques. The contemplateO efforts in "team augmentation" involve the development of several facets: (1) oonventions and procedures for organizing the working records of our plans, designs, Objectives, design principles, and schedules to give members of a team effective mutual "task orientation" Oy making all information related to the team's Objective optimally accessible. (2) A "Dialogue support System" to facil~tate rapid eVOlution of these working recordS throu~n dialogue among members of the des1gn team. ()) Techniques to facilitate simultaneous collaboration among peo~le at physically remote on-line terminals by giving them direct communication with one another, independent of their current in~1v1dual work interactions with the com~uter. ThiS inclu~es prov1s1on 6 where feasible, for the following: (a) Video and/or voice 1n~ercomMunication (b) Easy an~ flexible control of mean. for dU~11cating, at any terminal, all or part of type-out or d1lpla~ from another terminal the (c) Rea4y transfer of con~rol of one terminal's computer interaction to another terminal's in~ut cevice •• Special management and system-building techniques for use by an aUlmented team, and provision of app11cable technical intelligence and (4) 151 Sec~1on V OONOLUSIONS, RECOMMENDA~IONS, AND PLANS user training eapab111ties. These techniques are expected to evolve within ARC under eon~1tions of use in our own coordinated Iy.tem·developmen~ work, and to be applied over a wide ranee of eallaborative actions, from simple question-answerine facilities to complex design work involving intense mutual participation by team members. AS applicable tecnnique, become effective within ARC, we will explore their value for ~he following: (1) Support of Network Information Center (Nle) services such as teachine, question-answering and some types ot query servicinc (2) workinl collaboration between ARC staff personnel at other Network sites an~ (3) Work1nc collaboration between people at remote Network Sites, independent of ARC staff. c. Development of User- ana service-System Desiln Disciplines The functional features of the "user system" -- the collection ot computer aids available to an ARC worker -- have evolved with some ingenuity, a great deal Of cut-And-try experimentation in actual-usage conditions, an~ a certain .pec1al orientation offereO by our over&ll researCh framework. Until now, however, there na. been a significant lack of Objective, me~hodical engineering ~e8iln in the development of the overall user system. A user-system design discipline is definitely needed, and we intend to devote an increasing amount of effort toward developing such a diSCipline. Like the user 8ystem, the "service system" -- the hardware and software unaerlying the features for augmenting ulers -- hal evolved in an ad hoc fashion. Here there 18 also a .iln1ticant need for a .~stem-de.icn discipline. Such IYI'em.~e.ign discipline. would have communicable, teachable, and generallY applic&ble frameworks, 152 Sec~1on v CONCLUSIONS, RECOMMENDATIONS, AND PLANS .upport1nc coordinated set, of concept., term1noloCiel, principles, methoOologiel, and special tooll. d. Transfer ot R&sults Behind these basic a.pects of our work in the ARO (team and design d1.ciplines) 11es an essential feature of our lona-term stratelf, namely, the loal of producinc re.ults that will be of direct value to other croups of .Yltem ~evelo~ers -. in particular, to those who will be developing augmentation systems, aUlmenta~ion This is in contrast with beinc of direct value to customers wbo want systems tor their own direct use -- e.I., to augment a manager, a de.igner, an editor, or a scientist. Display ~ermlnals, communication channels, and computer service are de.tined to become both chea~ and ~lentiful, and it is certain that a very large number of organizations will want to use them. They must rely upon system developers who should be capable of the followinll (1) Analysis of .ystem-usace &nvironment. (2) Desiln and implementation of a smooth, powerful, and coordinated system of user al~s, eonvention., and metho~1 (3) Training and "edueation" of users unfamiliar with the potential of this new technology (4) Subsequent monitorinl Of user performance 80 al to implement the chance. nece.laryto track ~he evolution of users' att1tudea, concepti. 'kills, usage habita, and wants. Although it is important for us to stimulate the eventual customers for augmentation sy.terns by making them aware of the potential for these .ystem. 1n their work, we feel that our results ahould be directed ~r1marilY towards helpin, .ystem developers. We plan to do th1s bY pursuing the fOllowing long-term 10al'l (1) Making viSible an advanced, ln~ecrated Bystem, operating in a heavy-usage environment, that can lS3 Section V CONCLUSIONS, RECOMMENDATIONS, AND PLANS orient system dev.lo~erl .to the available cOlt/benef1t tradeoff. (2) Developinl an effective .ystem-desi«n di.cipline to a14 in develo~ing aUlmentat10n sy.tems, whether or not ~hese systems resemble ours (3) Maintaining thoroulh, h11hlY current, comprehen.1ve documentation, desilne~ for qu1ck location of relevant material (4) E.~abll.h1nl wide-band communication channels over whicba dynamic interchange of information can take plaee, 80 that the maximum amount ot our knowledge can be quickly available 1n useful torm (S) Offering a complete prototype design of an aUlmentation system especially desilned for augmenting Iystem development, This system would be compatible with the sy.tem-deaign discipline' described above, and would includetecnnique8 for planning, analyzing, delilnin" pro«ramm1ng, debugging, documenting, an4 teachinl. our current approach to implementing the transfer of re.u1t. 4iseussed above 18 to Plan tor What we call the Syst~m Developer Interface Activity (SYDIA). We expect to approach representative candi~ate8 during 1970 with proposal. for multi~le sponlorship. The initial purpo.e of the SYDIA will be to ~evelop the following: (1) A facility for an effective interehan«e of information and skillibetween ARC an~ the eXisting and ~otentia1 community of augmentation-system developers (2) The ab~lity to a.s1st other Iroup. in transferrinc our system, or part. ot it, directly into other hardware and user environment •• Later, with .pecific individual fUnding arrangements, we expect ~o beein developing close1nterchange relation.h1~. with various system-development croups who could adapt our aUlmented teChniques to their own .y.tem·~eve10pment work. 154 Section V CONCLUSIONS, RECOMMENDATIONS, AND PLANS 2. Team Augmentation Re.earch Plans a. Introduction We have already discussed the evolution that has been taking place in the goall of our research program. Havinl ma~e significant progress ~owara, realizlnl the objective ot aUlmenting ~ne individual intellectual worker, we find that the greatest augmentation need evidenced within our own Center at the present is for developing tools that will facilitate collaboration among members of a project-oriented or problem-.olving team of augmented in~1v1duals. It il no~ that we have already accomplished our original objective, and feel that we can now turn our attention elsewhere, but that team augmentation •• seen in the light of our bootstrapping stratelY .- offers the greatest promise of hastening the eventual realization ot these loal', We view the "augmented team" al a group of workers Iharing a eommon bale ot werking files and uling the mechanical element. of their augmentation syatem both a medium for goal-related commUnications and a laboratory for carrying out relevant experiments. a. At present we are mOlt interested in exploring the pOlsibilitiel for augmenting the activities Of teams who.e purpose 18 the ~evelopment Of a~vanee~ computer systems such a. our own. We feel that this is a ~rotitable way of inve.tine the resources with Which we are entrusted, not only from the stan~point ot our bootstrapping orientation, but also because augmenting this ty~e of team now is most likelY to have the create~t paYOffs 1n the lone run for 80ciety al a Whole. Over the pa.t year we have identified a set Of bal1c capabilities ~n&t.eem to meet the major needs of the augmented sy.tem-development ·team. The t~llowing description of these basic capabilities lSS V CONCLUSIONS, RECOMMENDATIONS, AND PLANS Sec~ion can be viewe~ a8 represen~inl a framework for ~he .y.tem·~evelopment activity that must take Place in the process of de.igninc and 1mplementin~ systems to realize the.e ca~ab1litie •• It al.o ind1ca~el, 1n~irectlY, the nature of other activities that will be concerned with integrating these capabilitie8 into our working methodology, applying them directly to the operation of our Center, and analyzing their effectiveness so as to provide direction to subsequent developments. rela~ed b. 'aat Editinc and Publication our already fait computer editing techniQues will naturally continue to evolve, and we are in the early stages of developing a powerful "Output processor" capability. The Output Processor is envisioned as a coordinated set of techniques for prOducing hard copy through a variety of media, SUCh as microform an~ direct publication on paper, ~Iing conventions that are compatible with those bY Which the a.sociated file material can be studied and manipulated on line. We plan to concentrate early upon automatic production, from our on-line files, of hard copy in whlch one can very flexiblY ,pecifY the eompositlon of text, diagrams, table" eqUations, footnotes, ln~1ces, etc. Dur1ngthe production process, such operatlons as convertlnl intratlle links to page references and lnterfile links to footnote~ would be pertormec automatically, with associated conversion table. beinc .• aved for future ule. one of our goal. for the next few year. i8 to develop a ,y.tem eouplinl a typewriter-like computer terminal with a microform reader that can be pos1tioneo to any page within its "library" upon direction from the central computer, This system would use conversion tables generated by the Output Processor durlne pUblication of tne micrOform library to ~rive the reader in response to directions from the user. Th1s would give the user 156 Section V CONCLUSIONS, RECOMMENDATIONS, AND PLANS much ot the power for studying large bodies of 1nterreferenced documents tbat currently can be obtained only thrculh the u.e of & ~1Iplay·oriented .ystem like NtS. e. Plexdoc. A team tack11nl a complex Iystem-development ~roject MUlt provide itself with the highest possible viSibility over its work1nl environment •• 1.e., over the followingl Planningl plans, contingency alternative., resource commitments, status, cr1ticisMS Designing: deSigns, delien princiPles, constraints, est1mate8, analyses, .upportive data, relevant need. and po.sibilities Operating: role., talk definitiona, assicnment., pOlicies, operational procedures and conventions. We currently have quite powerfUl technique. tor aiding an individual or small report-writing team in prOducing document. of the usual reaearch-report size and complexity. But in our approaCh to team augmentation, we consider it e'sential to exp&nd upon these techniques 10 as to facilitate .the development and pro~uction of very large, very complex documen~. containing many deta1l' that are highly cross·dependent. We u.e the term ~plexdoc" to denote the concept of SUch a complex ~ocument, whieh WOUld, in fact, be composed of a p08.1bly quite larle eollection ot NL! file., crosl-linked in complicated ways. the stem "plex" comes from the Latin "plexus," Which means woven or intertwined, and .upports the image of a body ot informAtion that haa been woven into a coherent fabric bY a group of peOPle through the use of .pecial indices, footnotes. reader-contributed eomm.n~., specific crols-references, etc. We intend t~ develop and keep up to date a large, detailed, highlY crols-reterence4 and well-indexed "~lexdoe" that contains a description of our own 157 Section V CONOLUSIONS, RECOMMENDATIONS, AND ;LANS ~roject·team activity fulfilling the nee~s 118te~ above. Our techniques to facilitate it. mo~±fication an~ re~ublicat1on will be under constant evolutionary preslure. ~. Dialogue Between On-Line Collaborators (1) The Dialolue·Su~por\ system On-line access by collaborators to each other's files, as provided by a number of tOday" timesharing systems, leaves much to be de.ired 1n supporting effective d1alolue. In this context, we ule "~ialOlue" incremental building up ot a group ideal on any given IUbject through "comments" to lome set of relevant to refer to the expression of the addition of file •• We are attempting to meet the need for more fleXible and powerful mean. offacilitatinl sucn dialogue through the development of a "dialogue-support s,stem," Which we consider an es.ential element of any team augmentation system. The dialogue-support sYstem must function smoothly in conjunction with the plexdoc conventions to provide capabilitiea such as are de.cribed below. (2) Comment1nl Any team member working at a display console mu.~ he able swiftlY ~o access tor stUdy any portion ot a plexdoc's atruc~ured files, and he must be able conven1entlf to add his contributions to the on-going dialolue tha~ 1s contained 1n these files. Whenever he wi.hes, he shoUld be able to introduce comments that are treely sprinkled with explicit references ~o any Ipecit1citem (Character, word, 8~atement, line, curve. boX, expre.llon, etc.) w1~hin any prier entrf .- a. though he were pencil-marking a ~aper draft with marginal comment., underlines, encircled ~&ssagel, arrows, and the like. When creating a comment entry, he needS flexible 158 Section V CONCLUSIONS, RBCOMMENDATIONS, AND PLANS ai~. and me~hodl for the fOllowing: Arrancinc display of ~ne various ~a,s&les he ia referencing relative to ~he content of the comment he i. creatine Designating the explicit entities he wishes to reference Having the current comment-creation state preserved temporarily while he checkS on aome related material. This must be managed by the compu~er so that it does not matter if other people are concurrently scanning the lame material or affixing comment references to the lame items. (3) StUdy His stUdy techniques shoUld enable him flexibly to select which comments will be displayed for him and which one. will. remain invi8ible (or whose presence will be made known to him without appearing in their entirety). For exam~le, he may wish to be aware of onlY those comments that reference a given citation in a text, term in an equation, or label in a diacram. He qu1te likelY does not want ~o see reference indicators for all such prior comments, so he needs flexible mechani8m' for .pecifying which are to be vi.ible _. e.g., by author, creation time (relative or absolute), specific content, prior-assigned comment-set memberShip, author-affixed category ~e.ilnationl, etc. Al.o, whenever he sees indication that an interesting type of eomment 1s associated with some item in the stuOied passage, he needs considerable flexibility for designating how he will be shown such seleeted commen\. relative to the referenced material _. for eXample, in one ot the following way.: With & split screen (original reference text on the left an~ comment. on the r1ght) 159 Seetion v CONCLUSIONS, RECOMMENDATIONS, AND PtANS comment. enelo.ed within bOX.. and the boxe. embedded within the original text Ability to "flip" between views of the reference material and views of the comments, etc. (4) Notification provilion. nee~ to be' developed to enable setting up "annunciator call'" to varioul people, or sets of people, to request their spec1al attention (at some level of priority) to a given comment. This might call for actions such al the following: (1) An approval signo!! to recor~ the fact that the comment has been noted by the party or parties to which it was a~dressed (2) Some kind of speCial vote, automatically tallied and recorded on the annunciator specification in that comment ()) A need to observe & "pOint ot order" in the special method010I~ the team has adopted .- e.g.: "I protest ·this decision and call fer a review, citing Policy X, relative to BUdget Item Y and Design Principle Z." (5) Retrieval All aialolue entries immediately become part Of the plexdoc containinc the complete working recorOs (and much of the history) of the augmented team. Since comment. and other working record entitie' can refer to each other in indefinite extenSion, it will be po. sible to buil~ up a very complex network of relatlonsh1~s among tnele comments and the sUbstantive records about which the dialolue is swirling. AlthQugh these relation'hip, need never be ambiguous, it will be Ciff1cult tor even a knowledgeable team member to kee~ traCk of them in such a wav tnat he can effectively "navigate" through the plexdoe to tollow all the relevant developments that may be 160 Section V CONCLUSIONS, RECOMMENDAtIONS. AND PLANS takinl place concurrently. Thi. 11 about the toUCh.at central challenge in effectivelY aucmentinc a team •• that ot developing computer ai~l, workinl m.tno~s, ete. to allow & akille4 person to be highly effective in diceltinl the content and 1mplica~1ons of luch & ree~r~, and to develop a lubstantive next-.tage desien or plan that integrates the dialogue contribution._ issentiallY 11milar techn1~ues are require~ to augment any individualts central intellec~ual capability for synthesizinc the next stale of development in plan or design •• an~ to the extent that we are successtul with this, we shoUld be able to offer strong guidanee for capability augmentation over wide ranges of individual and team activities. our initial activities in response to this prOblem will be in the ~irect1on of providing powerful retrieval tools that will enable a user flexibly to specifY, by content, which elements of the Plexdoc are of createst interest ~o him at any moment. We also nave ~lanl fer developinc techniques that will ~ermit a user to construct .~ecif1c 1n~ice. an~ catalogues over a given plexdoc &n~ to create and manipulate arbitrary "lets" of entities that are of imme~iate interest. Many of the tools ~evelope~to fulfill these needS will also receive extensive uBein o~h.r ARC activities such as the Network Information center. e. Dl.tr1bute~ D1alocue We cons1~er it important tor people other than the central, highlY trained. ~i"Play·e'Quipf.'ed team to participate al well &S pO.'ibl' in ~ialogue of the type di.cus.ec1 above. We .eek to ~rov1de capabilities that function effectivelY over the Widest pos.ible rang. in lophilt1eation of computer, communication, and terminal facilities and in level of experience and l61 Section V CONOLUSIONS, RECOMMENDATIONS, AND PLANS training of the individual userl -- and with &s much independence a8 ~0881ble of geographical location. As a first step we intenO to worK on the problem of developing organization and formatting conventions for presenting plexdocs tor study on devices other than our centrally located .elective-view d1sPlays. We assume that for silnlficant participation via any type of couplinc with a low information-transfer rate (such as a Teletype), the user will need to have on hand comprehensively indexed hard-copy reference material that is repu~lished relatively often (e.g., weekly or even daily). We are already workinl on mechanisms for producing high-Quality hard eopy 1n both paper and microform (as described abOVe under "Fait Editin, and PUblication"). Our loal is to be able automatically to publish reference material (probably in microfiche) in SUch a way al to make feasible a frequent-republication operation servicing a mOderate number of remote participants. We have also begun to inve.tigate many different kindS of remote printing devices and are particularly excited about the high-speed, high-quality, .ean-~riven hard-copy devices now ap~earing on the market. We allo are investigating techniques for allowing a remote affiliate, such as a P&rticl~ant &~ one of the other ARPA Network Site., to use a manual micrOform reader (or even a volume Of paper printouts) in conjunction with a typewriter-like computer terminal through which we could ~rovide computer alds for locating items of interest and following the various kinds of cross-reference links. A next step (nearing operational status) is t6 provide facilities for direct, on-line, ~1alolue participation using TODAS (our Typewriter-Oriented Documentation-Aid Sy.tem). We are givins ~hl. speCial emphasis so al to provide for early access to Network Informat1on Center files. 162 Section V CONCLUSIONS, RECOMMENDATIONS, AND PLANS We are actively pursuing an extremely promising ~o.sibil1ty as.ociate~ with an emerCinc line of microfiche readers that can be oper~ted under direct computer control and Which permit jumping to any frame ot a fiche 1n a fraction of a .econd. MOlt of thele readers a180 allow jumping ~o any fiche within a cartr1dle, or even to any cartri~ge within a larcer store, 1n time. comparable to those we currently experience in stUdying files on line usinl our display system. Such a reader, loaded with updated cartridges from us, Where the reader and a typewriter terminal both connect thrOUgh the Network to our computer, can provide a perlon with very powerful hel~ in his plexQoc studying. He would be able to follow linkS, jump to an in~ex and from there to .elected points, jump .uccessively to the candidate .elections produced by a retrieval query, indicate where he want' to direct a comment reference (via typewriter entry of his comment) -- all via quiCk directions on the typewriter, abbreviated by cues (Which the computer knows about) that he sees on the screen of the microfiche rea~er. In some applications a frame·jum~ing microfiche reader/typewriter terminal system could be quite competitive with our high-response, on-line ~1,play console system, an~ we are very interested in ~eveloping experimental versions Of such a system for exploratory use in the Network Information Center. f. Conference Dialogue The team augmentation techniques we have discussed so far are all ~ireeted at aiding te&m member. workinc at indivi4u&1 computer terminals. There are times, however, when such a team will wi.h to convene as a whole to review some new proposal, debate a pressing issue, or collaborate activelY in lome ~articular phase ot their work. Section V CONCLUSIONS, RECOMMENDATIONS, AND PLANS The "complete" team augmentation system must provide mechanisms for facilitating this kin~ of con1erence ~1alolue activity. We alreadY have experimentea with using NLS as a IO~hi8tieated "blackboard" where one person can Make & presentation to a group .eate~ Within viewing range of one of our regular NLS con.ole.. This gives new power for' presenting material and answering ~uest1ons &$ well as providing a very flexible me~ium within Which the record 01 the ~iscussion can evolve. In caaes where there are more viewers than can be comfortablY accommodated around the "chairman's" console, our display transmission mechanisms make it trivial for us to hook up a~d1tional "slave" ~onitors at convenient locations. At two of our major conference presentations (see Sect10n III-E) we have ule~ vi~eo ~rojeetion equipment to allow us to give live demonstrations of our on-line system to large aUdiences, and we are planning to purchase similar equipment for use in conference augmentation experiments at our own Center. . The next step along this avenue of research is the Oevelopment of techniques for allowing several users, each working at his own terminal, to COllaborate in real-time work on a common set of worKing files. We have experimente~ a little in allowing mUlti-console simultaneous access to a single file in Which one user (the "chairman") has full control while the other users are res~ricteO to merely positioning a personal Dug-mark on the ~1IPlay, each using his own mouse. With the evolution ot multiple viewing win~ows, a flexible voice intercom system, and other techniques will come opportunities for more SoPh1st1cate~ forms of interaction) and we are optimi.tic about the pos.ibility of aehievin, ailn1ficant increases in team effectiveness throUlh advances in real-time ~i&loIUe augmentation. Further down the 164 roa~, we lee a real need for developing Section V CONCLUSIONS, RECOMMENDATIONI. AND PLANS . I. that, without requiring an extensive training period, will extend the ability to participate effectively 1n augmented conferences to individuals with little experience 1n using the complex set of coordinated skills needed to competently operate our present on-line system. One possibility we envision is to give them a "chauffeur" to operate their on-11ne vehicle. te~hniQuel Voice Dialogue We hope to begln experiments 1n the near future using teChniques for the dlcltizat10n of normal speech 'trines, developed by Glenn Culler While he was at the Unlversity of Oalifornia, Santa Barbara. our plans are to modifY Nt! that a "statement" can contain not only the present text andlor graphic material but also a dilital representation of a speech string. '0 Then, with ~nlY .inor changes to NLS, we Would be able to provide techniques for breaking long 8peech strings into shorter ones, hierarChically organizing them, an~ providing cross-reference links between voice strings and normal text. u. These capabilities will permit to integrate a.ctual ·,poken dialogue into the dialogue meehanisms previouslY discussed, providing an extremelY powerful add~tion to our repertory of team-augmentation technique •• They woul~ be of great help to re~ote dialogue part1cipant. -. or even to our ownataft wh~n away frOm the office -- since Phoned-in comment. could be integrated 1n·to an" on-going dialogUe record, and they open new doors 1n the tealm ~1 conferertce ~ augmentation a8 well. Moreover, the anticipated gra~ual eVolution of speech-processing techniques will provide increasinglY powerfUl benefit. from this voice dialogue approach. h. Technical Intelligence To sat1fy our own needs as a research~eam, we have been a~cumulat1ng for many year. a .ilni!1eant corpus ot "intelllienee" (bibliolraphic) data about aetlv1t1e. and 165 Section V CONOLUSIONS,RECOMMENDATIONS, AND PLANS ~rOduct8 of orlanization. out81oe our own that are involved 1n related work, and we have committed ourselves to shaping u~ thls collect1on in order to provide It lealt parts of it (properly catalogued and indexe~) to other croups, particularly NIe users. In add1tion to maintaining an up-to-date collection of standard bibliolra~hic items, we ~lan to expand into new areas that are specifically rela~ed to the need. of system-development team.. We ln~end to belin seeking out and coll.ctinc data auch aa the followinl: (1) Characteristics of, and user experience with. various eommercially available and cUstom-made .ystem elements (2) Reference material ana user commentar1es on externally develo~ed sy.tem8 and techniques ()) Intellilence on the statu. and result. of related work by other groupl. We have begun development of a flexible let ot information-retrieval tool. tbat will be used ext&nsivelY in the maintenance and interrogation of our 1ntelligence collection a8 well a8 in the management of our complex working recor~1 (al ~ileusle~ above). i. U.er Training With any user-oriented system as complex and versatile as ourl, there is a continuous prOblem in helpinc new users to attain competence in operating the system so as to obtain the maximum benefits from it. This prOblem is m&ln1t1ed many time. when user. can work frommanv widely aeparated litel, making i~impollible tor them to receive personal help from experienced staff on a minute-te-minute basis. With a system evolving as rapidly al ours, it 1s difficult to kee~ even the central Itaff informe~ of all new system features and Ipecial methoQololies. We are Making lome prolres. 1n the preparation of training and reference materials for our user system, but there remains much to be done, not only 1n actually providing such materials, but 1n discovering what forms 166 Sect,ion V OONCLUSIONS, RECOMMENDA~IONS, AND PLANS Of indoctrination material. (films, video ta~e, introductory manuals, reference manuals, brief reference guides, etc.) are most useful. . j. Special Management Techniques The m&nale~ent of a technicallY lophisticated problem-selvina team requires the use ot some methodologieal technique. that are eommon to the manalement of any organized croup, a. well aa many others of a more specialized na~ure. There needs to be an accepted methodology for managing the files containing the team" workinl recordS 10 aa to ensure the most effective u.e of these files. Effective procedures need to be worked out for developing Plans for the future activities of the team, for negotiating and reviewing talk de.ignation. and individual rOle~. and for allocating and accounting for the resource. possessed by the team. Finally, there must be well-understood an~ accepted ways of defining, repre.entinl. and monitoring operational proee~ure8 and of relolvinl conflict. between elements of the team regarding the allocation of resources among the act.ivities of the team that must eomJ'ete tor them. k. Special System-Building Techniques In addition to the capabilities oescribed above, which are relevant to the needs of all problem-oriented teams, there are some considerations that are uniquely a~plieable to a team whose domain is system ~evelopment. The system-development team need. to have a consistent, it not complete, .et of ~rinciplel for ~esi~ning the overall SOftware-architecture Of interactive systems. It must develop an understan~ing of the principles underlying the design and analysis of interactive systems from the standpoint of user services. It must have effective technique. tor training new users of the systems it hal implemented and tor generating useful reference materials for these systems, 167 Section V CONOLUSIONS. RECOMMENDATIONS, AND PLANS It must have flexible methods for obtaininc anllyzinc performance ~a\a on a .ystem. an~ It should have powerful way. for simulating significant parts of an existine sy.tem an~ tor limulating newly conceived or modif1e~ sYltems in order to ~1&gno.e existing bug., predict luture performance under varioul con~itionl, and com~are the performance of proposed sYltem ccnfiluratons with that of the existing one. FinallY, it must nave highlY aucmente~ techniques for creatine. compiling, and ~ebugging the huge collection ot progr&ms used in the implementation Of a large software system. 3. Development of System Design Disciplines I. Analysis an~ Desi,n principles for on-Line User Systems Designing a Whole augmentation system involves, balanced conSideration of many factor., all Of which are SUbject to reevaluation an4 chance in response to increased understanding gaine~ through experience. The following are examples of SUCh factorsl (1) Ways in Which users conceptualize their workini talKS (2) MethodS for representing and recording these conce~t5 (3) procedures for developing the concepts and prooucts as.oc1ated with & given talk (4) Forml of computer aids and utilization methOdOlogies needed to obtain maximum help in carrying out such working procedures (5) User techniques for negotiating service transactions with the system in various contexts. At pre8en~ there is no desien discipline encompaSsing thi8 ranle of interdependent sfltem factors, but one really must evolve if anYlarle·.cale benefit is ever to be derived trom the computer service. that we clearly lee coming over the horizon. 168 Sect.icn V OONCLUSIONS, RECOMMENDATIONS, AND PtANS By a "design disciPline" we mean a cOherent, communicable, generally applicable framework comprising a coordinated set of conce~ts. terminologies, principles, methodologies, and special tools. Thi. ~e.iln discipline must proviae a common ground for analyzing the needs of a community of users, formulating easilY communicable designs for systems to meet these needS, and providing adequate controls over the implementation process. These capabilities should make it possible to offer clients accurate cost/benefit pictures prior to any extensive commitment of resources and Should make the design and implementation processes more effiCient. Consider the predictable tremendous increase' in speed, capacity, and economic availability ot computational resource., and then realize how the Quality of service represented by these resources can be enhanced through the application of ever more powerfUl artifictal intelligence techniques. We con.1der it desirable to avert the ~o8s1bi11ty of all this power being harnessed in ways that leave these mechanical helper. remote and unlnvolved trom our minute-by-minuie human activity. We need to learn how to design luch systems and how to a~&pt our thinking an~ working methOdologies so that Quick little bits ot service can be harnesled on our own terms. A lignificant challenge is involved in finding ways for matching these computer services to human perceptual, cognitive, anomotor mechanisms so as to optimize workinl capabilities and provide a natural and satiSfying extension of human capacities. Design Of the repertoire of user services to be provided by a com~uter/communic:at1on/terminal fac11·ity 1. a procell requiring the kind of coherent deSign discipline aSlociated with any complex sy'tem desien proces., and we conSider the development ot SUCh a discipline for augmentation-system design to be a vital component ot our next phase of research. 169 Section V OONCLUSIONS, RECOMMENDATIONS, AND PLANS b. SOftware Architecture principle. for Interactive SYstem De8ign (1) Overview JU8t aa important to us as the development of a d1.cipline dealinc with the analy.iJ and desiln of user .ervices 1- the development Of a companion di8c1~11n. Oea11nl with the design of sottware architecture for interactive systems offering these services, Theae two discipline. are actually just opposite faces of the same coin and must be interfaced so as to form a single overall di.c1Pline that provides a unified approach for going from user needs Itraight through to integrated operational systems satiSfying those needs. To erganize the conceptualization Of such a system desiln into appropriate level I and areal, and to develop effective repre.entations of the des1gn specifications and principles at each such level, seems neces.ary if we are ever to transform interactive system de.iln from an art into a profession. Our present software architecture approaCh Itresses the.e things and promises to make useful headway in evolving eonventions, proceaures, and ai~s that coUl~ hel~ other people ap~roach an~ operate on the architecture ot com~lex computer IYltems. We ~elcr1De below lome of the approaches that have evolveO in our work and Which we feel otter the foundations tor a aelign discipline of the type we are seeking. (2) oompiler-Oompiler TeChniques Almost all our programming is done in some member of a whOle family of lanluAges based on our Tree Meta syntax-directed compiler (see Section II-6-2-b and Ref. 18). Thi. teChnique provides us with great flexibility in 170 Section V CONOLUSIONS, RECOMMENDATIONS. AND PLANS fit\inc each programminl talk in~o a language particularlY appropriate to the requirements Of that ta.k, yielding more efficient ule of vital programmer time al well as code that i. SUfficiently self-documenting to aid conliderably both 1n the debUlcing of our .ystem and in the orientation of new prolrammer •• (3) Format conventionl for Source-Co~e Language Filea A very1mportant feature Of these speCial language. 1s that their format and structurinl convention. have been designed so as to fit particularly well into our augmentation-system usage enVironment. This provides a very rewarding and powerful degree of fac11i~y for composing, stUdying. and modifying source code. The Plexdoc approach described previously has evolved from a belief that all levels of de.ign and analys1. thinkinc and data should be integrated into one compatible Iystem of files over which the deSigners and supervi.ors, and later ma1ntenance personnel~ colleagues, etc., can roam freely and adroitlY. ThiS approach haa been applied to lome extent in our present collection of system-program files. This collec~ion torml a pleXdOC by vir~ue of the fact that intertile link' can be used as the argument. of ~rocedure calls; the internal system documentation is also linked into this plexdoc. Dialogue-support techniques have an important contribution to make at every level of this process in providing an integrated approach to recording, documentation, and monitoring. (4) System Architecture principles lostering Development by an Augmented Team Evolu~1onary we have begun to apply various modularization concepts to our working and thinking methOdologies .0 al to foster the ability Of individual members Of our research/development team to work effectively on specific aspects of our project with the least POI sible chance of de.tructively interfering with other activities. 171 section V CONCLUSIONS, RECOMMENDATIONS, AND PLANS These concep~. are also 1mpor~ant to the way in which we view part1eipa~10n in the ARPA Ne~work. in that we are seeking flexible ways of interfacing various modules of our own operating system. to computa~ion component. available at other site. through the Network. We allo seek to exploit the properties of modularization to promo~e delign clarity and facilitate tran.ier of ~rograml and technique. to other systems and croupl. The extensive attention to conceptual partitioning through use of a variety of apecial-purpose programming languages is one example of this. 172 Appendix A USER FEATURES or NtS AND rODAS I The on-tine A. SY8~em (Nt!) In~roduet1on NtS, al currently implemented, 11 e.sent1ally a hilhly sophiltieated text-manipulation system oriente~ primarily toward on-line use; i.e., it 18 not pr1mar1ly oriented toward production of hard copy, altnoulh fairly sophisticated har~-copy tormatting and output are included 1n the system. Nt! is intended to be used on a regular, more or leIS tull-time basis in a time-sharin, enVironment, by users who are not necessarily com~uter prOfessional.. The users are, however, aSlumed to be "trained" as opposed to "naive." ThUS the sYstem is not designed for extreme simplicity. nor for self-explanatory features, nor for compatib1lity with "normal" working procedures • . Rather, it il assumed that the u,er has spent considerable time 1n learning the operation" Of the Iy.tem, that he uses it for a major portion ot his work, and that he consequently is willing to adapt his working procedures to eXPloit the ~ossioi11tie. of fUll-time, interactive computer assistance. ThUs the practice. and technique. develope~ by users for NtS are as much a SUbject ot research aa the development of Nt! itself. eX~lo1t1nc interea~ NLS is supplementeo by called TODAS, Which is appendix. Section III for ~roducing flexiblY files. a typewriter-oriented counterpart diseusleo in Section II of this describes the NLS/TODAS capabi11ties formatted hard copy from on-line Section IV of this appendix is & glossary ot special NLS/TODAS terminology. B. NLS Console The user lits at a console whose main element. are a di.play .creen, a typewriter keYboard, & curlor device called the "moule," and a let of tive kef' operated by the left hand, ealledthe "keyset." The screen 11 used tor diaplayinl text, in variou. formats. The top portion of the screen (approximately 173 Appendix A NLS/TODAS USER FEATURES lIS ot i8 reserved for feedback kinds: the name of the user in effect, a "regilter" area uaed for various kindS ot textual/numerical feedback, an "echo reel-ter" Which display. the last elx Charac'erl typed by the u.er, and other items that are eXPlained below. ~be to~al area) lntorma~ion of various comman~ mode currently The keyboard closely resembles a conventional typewriter keyboard, with a few extra key. tor special characters and control functions. It is used for typinl text as content for a tile and for specifying commands, Which are given as two- or three-character mnemonics. is a roughly box-shaped object, about four itl longest Side, Which is moved bY the right il mounted on wheel. anO rolls on any flat The Wheels drive potentiometers that are read converter, and the .,stem caUses a tracking 8~ot ("bug") to move on the screen in corresponOence to the motion of the mouse. The mouae inchel on hand. It surface. by an A/D The user specifie.location' in the diSPlayed text by pointing with the moule/bug combination, Thi. eliminates the need for specifying & location bY entering a code of some k1nd. use of the mouse is very easily learned and soon becomes unconscious. on top of the mouse are three special contrOl but~ons, whose uses are described below. The keyset has one key for each finger of the left hand. The keys are strUck in combinations called "Chor~s," and each coord corresponds to a character or combination of characters from the keyboard. There are 31 ~68sible chOrds} beyond thiS, two of the buttons on the mouse may be used to control the "cale" of the key.et, livinl <erna~lve meanine' to each chord. There are four po.sible cases, for a total of 124 pos.1ble comb1na~ion •• A simple binary cOde is useO and ha. proved remarkably easy to learn. TwO or three hour.' practice is usually sufficient to learn tne most commonly used chordS and develop reasonable speed. The keyset wa. developed to increase the user's speed 174 Appendix A NtS/TODAS USER FEATURES and smoothness in operating NLS. It wal found that users normallY keep the rilht haneS on the mou.e, because the great majority of command operation. involve a pointinc action) efficient use of the keyboard. however, requires the use of both handS, and Shifting the right hand (and the user's attention) to the keYboard 18 d1stractinc and annoying if it mu.t be done for each two- or three-letter command mnemonic. Use of the keyset perm1ts the user to keep his right·hand on the mouse and his left on the keyset,reverting to the keYboard only for entry of lone strings of text (typically five or more characters). Originally, the keyset exactly duplicated the keyboard in functionJ in the ~evelopment of NLS, however, certain control functions have been made two-stroke operations from the keyset where they would be three- or four-stroke operation. from the keyboard. Nevertheless, it i . still possible to operate all of the features of NtS without using the keyset; thus the beginner may defer learning the keyset cOOe unt1l he haa lained some degree o~ mastery over the rest of the system. C. structured Text "Text" is used here as a very general term. A "file" of text (corresponding very roughly to a Udoeument" in hard copy) may cons1st of English or 80me other natural lanlu&ge, numerical data, computer-program statements, or any thine else that can be expressed as a structure of Character strines, Simple line drawings can also be included in a file. All text handled by NLS is in "structured-statement" form. This ~pecial format is SimplY a hierarchical arrangement of "statements," resembling a conventional "outline" form. Each statement in & file may be conSidered to .possesl a "statement number," which shows its pOlition and level in the structure. Thus the first statement 1n a t1le 1. Statement 11 its f1rst 8ubstatement is la, and 1ts next .ubstatement i . lbl the next statement at the same level as the first 1. Statement 2; and 10 forth. statement 175 A NLS/TODAS USER fEATURES Appen~1x number. have been .uppre.leO in printing out most Of this Oocument but are printed out for tbe remainOer of this section as an example. 2c2al Every statement also bears a "signature" that may be ~ilplayea an command. The s11nature 11 a line of text giving the initials at the uler who create~ the statement (or modified it most recently) an~ the time and date when this was done. 2c2b A statement il simplY a string of ~ext. of any length; this serves as the basic unit in the construction of the hierarChY. In English text, statements are normally equivalent to paragraphs, section and subsection headings, or items in a list. other ty~es of text, statements may be data items, program statements, etc. In 2c2bl Eaeh paragraph and heading in this document is an NLS statement. Each statement is indented according to its "level" in the hierarchy) this paragraph il a substatement of the one above, which is in turn & substatement of another statement. A statement may have any number of lubstatementl, an~ the overall structure may have any number of levels. 2c3 Note that when a user creates a file, he may let all of his statements be firat-level one., i.e., 1, 2, 3, etc. In thi. cal. he will not have to consider a hierarchical structure but simply a linear list, as 1s found in conventional text. 2c3a However, many of the features of NLS are oriented to make use of hierarchy. and the benetits of these feature. are lost. if hierarcny i8 not exploited. 2e)b This is an example of an NLS feature to which the user mU8~ accommodate his methode; however, the experience of users has been that hierarchical structure very rapidly becomes a completelY "natural" way of orlanizing text. Many automatic features of Nt! make the structure easy tousel for ex&m~le. statement number. are create~ automaticallY at· all times and the user need not even be aware of them. It is IUfficient, when the user creates a statement, to specifY its level relative to the preceding Itatement. 176 Appendix A NLS/TODAS USER FEATURES D. Ule Of the System Text manipulation is con8i~ered to involve three basic types.ot activity by the user, composition, study, an~ modification. In practice, the three activities are 10 intermingled as to be lndistlncui.b&ble. 1. Compo.itlon Composition is SimplY the creation of new text material as content for a file. In the simplest ca.e, the user gives the commana "Insert Statement" by typing "il". He then pOints (with the mouse) to an existing statementJ the system displays a new statement number which is the logical successor, at the same level, as the statement pointed to. The user may change the level of this number upwara bY typing & "u" or downward by typing a "dUe NOTE: If no previous statement hal been create6, the system displays a "dummy" statement at the top of the text-~isplay area, and the user points to this dummy in order to insert his first statement. The user then types the text of the new statement from the keyboard. on the sereen, the top part of the text-display area is cleared and charaeters are displayed here a. they are typed. When the .tatement is finishe~, the user hits a CA (eommand .cce~t) button on the keyboar~ or mouse, and the system re-creates the di.pl&~ with tne new statement following the one that wa, pointed to. New material may also be added to existing statement. by means of commands such as In.ert Word, Insert Text, and others. ProperlY speaking, these operations are modification rather than compo.ition, and are discussed below. Simple line drawings may be composed and added to the file by means of the "vector package." This is di.cussed in another section of thiS report. 2. Study The stUdy capabilities of NtS con8titute itl most l77 Appendix A NLS/TODAS USER fEATURES poweriul and unu8ual te&~urel. The follow1nc 1. onlY a briet, condensed descri~tion of ~he operations that are pOlsible. a. Jumping NtS files may, ot courle, con\ain & Kraat deal more text than can be displayed on the screen, just &1 & document may contain more than one pace of text. An NLS file is thoulht ot al a lone "scroll." The procell of moving trom one point in the scroll to another, which cerre.pond. to turning pacel in hard copy, is called "jumping." There il a very large family of Jump commands. The baSic Jump command il Jump to Item. The user specifies it bY entering "ji" and then points to some statement with the mouse. The .electe~ statement is moved to the top of the screen, as it the scroll had been rolled forward. MOlt of the Jump commandS reference the hierarchical structure of \he text. Thus Jump to Successor brines to the top of the a1sPlay the next statement at the 8ame level al the selected statement; Jump to Predece'Bor does the reverseJ Jump to UP starts the dilplay with the statement of Which the .elected .tatement is a sUbstatement, and 10 forth. The Jump to Name command u.es a different way of addres.ing statement.. If the fir It word of any statement i. enclosed in parentheses, the sy.tem will recognize it a8 the "name" of the Itatement. Then, if this word a~pe&rs somewhere else in the text, the user may jump to the namea statement by pointing to the occurrence of the name, or bY typin« the name. This provides & cross-referencing e,~ability that 1. very SMooth and flexibleJ the command Jump to Return will alway. restore the previous dis~lay, 10 that tbe u•• r may follow name reterence. without losing h1. place. It il allo pOSSible to jump to & statement bY typing it. ,tatement number. 178 Appendix A NLS/TODAS USER FEATURES b. View Control If a file 11 lone, it may be impo8sible for the user to orient himself to its content and structure or to find specific sections by jumping through it. The principal solution to this problem is provided by level control &n~ line truncation. Level control permits the user to s~ecifY 80me number of levels) the system will then display only Itatements Of the specified level or higher. Thus if three level. are specified, only first-, second-, and thira-level statements are 01.played. Line truncation permits specification of how many lines of eaCh statement are to be displayed. Thus it one 11ne i8 specified, only the first line of each statement will be displayed. Common usage 1s to use the first two or three levels in a file al headings describing the material contained under each heading in the form of BUb8tatements. Thus the u.er may start by lOOking at a display showing onlY the first-level statements 1n the file, one line of each. This amounts to a table of content •• He may tnen select one of these atatements and JUMP to it, specifying one more level. He will then see more details of the content of that part of the tile. This process of "expanding the view" may be repeated until the user has found what he is looking for, at which pOint he may specifY a full display ot the text. Users loon Qevelop a habit of structuring files in such a way that ~h1s procels will work well. A. it happens, such a structure is usually a IOOd, lOCical arrangement of the material, reflecting the relationships inherent in the content. The level and truncat10n controls are destIned 10 that the necessary specifications may be made with only ene or two stroke. of ~he keYbOard or keyset. These controls are only the most 1mportan~ Of a large set of view-control parameters called "VIEWSPECS." Other VIEWSFECS control a number of special NLS l79 Ap~.n~ix- A NtS/TODAS USER FEATURES fea~urel aftectinl ~he display format. An example of the use of VIEWSPECS i. liven below in Sectien I-D-2-e of ~hi8 appendix, c. Content Analy.is The Nt! eon~ent analyzer permits au~omatic learchinc of a file fer statement. satilty1nl some content pattern .pecified by ~he user. The pattern 1s written in a .pecial lanlu&ce &1 part at the tile text. Conten~ pattern. may be .1m~1., specifyin. the occurrence of lome word, for example. They may allo be highlY complex, Ipecifying the order ot occurrence of two or more .trines, the absence of .ome text con8truct, conditional .pecification., etc. Simple patternl are extremely eaay ~o wrlteJ complex onel are correspcndincly more difficult. d. "Ke,word" System A "keyword .tatement" i. an_mad .tatement that references other Itatementa 1n the tile bY name, in a Ipecial format. The naMe of the keyword .tatement -i. then under.tood to be a "keyword" a~~l'inl to the Itatement. refereneed by the keyword .t't.men'~ Suppo.e that a file contains a lls~ ot keyword Itatements. The u.er may .tudy this lilt and select several keywordS wi~h the Ke,wor~ 8eleet command (pc1ntlne to the keywor~. with the moule). He may specify a we1cht from 1 to 10 for each ke,wordJ it no we1lhtl. specified, a weight of 1 1.&slume~. When the user cive. the Keyword Execute command. a .earehinl/.corine procesl 1s executec. EaCh of the lelected keyword statement. is Icanned for the name. of statementlthat it reterence.. Each referenced statement recetvee a "acore- equal to the we1ln~ of the ke¥wcrd~ It a statement 1. retereneed in more than one keyword Itatement, the Icores add. 180 A NLS/TODAS USER FEATURES A~pend1x When this process is completed; NLS constructs a display picture showing only the statements that have received nonzero scores, 1n or~er of decreasing scores. In other wordS, each keyword is the name Of a statement that defines lome arbitrary category of statements in the tile. When a user selects an~ weichts keywor~s, he 1s ex~re.sini his interest in certain of these categories. NLS then ~isplays all of the statements in these categories, beginning with the "most interesting." Because the relationshi~8 use~ in this sy.tem are set up ex~lie1tlY when a user writes keyword statements, the system 1s very flexible although not highly automated. It may ~e regarded as a generalized method of reordering some of the .tatements in a file on the basis of user-selected criteria chosen from a supplied lilt (the keyword statements). Note that this reor~ering is on the display, not in the file proper. The file proper is not affected in any way, except that the list of selected keywords and weights is saved in the tile. This list may be ~1splayed on command. Indiv1dU&1 keywords may be deleted from the li~t or tneir weights changed, or the whole list can be deleted on command. e. Link Jumping A "link" is a string of text, occurring in an ordinary file statement, that indicates a cross-referenee of some kin~. It may refer to another statement in the file, or to a statement in Bome other file, pOSsiblY belonging to another NLS user. The text of the link ia both human-readable and machine-readable, and the command Jump to Link permits the user to point to the link with tne mouse and immediately see the material referred to. An example of a link is (Smith, Plans, Loncrance:ebgtn). 181 A NLS/TODAS USIR FEATURES Appen~ix ~he first item in the link ind1cate. that the reterenced tile belongs to a user named Smith; the seeond i . the name of the li1eJ the third il the name of a atatement in the tlle (a statement number ma~ a180 be uled)J and tne .trinl of charaeterltollowinc the colon control' the VIEWSPECS to set up a particular view Of the material. The Jump to Link eomm&n~, exeeuted b~ po1nt1nc to this link, would caUl. Smith'. tile "Plansto be automat1cally loaded &n~ the display, Itart .et to the .tatement Whose name 1. "Lon,ra~le." VIEWSPECS would be au\omatlcall~ set al follOWS, The "en causes the number of levels di.played to be,set equal to the level of the di.play-.tart .tatement. The "b" incrementa this by one. The "I" speeifies that the diSPlay il to be limited to the "branch" defined b~ the di.plaY-ltart .tatement •• 1.e., onlY that statement,itl sUbstatementa, their IUbltatementl, etc. The "t" .pecifie. d1'Pl&~ ot onl~ the fir.t line of each d1sPl&~ed Itatement. The Un" .pecifies ~h't statement numbers are to be luppre.sed trom the ~18play. Thus the net result 11 to displaY the fir.t lines ot statement "toncrance" and its hilhes~·level ,ubl~atement., without .t&tement numbers, 'Tbe use of1ntert1le link' permits the conltruction of laree linked Itructure. made up ot many filel, an~ stUdy oi these tiles a. if they were all sections ot a .incle aocument. The Jump ~o File Return cau.e. the iile previou.1Y viewed ~o be reloaded and diSPlayed, with the lame ai.pl&~ .tart and VIEWSPECS that were in eltect ju,t before the l1nk jumpJ' thu. the user ml~ 182 Appen~ix A NLS/TODAS USER FEATURES execute link jumps freelY without 10ling track of nil orig1nal location. 3. Modification A larle repertoire of editing commands is provided for modification of files. The basic functions are Insert, Delete, Move, and OOpY. These function. operate upon various kinds of text entities. Within statements, they may operate upon .1ngle characters, words, and arbitrary strings of text defined by pOinting to the first and last characters. This set of commands 1s not restricted to operation within one statement at a time; for example, a word may oe movea or copied from one statement to another. The editing functions also operate at the structural level, taking statements or sets of statements as operandS. A number of s~eeial entities have been defined for this purpose: for example, a "branch" consists of some specified statement, Plus all of its .ubstatementl, plus allot their sUbltatements, ete. A branch can be ~eleted, moved to & new ~osit1on in the .tructure, etc. As note~ above, tne modification activity ten~s to merge, in practice, with stUdy and com~os1tion. E. Summary It must oe noted that NtS 1s not a system designed for general usage, but a I~ecialized tool designed lor a ~roup of people working on the developmen~ of computer aida to human intellectual proeesses. It i . for this reason, tor example, that NLS is not really a text-editing system oriented toward hard-copy prOduction, but rather somethinl s1multaneou.1Y more general and more specialized. It il in the process of manipulating a f11e .- stUdying it, makinc mod1fic&tions, addin, new material aa an intelrated procell lasting for minutes or hours at a time and having a continuity extenaing tor days, weekS, or even years -- that the real benefit of NLS appears. An NLS file tendS to become an evolv1n, entity, subject 183 Appen~ix NtS/T~DA8 A USIR FIATURIS to eon.\ant mo~ificat10n, upda~1nl, andreevaluatlon. It. deyelopmen~ ma, have no clearlydellned .ndP01n~. It may ca •• e· to ex1.t a. a fl1e by beinl incorpora'.dln ano~herfl1e, or lt may eventually be abandoned or .uper.e4edJ however, 1n mo.\ ca~e. it will never be -finished" in the usual .enle of ·the word. continuous u.e of NtSto ~tore ~deal, .tudy them, rel.ate them .trueturallY,and croll-reference them re,ul~' .1n a .uperior orlanlla~1on o~ ideal' and & creater' abl1i~y to man1pulateth •• further for .peci&l purpo.... a. 'be need ari.e. .- whe\her the "1dea'" are expre •• ed a. natural lancuale,a.data, a. procramminc, or &1 Iraphlc information. II The Typewriter-oriented Documentation-Aid System (TODAS) TODAS 11 a text-handline .y.tem de.llned a. a "typewritercounterpart to Nt!. In principle, 'TODAS can be opera\ed from a Teletype or any other .ort ~t:hard-cOPY 'erm~nal. ,includinl 'ermlnal' .11nkedto ·\he 9kO throulh aCQu.tic, COUPler. and ordinarytelePbone l1ne. (as opposed to NLS, Which require • • plclal ~ran.ml •• lon arranlement.). Tbe pre.en\ i.pl•• en~ltlon .1low. lor·the u.', 01 Te1e~1pe Medel' 3'~ "S, and ",Termlnlt and I~ecuport ~.rmlnal' (the litter beinc portable, with a built-in' acou.tlc COUPler), and Nt8 d11Play con.ole'. lachel the.e terminal. h'. i~. own ehar&ete~~ •• t, no two let.beinlexactlY tbe.ame except Teletype MOdel." and 35. a relult, .peclal·c~&rac\er a •• llnmen\.are device-dependent. A TODAS fe&tur';ll~ow. tbei u.erto red,tine charac~er. at will to .u1~hi.lmmedla'. purp~ •••• 'I An important u.e ot TODAS1. tor ace ••• , within theAR" Oo.pu~.r Ne~work,to the Network Information Oenter (HIe) operated by ARC. TODAS will etve: Network, u.er. Icae •• to 111e. of information creatld eitherw1th TODAS or with ~LS, .inee flle. created with tbe two Iy.tem. are ldent1cal. in Itructurland format. TODAS hal many ot the .ame capabil1tie. a. NtS t~r the :aanlpulation ottext, it dltters from NLS al required b~ the UI, 01 a "typewriter" ~eviceinltead 01 a d1.play. The important d~tference. arla. fromtbe fact that TODAS ha,'no analol curlor device to carre.pond to the NtS meule and trcm Appendix A NLS/TODAS USERrEATURIS ~he leneral1~ .lower operation 01 TODAS. For this realon, editinl of text wi~h1n a ItateMent cannot be done b~ means resembling those ot NLS, since all of the NtS edltlnl operandS are indicated by the user with the mouse, TODAS u.el two alternative method'. One 1. the TODAS "alter" command, which operate. very much like the "mOdifY" command of the QED line-editing .y.tem developed by Pro~ec\ GENIE at UC. "Alter" create. a new statement to replace the orilinal one, bY loinl throUCh the original from beglnninl to en~J under u.er control, characters are (1) copied from the old .tatement to the new, (2) Skipped over, or (3) inserted into the new .tatement from the keyboard. The other 1s the TODAS "SUbstitute" command, which allow. the u.er to specity that a certain string ot characters 1n the Itatement 18 to be found by TODAI and replaced with another .pecified" .tring. At the structural level (where the user wiShes to man1~ulate Itatement. and set. of statements as units), NtS permiilthe u.er to identity .tatements bY pOinting with the mou.e) TODA! requires that statementa be identified from the keyboard. Con.iderable tlex1bilit~ i. provided in th1. operation. Tbe u.er may identity a statemen~ directly bY typing it • • tatement number or its name; he may alao i~entifY it indirectlY b~ .pecifying its structural relation'hip to lome other statement whose number or name he knows ofl·han~. Indirect .pecification correspond. to the use ot NLS commands .uch AI "jump to head," "jump to lucce •• or," etc., but w1th ~he added feature that relation. hip. may be concatenated _. thus the user may, in a linl1e operation, .pecit¥ a complex relationShip such as the succelsor of the first SUb8t&~ement of the predece.sor of & liven .tatement. A .pec1al TODAS capability (not yet implemented in NtS) 1. "execu~able text." A TODAS .tatement may con.1at ot the .tring of characters that a user would type from the keyboar~ to 18S AppenClx A NLS/TODAS USIR FEATURES perform lome •• quence of opera~ion8. Thll .~atemen~ may then be execute~ w1th a Ipecial comman~,&nd the re.ult will be .xaetl~ a. if the user had actually typed these characterl, cau81n'the .e~uence to be carried out. The lequence m&Y#in principle, be arbitrari1r CO~PlexJ an executable .tatement micht, tor example, contain the tol1ow1nc .equence. (1) Load a fl1e who.e name 11 .pecified ellewhere in the current file (2) SearCh thl. lile with the content analyzer, fin~1nl content It&~ementl with a specified pattern ot (3) Write the.e statementl out in , temporary "bufter" tile (4) Reload the original file (5) COpy the .tatement. lnthe "buffer" tile into a Ipecified location in the workin, tl1e. A Ipeclal. "lw1tch" character may be uled 1n the executable text. When the Iwitch character 1. encountered, execution at the text i l interrupted and control revert. to the keYboard. The uler then enter. part of the control .equence manually) when be type. tbe Iwitch character' from the ke~board, execution otthe executable Itatoment resumes at ~he polnt where it left otf. This fe&~ur. alfords creat flexibility, sine. it allows·part ot the sequence to be ,~ecitied ahead 01 time and ~art at "execution tlme." ·8e.idel it,primary purpo.e a. a Ne\work u'er'. in~ert&ce to t~e NIe, TODAS 1. u.ed w1th1n ARC a. a .upplemental tool' to Nt8. TODAS can be u.ed conveniently tor many talkl that ~o not require the rapid dilplay response ot Nt!, and haathe advantale 01 creatina Illnlf1cantly lei. load on the overall. tlae.har1nl .,a~em. We currently have one clerical worker, who i. not an Nt! u.er, operating TODAS routinelY tor entry ot information anc for lome limite~ retrieval work. 186 Appendix A NLS/TODAS USER rEATURES Additionally, we tind TODAS u.eful tor remote acce •• lnl ot our 'Vltem. We have made TODAS available to .elected con.ultan~., who use bome terminal- witb acou.tlc couplers, and regular ARO per.onnel occasionallY do work from their home. bf \he .ame means. The prototfpe ver.ionof TODAI went in~o service 1n September 1969) a .econd ver.ion, wlth creatlf expande~ capabil1tle., became operational early ln 1970. III Output Facility and TODAS both Ule the same facilities for producing formatted hard-copy output from NLS/TODAS tile •• NL! The devices in orOinary u.e at ARC for hard-copy output are a 11ne printer that prOduces upper/lower-caae ~rlnt ot adequate quality for local us., and apaper-tape-driven automatic typewriter u.ed for tinal output of reproducible copy tor report., propo.als, etc. The output processor (previou.ly known a. "PASS4") can be controlled bf the u.er to a conSiderable extent. This 1. done bY mean. of "directlves" embedded 1n the tile text. The directives can be used to re.et page parameters, eon~rol pale numberinl, anoturn varlou. format t.a~ure. "on" or "oft." For eXample, directive. can be used to luppre.sinoentation ot .tatements or Chanle the amount ot indentation, to create -running header." ~h&t are automatically printeO at the t~p of each pace, .upprea. at&tement number., etc. one of thedirectlvel cau.e. all directive. to be .upprel.ed trom the output. In addition to the l1ne printer and the automatic typewriter, the output Procel.or can output a file to malnetic tape, appropriately formatted to drive CRT-te-film conver.ion equipment for prOduction ot microfilm. In all ealel, the user may elect to output an entire tile or only part 01 the tile. In the latter cale, he may cau.e output to belln at scme .pecified point in the file in.tead ot at the beclnning,and be may caule the printout to be limited by the same kind I ot criteria that may be used on the display -- 1.e., content analY8il, limited number ot structural level., etc. 187 Appendix A NLI/TODAS' USER FEATURES Gl0 •• ar, of IV S~eclal NLS/TODAS Term1nolol' BRANCHI A .pecified .tatement, plU. all ot 1~. sUb.'ruc~ure •• 1 •• ~ all 011'. IUb.t,tement., plu. all 01 their ,ub.ta~em.nt., etc. BRANCH ONLY, A VIEWSPICparameter that re.trict. the text dl'Pla,ed (Nt') or tfped (TODAS)to a .inCle branch (•• e VIIWSPICS). BUG. The cur.or mark on ·the .creen that 1. moved bY the mou.e an4 that 1s Uled for lelectin, (polntlng to) ent1t1.1 on the 41'Pla,. When the bUI 1. "active,ui.e., when a .electlon can be made, lt appear. a.an up-arrowJ When i\ 1. inactive· 1\ appears a. a plu. 111n. OHARACTBR: Any letter, d111t, punctuation clrriale returnJ an indivilible entity. mark~ 'pace, tab, or CHORD. A combination of .key. on the key.et (.ee· XIYSET). Ct%PPINGI See LEVEt CLIPPING. INDIThe lalt Itat.ment 1n any branch, .pecified bY .pecityin. the branch. rILl. A complete tree Itructure of Itatement. witb a .lnl1e . root (the orlein Ita\ement). rILINAMEITh. name of a fil~. I\ appear. I . 'he tir.' word in the orlein .tatement 01 an exi.'~nl tl1e, andmu.t· be lupplied bY: the u.er in crea'1nl a new tile. GAP CHARACTER. Any .p&ce~ tab, orcarrlace return. GOHARI Abbrev1atlonfor GAP CHARACTER. GROUP. A IUb.et at a plex, con.i.tine Of all, branche. from one .pecitied branch \0 anotber, inclulive, HIADaThe fir.t .tatement in a .ubli.t. Tbe head 1. specified bY pointing to any .tatement in the IUbli.t. 188 Appendix A NtS/TODAS USER FEATURES INVISIBLE: Any consecu~1ve strine of lap Ch&rac~er •• bounded bY (but not 1neludine) print1nl charac~erl or the en~ of a .tatemen~: see PRINTING CHARACTER, GAP CHARAOTER, STATEMENT. Specified by pOinting to any character in the ,trine. If & 11nll. pr1nt1nc character lyin« between two invisible. is pointed to, both invisible, (and the print1nl character) are selected. KEYSET: The ~evice at the left-hand side Of the NtS con.ole. When a combination ot keys (a chora) 1. depre8se~ on the key.et, the eftect i. the same a. striking a key on the keyboar~. KEYWORD. The name of a "keyword .~atem.nt." KEYWORD STATEMENT. A .tatement that 11ltl, in a Ipecial format, the names of all statements 1n the lame file that fall 1nto lome arbitrary catecory. The "keyword system" of NLS/TODA! commandS, o~eratlnc upon keyword statement., pertorm. information-retrieval operation. baled on the set. of atatements defined in keyword .tatement •• LABELl A Itring of text placed in a picture command in the vector package. by means of & tEVADJ. The .pecitication ot level when a statement, branch, plex, or group 11 newly created or moved. tEVEtl The "rank" ot a .~atement (see STATEMENT) in the hierarchy Of the file (lee FILE). The level i. equal to the number ot field. of letter I or dicit. in the statement numberJ thu. statement 3 11 a firat-level statement, Statement 4&1013 i. a fifth-level statement, etc. tevel is of great importance in understanding the hierarchical structure ot an Nt! f11e. tEVEL CLIPPING. Restrictinl the text displayed (Nt') or printed (TODAS) to statements no deeper thin a .pacified level, which 1. set by & VIEWSPEC parameter (aee VIEWSPECS). tINE TRUNCATION. Reltriet1nl the amount of text di.played (NtS) or printed (TODAS) to the lir.~ N 11ne. of e&eh .tatement, where N i . apecit1e~ by aettinc a VIIWSPEC 189 Appendix A ILS/TODAS USIR fiATURI8 parame~er C.e.' VIIWSPECS). Each .~atem.ntt. formatted into l1ne. upon. output tOf'he di.pla, or printinl ~eviceJ thu. the amount ol.tex~ in a line depend. upon ~he device and upon other p&r&me'er.~ LINK. A .pec1&11Y_format\~d 'trinl 01 text 1n & .~atemen\~ analolou. ·to & reterence or crol.-reference c1t&\10n 1n a conventional document. A link ,pecif1e., u.er, & tile belonc1nl to \h,t u.er, & location 1n ·the fllt, and VIEWSPICS. A. u.er may "follow" a link by means ot 'he Jump to Link command (NtS) or In indirect addrel' CTODAS). In either ca •• , the Iystam detects the l1nk, interpret. it, laid,' the .pecified !11e, and di.play. or print. the .pecified portion ot 1t with ~he .pecitied V%EWSPECp&rameterl. MOUSEl The device at the right-hand .1de ot the NLS keYboard. When 1t :1. rolled around on the~abl.t~~, i\ cau.e. the bu, Ccurlor mark) to move corre.pond1nllY on the 'creen. HAMil It the fir.t word at a .tatement i . enolo.ed in par,n\be.e., it 1. \he NAMB ot the ,tatement. The command Jumpta Name can then be u.ed to pllce ~h • • ~&~ement &~the ~op ai the ~1'Play. Th1. 1. ~one by en'.rinl ·'he name trom .'he ~eYbo&rd or ke,.e~, or bY flndinl an ,occurrlnce ot ·~h.nam •. a. ~.xt on ~b" d1.p1&y andpolnt1nl ~o 1~ w~~h tbe bUI. HtS.AcrOnym.tor "On-t1ne S,.tem.- . ORIGINlthe.':!.r.t, .tatellent 1n a t1l-J it, cont.ain. intormat1on IbOUt.~hltl11, plU. any o~her ~.xt. tbe u.er1n.er\.. l~ ha. I level 01 0, and hence ·no .t&~ement number. OUtPUT PROCISSORI lor.&tt..dou~put. Prolr&mu.e~ b, NtS and TO~A8fol' produclnl 'AISal Alt.ernat,e nameu.ed far the output 'roce •• or. PATTIINI A .trin, of Ipecial-lan,ua,e'ext in a .t&tement that m.v ~., compiled vta ·'be command Ixecu~e Content Analyser. Whln 00.,11Id, 1t prOduce. a pro,ram that 11 u.ed bY t.he content,-analv.er tla\ure. 1'0 Appendix A NLS/TODAS USER FEATURES peHARI Abbreviation for PRINTING CHARACTER. PLEXI Another name for a SUBSTRUOTURE, used in command specifieations. A plex is specified by pointing to anyone of ita hilhe.t-level statement •• POINTBR. A strine of up to three characters that i. attached to some Character in the' text with the Pointer Fix command. PREDECESSOR, The statement preceding & specified statement 1n a SUBLIST. PRINTING CHARACTER. Any letter, dicit, or punctuation mark. SOURCE: The statement of which a specified statement1s a suDstatement. SIGNATURE: Information stored with a statement (anO displayed on command) civin~ the initials of the user who created the statement (or most recentlY modified it) and the time and date When this occurred. STATEMENT: The basic structural unit of a file of text 1n NtS. Formally, it i . a .trine of text and/or pictures that i. bounded at the beginning bY the end of the previous statement or the beCinning of the file, and bounded at the end bY the beginning Of another .tatement or the end of the file. Statements are arranged 1n a tree structure or hierarchy and are a.signed "statement numbers" in~icating their pOlitionsin the .tructure. Each .tatement has a number. made up of alternating fields of digits &n~ letters; the number Of field. indicates the "level M ot the s~ateMent (lee LEVEL). A statement is specified by pOintinc to any character in the strine. SUltIST. The let 01 all lubltatementl of a specified statement (not inclUding the sUbstatementl ot the IUbstatementl). 8UBSTATEMENTI A Itatement "X" is called a .ubltatement of another .tatement fly" it it 1. ~eeper 1nthe structure than "Y," if it follows "Y," and if there i . no lnterven~nl hl.ber-or4er 8tatement. ny" il calle4 the .ouret of "X." The 191 Appendix A NL8/TODAS USER FEAT ORiS .tltemen' number of "X" will be the .ame a. tba\ ~~ My" exeept that 1t will have one more field at the end. The value of thil field live. 1t, ordinal pOliticn in a "'Ublilt" of the .ublt&tement. of "Y." A ,ub.tatement i. specified bY pointing to the .ource .tatement. SUBSTRUCTURE I The .et of all SUb.tatement. ot a .pecified .tat,ment, plu. all their IUbltatement., etc. until no more are found. The let of all branche. detined by .tatementa in 'he IUbll.t 0: a given atatement. SUCCESSOR: The .tatement fOllowing a specified .tatement in a IUbli.t. TAlt: The la.t Itatement in a IUblist. The ta11 11 specified by pointing to any Itatement in the .ublilt. TEXT: Any string of characters within a statement, bounded by (and includ1nl) two .pec1tled characters: lee CHARACTER, STATEMENT. TODAS. ACronym Sy.tem. to~ T~pewriter·orlented Documen'a~ion·Ald TRUNCATION: See LINE TRUNCATION. VBCTOR: A 11ne in a picture. VIEWSPEOI: V1ew-control parameter. controlllni & number Cf .peeial NtS 1eaturea attectlngthe diSPlay format. See, tor example, BRANCH ONLY, ,LEVEL CLIPPING, and LINE TRUNCATION. VISIBLla Any con.ecu~lv. strinl ot prln~lnl charae'era, bounded by (but notlncludinl) liP character. or the en4 ot a .tatement: see PRINTING OHARAOTER, GAP CHARAOTER, STATEMENT. Specified by poln~lnl to any character in the_.~rinl. Ifa ain,l. lap character 'between two v1.1bles i. pointed t~, then both visible. (and the lap charaeter1 are .pecif1ed. WORD. Any con •• cutlve strine ot letter. andlor d111tl, bounded by (but not 1ncludinl) any other type I ot characters or the end of a Itatementl lee STATEMENT. 192 A NLS/TODAS USIR FEATURES App.n~1x Specified by pointing to any charae~er in the 'irine. If a .inCl. character 11 pOinted to that 18 not a leiter or dil1t and liel between two worda, then both worde (and the '1nlle character) are specified. 193 BIBLIOGRAPHY rhe following 1. a ehronoloc1aal lilt of the Aucmentation Rele,reh Oenter. ~ocumentl ~ublishe~ by 'I D. c. Engelbart, "Special Con.1~er&tion. ot the IndivlCual a U.er, Generator, an~ Retriever ot Information," Paper presented at Annual Meeting ot American Documentation In.titute, Berkeley, California (23-27 october 1960), 1. 2. D. O. Ence1bart, "Aucmentinc Human Intellect. A Oonceptual 'ramework," Summary Report, Oontract AF 49(6)8)-1024, SRI Project 3578, Stanford Re.earCh Institute, Menlo park, California (October 1962), AD 289 565. 3. D. O. !ngelbart, "A Conceptual Framework for the lucmentatlonot Man'l Intellect," in Vi.tas in Information Kandling, Volume 1,0. W. Howerton and D. C. Weeks, edl., spartan Books, washington, D.C. (1963). ~. D. C. Engelbart, "Augmenting Human Intellect: Ex~er1mentl, Concepti, and POSSibilities," Summary Report, Contract AF 49(638)-1024, SRI Project 3578, Stanford ResearCh Institute, Menlo Park, Caliterni, (MarCh 1965), AD 640 989. 5. D. C. Engelbart and B. Huddart, "Relearch on Computer-Aucmented Information Manacement," Technical Re~ort ESD-TDR-6S-l68, Oontract Al 19(628)-4088, Stanford Relearch Inat1tute, Menlo Par~, California (March 1965), AD 622 S20. 6. W. K. Enclish, D. C. Enlelbart. and B. HUddart, "Computer-Aided Display ContrOl," F1nal Report, Co"tract NASl-l988, SRI Project 5061, Stanford Research Institute, Menlo Park, California (July 1965), eFSTI Order No. N'6-1020k.* w. K. English, D. C. Encelbart, and M. t. Berm&n~ "DiSPlay-Selection Techniques for Text Manipulation," IEEE Trani. on Human Factors in Electronics, Vol. HFE-B, NO.1, PP. 5-15 (March 1967). 7. 8. D. C. Engelb&rt, W. K. inllilh, and J. r. RUllf.on. "Study For The Development of Human Intellect Aucmentat10n TechniqUes," Interim Procrel. Report, Contract NAS1-S904, SRI project 5890, Stanford. Relearch Institute, Menlo Park, California (MarCh 1967). 9. J. D. Hopper and t. P. Deut.ch, "COPEI An A•• embl,r and On-Line-CRT Debulling Sfstem tor the CDC 3100," Technical Repor' 1, Oontract NAB 1-5904, SRI project 5890, Stanford Re.earch Institute, Menlo Park, California (March 1968). 195 BIBLIOGRAPHY 10. R. I. Hay and J. r. Rullflon, "Mot940: A M&chlne·Or1ente~ ALGOL-Like tancuace tor the SDS 940," Technical Report 2, Con~r,et NAS 1-5904, SRI Project 5890, Stanford Research Inltitute, Menlo Park, California (April 1968). 11. D. C. Engelbart, W. K. English, and J. F. Rulifson, uDevelopment ot a Mu1tidilplay, Time-Shared Computer facility and Computer-AUcm&nted Manacement-System Re.earch," Final Report, Contract AF 30(602)4103, SRI Project 5919, stanford Research Institute, Menlo Park, California (April 1968), AD 843 577. 12. D. C. Ence1bart, "Human Intellect AUlmentat1~n Technique.," Final Report, Oontract NAS 1-5904, SRI Project 5890, Stanford Research Inltitute, Menlo park, Oalifornia (JulY 1968), CrSTI Order No. N69-16140.* 13. D. O. Engelbart, W. K. Englilh, and D. A. Evanl, "Study tor the Development ot computer-Augmented Management Technique.," QuarterlY progresl Report 1, oontract 130602-68-0-0286, SRI Project 7101, 'Stanford Research Institute, Menlo Park, Oalifornia (October 1968). 14. D. C. Engelbart an~ W. K. English, "A Relearch Oenter for Augmenting Human Intellect," in AlIPS proceedingl, Vol. 33, Part One, 1968 Fall Joint computer Conference, Pp. 395-410 (Thom~8on Book Co., Washinlton, D.C., 1968). lS. D. O. Engelbart and Statf ot the Augmentea Human Intellect Research center, "StUdY tor the Development ot Human Intellect Augmentation Techniques," Semiannual TeChnical tetter Report 1, Contract NAS 1-7897, SRI Project 7079, Stanfora Relearch Institute, Menlo park, Oalifornia (February 1969). 16. D. C. Ingelbart, W. K. Inlli.h, and D. A. Evanl, "Stuay tor the Development ot Computer Augmented Manalement Technique.," Interim Technical Repor~ RADC-TR-69-98, Contract r30602-68-0-0286, SRI project 7101, Stanford Re.earch Institute, Menlo Park, California (MarCh 1969), AD ass S79. 17. D. C. Engelbart and Staff of the Augmented Human In~el1ect Reeearch Center, "Stu~y tor the Development ot Human Intellect Augmentation TeChniquel," Semiannual TeChnical tetter Report 2, Oontract NAS 1·'897~ SRI Project 7079, St&nfor~ Research Institute, Menlo Park, Oalifornia (August 1969). 196 BIBLIOGRAPHY 18. 'D. C. Incelbart and Staff of the AUgmented Human Intellect Research Center, "Computer-Aulmented Manacement-sYltem Re.earch and Develo~ment of Augmentation Facility," Final Report RADC-TR-70-82, Contract 130602-68-C-0286, SRI project 7101, Stanford Re.earch Institute, Menlo Park, California (April 1970). *Note. Report. with AD numbers are available from Defense Documentation Center, Building S, Cameron. Station, Alexandria, Virl1nia 223lk. Item. marked with an asteriSk may be obtained from erSTI, S111s Building, 5825 port Royal Road, Springfield, virginia 22151) cost '3.00 per copy or 6S cents for microfilm. The following i. a li.t of other doeument. cited in this report. The items are listed in the order in whicb they are cited~ 19. "Specification. for the Interconnection ot a HOlt and an IMP," Report No. 1622, Contract NO. DAHC15-69-0-0179, ARPA Order No. 1260, Bolt Beranek And Newman Inc., Cambridge, Malsachulett. (May 1969). 20. L. Roberts, "Computer Network Development to Achieve Sharing," .paper pre.ented at 1970 Spring Joint Oomputer conterence, Atlantic Oi\" New Jerley' (May 1970); ArIPS conterence Proceeding., Vol. 36, ~. S43 (AFIPS Pres., Montvale, New Jerley, 1~70). R~louree 21. F. Heart et al., "The Interface Me.sace Proces.or for the ARPA Computer Network," paper pre.ented a\ 1970 Sprinc Join~ Computer Conferenc" Atlantic City, New Jer.ey (May 1970). ArIPS Conference Procee4inCI, Vol. 36, p. 551 (ArIPS Pre •• , Montvale, New Jerley, 1970), 22. L. Kle1nrock. "Analytic and Simulation MethOds in Computer Network Desiln,n paper pre.ented at 1970 aprin, Joint Computer Conference, Atlantic Cit" New Jerley (May 1970), ArIPS Conterence procee4incs, Vol. 36, P. 569 (ArIPS Presl, Montvale, New Jerley, 1970). 23. H. Frank, I. rri.ch, an~ W. Chou, "Topological ConSiderations in the Delien of the ARPA Computer Network," paper presented at 1970 Sprinl Joint Computer Conference, Atlantic City, New Jersey (May 1970)J AFIPS Conference proceedingl, Vol. 36, p, S81 (ArIPS Prell, Montvale, New Jersey, 1970). 197 BIBLIOGRAPHY 24. S. Oarr, S. Crocker, and V. Cert, "HOST-HOST Communica~1on Pro~ocol 1n the ARPA Ne\work," paperpre.ented at 1970 Sprlnl Joint Com~u\er Conterence, Atlantic 0ity, New Jersey (May 1970)J ArIPS Conference proeeedine', Vol. 36, p. 589 (ArIPS Prea., Mon~v&le, New Jer.er, 1~70). 1~8 UNCLASSIFIED Sf'cllritv Classification DOCUMENT CONTROL DATA· R&D rSt'('urity cla:,;sification 01 title, body 01 abstract illIJ illd ... xill~! annotation must bt' ~lItl'rt'd 1. ORIGINATING ACTIVITY (Corporate author) II", UVt'r.,lI rt'fJdrt i., clil,.,Uieu) CLASSIf-I<:A110r·. Unclassified Stanford Research Institute Menlo Park, California 3. REPORT 1"""" 2D, REF'ORT SECURITY TITLE Advanced Intellect-Augmentation Techniques 4. DESCRIPTIVE NOTES (Type 01 report and inclusive dates) Final Renort 5· AU THOR(S) (First name, middle initial, last name) D. C. Engelbart and Staff of ~ugmentation 6· REPORT DATE 7a. TOTAL NO. OF PAGES OF REFS 212 July 1970 8 •. Research Center CON TRAC T OR GRAN T NO. 9a. ORIGINATOR'S REPORT NUMBER(S) SRI Project 7079 NASl-7897 b. PROJECT NO. c. 9b. OTHER REPORT NOIS) (AllY other number:,; tpat nw. /).' t1.>sIRned this report) d, 10. DISTRIBUTION STATEMENT 11 SUPPLEMENTARY NOTES 12. SPONSO.RING ~ILITARY ACTIVIT, National Aeronautics and Space Administratipr Langley Research Center Langley Station, Mail Stop 126 Hampton. Virginia 23365 13. "SSTRACT This report covers a two-year project, at the eleventh year of a growing, multiproject program that is exploring the value of computer aids to augmenting human intellectual capabi Ii ty. OUtlined briefly are the background and the "bootstrapping" nature of the program, its resources, and the activities it has undertaken in pursuit of its goals. Advances made during the project were: (1) Making operational an experimental interactive laboratory comprising an XDS-940 computer, special interface and display hardware, a modified UCB-GENIE timesharing system, six NLS consoles and sixteen typewriter terminals, a 96-megabyte file-storage disk, and a 96-character line printer (2) Making extensive progress in the development of special-purpose languages and software architecture to provide for both highly interactive service and flexible system evolution (3) Moving our team of system developers into an on-line working mode, and beginning to learn how to adapt to this environment--with encouraging success, as represented by our emerging "software-engineering" methodology (PAGE 1) SIN 0101.807.6801 UNCLASSIFIED Security Classification Continuation of DD Form 1473, Abstract, Item 13 (4) Establishing a plan, and partially implementing the basic services, for an information center to serve the experimental ARPA Network. User experience in applying our augmentation tools and techniques to various normal working tasks within our Center is described so as to convey a subjective impression of what it is like to work in an augmented environment. It is concluded that working-support, computer-aid systems for augmenting individuals and teams, of the general sort we have been experimenting with, are undoubtedly going to be widely developed and used. A very special role in this development is seen for multi-access computer networks: they will become special marketplaces where a new kind of competitive evolution will take place, not only in hardware, software, and special services as "bought" from a "utility," but also in roles, skills, working methods, and employment dynamics for the intellectual workers at the terminals. Security Classification 14 L...INK B L...INK A KEY ROL...E WT ROL...E WT Intellect Augmentation Man-Machine Communication On-Line Interaction ARPA Network Network Infonnation Center On-Line System NLS TODAS Documentation Text Manipulation Computer Displays DD lFNOoR~.. 1473 (P AG~ 2) L...INK C WORDS (BACK) Security Classification ROL...E WT
Source Exif Data:
File Type : PDF File Type Extension : pdf MIME Type : application/pdf PDF Version : 1.3 Linearized : No XMP Toolkit : Adobe XMP Core 4.2.1-c043 52.372728, 2009/01/18-15:56:37 Create Date : 2011:06:22 11:35:08-08:00 Modify Date : 2011:06:22 11:46:38-07:00 Metadata Date : 2011:06:22 11:46:38-07:00 Producer : Adobe Acrobat 9.43 Paper Capture Plug-in Format : application/pdf Document ID : uuid:68cb08e3-f884-4c32-87d0-17ed40a37bb9 Instance ID : uuid:f8740d3e-d963-4256-96b7-31a82f02cdde Page Layout : SinglePage Page Mode : UseNone Page Count : 204EXIF Metadata provided by EXIF.tools