%M C.USENIX.83.Perlman %T The Interface Arsenal %A Perlman, Gary %B Proceedings of the Summer USENIX Conference %D 1983 %K user interfaces, software engineering %X The INTERFACE ARSENAL is a kit of software tools for easing the task of implementing good users interfaces for programs running on the UNIX operating system. In this paper, I describe the motivation of the development of the INTERFACE ARSENAL, the influences in its design, and the component tools of the INTERFACE ARSENAL. These components include function libraries for implementing user interfaces with option variables, options presented in menus, programmable function keys, high level file handling, and others. Abstract data types are used as a model for the design and specification of all user interface objects such as menus and forms. %M C.INTFAC.83.130 %T Data Analysis in the UNIX Environment: %A Perlman, Gary %B Computer Science and Statistics: Proceedings of the 14th Symposium on the Interface %E Heiner, K. W. %E Sacher, R. S. %E Wilkinson, J. W. %D 1983 %P 130-138 %I Springer-Verlag %K statistical computing, user interfaces %W http://www.acm.org/perlman/statmdf.html %X In this paper, I discuss data analysis on the UNIX operating system and how the UNIX environment affects both the design and use of programs. UNIX is a highly interactive operating system, and as such, is ideal for data analysis, allowing analysts to make immediate decisions based on intermediate results. UNIX provides facilities for directing the output of one program as the input to another. This has resulted in a program design philosophy unique to and ubiquitous in UNIX: to build modular programs that do one task well and that can be combined in many ways to perform complex ones. The application of this philosophy to the design of data analysis programs in UNIX has resulted in the development of separate programs to validate, transform and reformat, enter and edit, print, and do calculations on data. From the user's point of view, programs are smaller and hence more portable to small systems, and can be used in a wide variety of contents. I give examples of programs developed under the UNIX philosophy, and show how it lead to the development of automated interfaces for experimental design specification.