Graphics Interface '82 304
Total Page:16
File Type:pdf, Size:1020Kb
303 ON THE GRAPHIC DESIGN OF PROGRAM TEXT Aaron Marcus Lawrence Berkeley Laboratory University of California Berkeley, California 94720 USA Ronald Baecker Human Computing Resources Corporation 10 St. Mary Street Toronto, Ontario M4Y IP9 ABSTRACT Computer programs, like literature, deserve attention not o nly to conc eptual and ver bal (linguistic) structure but also to visual structure, i .e., the qualitities of al phanumeric text fonts and other graphic symbols, the spatial arrangement of isolated texts and symbols, the temporal sequencing of individual parts of the program, and the use of col or (including gray values). With the increasing numbers of programs of ever greater complexity, and with the widespread availability of high resolution raster displays, both soft copy and hard copy, it is essential and possible to enhance signi ficantly the graphic design of program text. The paper summarizes relevant principles from information-oriented graphic design, especially book design, and shows how a standard C program might be translated into a well-designed typographic version. The paper's intention is to acquaint the computer graphics community with the available and relevant concepts, literature, and exper tise, and to demonstrate the great potential f or the graphic design of computer pro grams. INTRODUCTION Three other relevant developments should be noted. First, many programs have After three decades of continucus and in grown longer , more complicated , and im some cases revolutionary development of penetrable to e ven skilled programmers. computer hardware and software systems, Second, programmers themselves have con one aspect of computer technology has tinued to be nomadic, often shifting shown resilience to change: the presenta jobs, inheriting programs fr om others and tion of computer programs themselves. passing on a legacy of programs to still Even though computer graphics systems others. Third, the number of non have achieved dynamic, color, and multi professional programmers, i.e., hobby font display capabilities, the visual ists, occasional programmers, or those qualities of alphanumeric and graphic without formal degrees in computer sci symbols of program code has remained re ence, has increased considerably . Thus latively simple. There are limited exten there is an increasing need for more ef sions of symbols in some languages, e.g., fective, more productive means to create in APL, and some attempts to visually and maintain programs . Software engineer structure the page with simple indenta ing has recognized iri a numbe r of ways tions for control statements and groups that programming is a kind of literature of code lines. There are also more ela which requires good writing. The most borate schemes such as Nassi-Schneiderman widespread development has been the con diagrams [Nassi], Warnier-Orr diagrams cern with the logical structure and e x [Higgins], contour diagrams [Organick] , pressive style of programs. Out of this and SADT diagrams [ROSS]; however, the concern have em erged many of the modern typographic repertoire and appearance of software developmen t techniques, includ programs often remains little changed ing top-design design and stepwise re from the manner in which teletypewr iters finement [Wirth], structured programmi ng first printed out programs. [Dahl], modularity [Parnas], and softwar e tools [Kernighan] . Another kind of Graphics Interface '82 304 development has occurred in the organi za A potenti a lly symbi o tic relatio n ~ hip ex tion of the editoral and production team ist s between graphic design a nd computer that produces the writing, for example, g r a phics in c reating the "thr ee f aces" of the concepts of Chief Programmer Tea ms c om puter systems : outer-faces, in ter [Baker] and Structured Walkthroughs faces, and i nner-faces (Ma rcus 1981b] . [Yourdon] • A third more recent develop Ou ter- f ac es are t he end display p roducts ment is the increase of interest in or-aat a pro cessing: images of informatio n enhancing the technology to support the such as texts, tables, charts , maps, and writing and maintaining of good programs, diagrams . Inter-faces are the user by providing, for example, integrated oriented hu.man=iii'ac'FiI'i1einterf ace s used t o software development environments create outer-faces . These inter-faces are [Wasserman] and high-performance personal compr ised of frames (online) and pages workstations specialized to the task of (offline) of process c o n trol, data struc program development [Teitelman, Deutsch, tures , a nd their documentation. ~ Gutz] . faces a re the frames and pages of source ~ programs and documentation which Unfortunately, there is yet another ap bui lders a nd maintai ners o f computer sys proach to improving program writing and tems require in order to s uppor t the maintenance which also recognizes pro i nter-faces and o uter-faces. By c o mbin grams as literature but which has been ing intuitive, practical skills and systematically ignored. This approach scientifi c knowledge, graphic designers concerns the visible language in which can help synthesize prototype s o lutions textual information is embodied. for any of t h e three face s and assist in analyzing and developing finished Books embody literature. Graphic d isplays which are not merely ' pretty' , designers of books are concerned with le but wh ich communicate infor mat ion better . gibility and readability, i.e., func tionality and appeal to the reader. It In other articles (Marcus 1980, Marcus seems reasonable that computer programs 198 1a], the primary author has explained viewed as literature can be reformulated t he relationship of graphic design to in typographic and graphic formats to outer-faces and inter-faces. This present better convey the content of well-written article extends the relevance of g raphic programs. By adopting the model of book design t o inner-faces, to the design of literature, computer science can adapt programs as texts, and suggests further and apply the expertise available from directions f or research in program visu graphic design. a lization. In order to emphasize book o rien ted graphic design principles that are mo st relevant to the graphic design GRAPHIC DESIGN AND COMPUTER GRAPHICS o f inner-faces, most of the discuss ion will focus on the display of a single Graphic design is a discipline concerned frame o r page rather than the with portraying facts, concepts, and emo viewer/reader's response to an inte rac tions, as well as the logic of space and tiv e display. time (structure and process) in effective visible language. Information-oriented graphic design in particular is familiar VISUAL PARAMETERS with the concept of algorithms, for much FOR PROGRAM VISUALIZATION of its work involves specifying algo rithms for visual parameters to convey The graphic design of prog rams requires complex information. Traditionally, the d esigner to select s ymbols and for graphic designers have worked in printed mats for the primar y components of pro media such as books, charts, diagrams , grams : variables, constants, logical and maps. There is considerable profes str uctures, processes, commentary, and sional literature [Tinker, Zachrisson, documen tation aids. Num erous c hoices ex Hartley, Williamson] dealing with the ist fo r layout grid s, t ypographic styles, subjects of typographic legibi l ity, spa s ize and spacing of text lines, organiza tial composition, sequencing of pages , tion of lists, and other means of visual organization of content, us e o f col o r , emphasis. Explicit dec isions on these and use of illustrative mater ial . Thi s matters are usually unspecified in the discipline and its literature have original conception of programming knowledge appropriate to and helpful for languages. The graphic designer can now the task of designing ver bal/ visual specify them us ing the principles of displays for computer technology. s i milarity, proximity, c larity, con- Graphics Interface '82 305 sistency, and simplicity [Marcus 1980) as Within a typeface family, r egular (ro a guide to organizing all the visual man), italic, and bold roman are standard parameters into effective and attractive means of increasing emphasis. Unless a frames or pages. great amount of effort is expended on the design of characters, adapt ions of well These graphic design specifications con established typefaces such as Times Ro stitute a visual/verbal algorithm for the man, Helvetica, Garamond, universe, etc. construction of frames and pages. Program should be used. Frame presentations allow visualization should facilitate learning for reversed video characters, blinking, of the program text, aid memorization of variable intensities, and other means of its features, encourage concentrated at emphasis. These should be used sparingly tention, and assist in revealing a clear because of their strength of differentia conceptual structure, especially in si tion from normal text. Type size varia tuations where the viewer/reader may be tion should be limited to at most three distracted or poorly motivated. sizes for text materials, and these sizes should be quickly and easily dis Traditional literature on typographic le tinguished. Generally 9 or 10 point type gibility [Rehe) and book design [Hartley, for a 14 inch viewing distance is stan Williamson) concern printed texts rather dard printed text size. Optimum size than computer graphics displays. However, will vary with the detailed characteris many of the principles would appear to be tics of a display device and the viewing transferable to the computer graphics en situation. Column widths should be limit vironment. The following principles are ed to allow 40-60 characters per line based on this literature and the primary [Rehe). In the interrupted texts of pro author's own professional experience as a grams, lines are usually unjustified on graphic designer in both traditional and the right and a 'ragged right' approach computer-based media.