Yngve Sundblad
email: y@kth.se

Simula: Mother Tongue for a Generation of Nordic Programmers

Keywords: Computer science education, Nordic programmers, object-oriented programming, Simula

With Simula 67 Ole-Johan Dahl and Kristen Nygaard invented object-oriented programming. This has had an enormous impact on program development tools and methods in the world, well accounted in conferences and books, on programming languages and object-oriented programming, and on software pioneers. Early influenced were computer scientists in the Nordic countries who from about 1970 had Simula as the main programming tool, "mother tongue." This paper gives a first-hand account of experience of a unique early introduction of object-oriented programming for higher education in computer science and in computer programming, which provided powerful program development tools long before other educational institutions, especially as it coincided with the introduction of powerful interactive systems. The paper also challenges the misconception that Simula is primarily a tool for simulation by illustrating how it was used to teach general computer science and programming concepts with more general-purpose constructs than most contemporary languages, except perhaps Lisp.

Introduction

"From the cold waters of Norway comes Object-Oriented Programming"; this is the first line in Bertrand Meyer's widely used textbook titled, "Object Oriented Software Construction" [START_REF] Meyer | Object Oriented Software Construction[END_REF].

Based on the previous development of Simula I in 1961-65, Ole-Johan Dahl and Kristen Nygaard in 1967 introduced Simula 67, an extension of Algol 60 with the basic concepts of object-oriented programming [START_REF] Dahl | SIMULA Common Base Language[END_REF][START_REF] Birtwistle | SIMULA BEGIN[END_REF].

The development of those concepts and the language Simula, the contributions of Ole-Johan Dahl and Kristen Nygaard, and their impact are well described in history of computing publications. We find accounts in books resulting from the ACM conference on History of Programming Languages, 1979 [START_REF] Nygaard | The Development of the SIMULA Language[END_REF], the IEEE conference on History of Object-oriented Programming, 1994 [START_REF] Holmevik | Compiling SIMULA: A historical study of technological genesis[END_REF], and the SD&M conference on Software Pioneers, 2001 [START_REF] Dahl | The Roots of Object Orientation: The Simula Language[END_REF][START_REF] Dahl | Class and Subclass Declarations[END_REF]. The development of computing education in the Nordic countries has been thoroughly described in several sessions at the History of Nordic Computing conferences in 2003 and 2007, as in [START_REF] Krogdahl | The birth of Simula[END_REF].

Here, I will concentrate on the impact of Simula on computing education in universities in the Nordic countries. More specifically, as it affected computing education in Sweden and even more specifically at KTH and at Stockholm University.

Ole-Johan Dahl and Kristen Nygaard first presented Simula to us in 1968 at a seminar. As teachers of programming to engineering and science students mainly in the procedural paradigm of ALGOL-60 and to some extent Fortran, we saw Simula as a revelation. We immediately grasped and saw the power of the object-oriented concepts extending the syntax of Algol, which until then was our main programming tool (with some use also of Fortran and Basic).

We have kept contacts with the Scandinavian academic object-oriented programming environments, especially in Aarhus, Lund and Oslo, but the experience accounted for here could certainly be complemented by experience from other Nordic computer science educational institutions.

Simula Concepts

There is a misconception, especially in the US, that Simula was just a tool for simulation applications. Simula's main importance was the introduction of impressively powerful new concepts that are useful for and facilitate development of interactive and other computer applications as the predominance of the objectoriented concepts today shows. Someone coined that it is an acronym for "SIMple Universal Language." The main new concepts were the following.

Teaching Computer Science Concepts with Simula

Simula soon assumed a role as a second course language (after Algol or Fortran or Basic) in many academic programming environments. As an example, at KTH in Stockholm, all students from 1975 to about 1990 used the "Algol part" (the procedural subset) of Simula in their first programming course [START_REF] Romberger | Grundläggande Programmering i Simula[END_REF] while many students took a second course in object-oriented programming with the entirety of Simula [START_REF] Sundblad | Fortsatt Programmering i Simula[END_REF]. At Stockholm University, Simula used teaching objects, program structures, and data structures until 1997, illustrated by a comprehensive textbook from 1993 [START_REF] Dahl | Objektorienterad programmering och algoritmer i Simula[END_REF]. Also at Lund University, Simula was used in education until 1997 as illustrated by a textbook from 1992 [START_REF] Holm | Objektorienterad programmering och Simula[END_REF].

From 1972 onwards, this was a uniquely early introduction of object-oriented programming for education, applications and research, with continued development and spread to national industry and international academics environments. Simula was also our tool for teaching program and data structures, with no real competitor except Lisp, which took over in the computer science specialist education in the late 1980s through the brilliant textbook and lectures on "Structure and Interpretation of Computer Programs" by Abelson and Sussman at MIT, using the Lisp dialect Scheme [START_REF] Abelson | Structure and Interpretation of Computer Programs[END_REF].

At the Stockholm Computer Centre, we taught an ongoing education one-week course in Simula twice a year from 1972 to about 1980, with about twenty participants from industry, academia, and defense research, mainly with backgrounds in Fortran. Thus, several hundred developers received an early introduction in objectoriented programming.

In computer science departments in the Nordic countries, there has been a variety of languages and systems used in teaching object-oriented programming since 1980, but the basic concepts go back to Simula and they were taught to our current generation of teachers by the older generation using Simula. We illustrate this by a list of Simula descendants used at KTH: Smalltalk, LOOPS, C++, Modula-2, now Java and Python.

We now take up some basic concepts that constitute a major computer science and programming education, introduced via Simula already in the early 1970s.

Data Structures

In the 1970s data structures were put on a firm theoretical footing by many researchers, e.g. Ole-Johan Dahl [START_REF] Dahl | Structured Programming[END_REF] and [START_REF] Dahl | Algoritmer og Datastrukturer[END_REF], Tony Hoare [START_REF] Dahl | Structured Programming[END_REF] and Nicolas Wirth [START_REF] Wirth | Algorithms + Datastructures = Programs[END_REF], with the "formula" Algorithms + Datastructures = Programs.

In [6, p. 85], Dahl states, "The most important new concept was data structures with associated operators." That concept is very important and elegant in Simula but equally important are other new concepts in Simula such as class and inheritance.

The Simula reference variables that safely (strongly typed) can reference objects, with other references as attributes, give easy tools for building up stacks, queues, lists, trees, lattices, etc., that are proper data structures for different applications.

Together with the built-in framework SIMSET for building circular double-linked circular lists with head the references in Simula made systematic teaching of data structures powerful as illustrated in the textbooks [START_REF] Sundblad | Fortsatt Programmering i Simula[END_REF][START_REF] Dahl | Objektorienterad programmering och algoritmer i Simula[END_REF][START_REF] Holm | Objektorienterad programmering och Simula[END_REF][START_REF] Dahl | Structured Programming[END_REF][START_REF] Dahl | Algoritmer og Datastrukturer[END_REF][START_REF] Wirth | Algorithms + Datastructures = Programs[END_REF][START_REF] Pooley | An introduction to programming in Simula[END_REF][START_REF] Kirkerud | Object-Oriented Programming with SIMULA[END_REF].

An elegant example is the following class for binary tree nodes with a method for scanning, which applied to the root makes a scan in post order. The "trick" is that it terminates because INSPECT

Class and Subclass -Encapsulation and Inheritance

The encapsulation of data and algorithms (methods) into classes made it possible to structure programs in new ways, in many cases more appropriate and giving better overview than in the strictly procedural ways of the then predominant Algol and Fortran.

Subclass mechanisms allowed hierarchical structures and abstractions that also help students to structure and make less error-prone programs. The polymorphism, several subclasses of an abstract superclass, with rules for handling and using/overriding name collisions, gave the more advanced students powerful tools.

Co-routines and Discrete Event Simulation

An advanced feature of Simula, that allows defining the class of parallel processes and the SIMULATION framework, is the Detach-Resume-Call mechanisms.

The Detach and Resume() procedures in processes allow stopping and handing over control between them as does Detach and Call() between a class instance and the main program. These allow simulated parallelism for applications that are naturally described as co-routines and they were used as basis for true parallelism [START_REF] Palme | Making Simula into a programming language for real time[END_REF].

In the advanced Simula courses, SIMULATION was usually introduced, at KTH with a special textbook [START_REF] Siklósi | Simula-Simulation[END_REF], while co-routines were treated for the most interested students.

Computer Graphics and Interaction, Model-View-Controller

We soon realized that computer graphics and interaction are very well suited for object-oriented structures and programming. It is natural to see the entities on the screen as objects, their actions and our interactions with them as invoking their methods.

In his brilliant work on Sketchpad, as early as 1963 [START_REF] Sutherland | Sketchpad, a Man-Machine Graphical Communication System[END_REF] Ivan Sutherland invented several object-oriented concepts for handling the graphics on the screen such as objects, methods, and sub-objects although he does not develop it into a language but rather a hands-on system.

When introducing graphics into our courses in the 1970s, for plotters and vector and character terminals, Simula was natural to use for describing the objects and of keeping track of them is through display lists, which also is easy to implement with SIMSET in Simula [START_REF] Haugen | Class graphics -A powerful tool in Interactive Computer Graphics[END_REF].

Then, in the early 1980s, came the graphic workstations to us in academic Scandinavia, although developed in the US already in the mid-1970s, with Simula inspired tools such as Smalltalk.

The structuring of interactive graphic applications into MVC -Model-View-Controller, also has Nordic Simula origin, through Trygve Reenskaug, then visiting scientist at Xerox PARC [START_REF] Reenskaug | Models -Views -Controllers[END_REF].

MVC was introduced into our courses with Smalltalk around 1985 and is now commonly used in most programming tools for building interactive graphic applications.

Teaching Programming Practices with Simula

Here we look at some programming practices that emerged in the 1970s and were supported by Simula and its implementations.

Structured Programming and Programming Style

A buzz concept in the 1970s was structured programming with the "religions" hope of solving the "software crisis," i.e. the galloping costs for development of large programs. Structured Programming also had a sound scientific basis formed in the early 1970s by theorists as Ole-Johan Dahl, Edsger Dijkstra and Tony Hoare with their ground-breaking book [START_REF] Dahl | Structured Programming[END_REF], Don Knuth and Niklaus Wirth, and practitioners as Kristen Nygaard, and Kernighan & Plaugher [START_REF] Kernighan | The Elements of Programming Style[END_REF] at Bell labs.

These practices were taught extensively in our basic and advanced programming courses in Simula and survive today with other tools.

Dialog Programming Environment

A key factor in the success of using Simula in our education was its implementation on current computers. The first implementation we met in 1971 was on the IBM 360, but the real breakthrough came with the implementation for our first large dialog system, DEC-10. A Swedish team developed in the early 1970s a system for the DEC-system 10 [START_REF] Arnborg | Simula 67 for the DEC System 10 Computer[END_REF], which was also basis for a dissertation at our department [START_REF] Arnborg | Programming language implementation[END_REF]. Ole-Johan Dahl states that "the DEC-system 10 implementation contributed considerably to the spread of Simula" [6, p. 85].

The experience of using Simula on text terminals led to abandonment of punched cards completely in 1976 and letting all our students take turns in using 30 terminals versus the DEC-10 at Stockholm Computer Centre (QZ). That led to slow response and complaints from other users. Hence, when they ported Simula to the DEC-20 and we were allowed to break the centralization dogma in Swedish academic computing, we acquired the department's own DEC-2020, "Nadja" in 1979, mainly for running Simula. The Algol part was taught to all KTH students and the entirety of Simula in second courses for students such as in engineering physics, electrical engineering, and mathematics. We soon had to expand with a DEC-2060 ("Vera") and one more DEC-2020 ("Venus"). The names represent Hope-Faith-Love in different languages.

The programming environment on the DEC computers had nice features such as the:

o SIMDDT debugger, [START_REF] Palme | SIMDDT -for conversational debugging of SIMULA programs[END_REF], for inspection of variables at breakpoints and on forced interruptions when infinite loop is suspected, etc. o SIMED program text editor, capitalising reserved words, making standard procedure names having first letter as capital and making proper indentations o FQC collecting run time statistics o SAFEIO, for safe input, not accepting input of "wrong" type When the personal workstation revolution came in 1984, we moved some courses with Simula in computer science, programming, graphics, and interaction over to the Macintosh that survived until 1997, thereby abandoning the DEC computers in 1988. Developments and experiences in this area appear in [START_REF] Dahl | Mac Simula Application Framework[END_REF][START_REF] Sundblad | Teaching Object-Oriented User Interface Design[END_REF][START_REF] Kjelldahl | Experience from ten years of student projects oriented towards graphic interaction[END_REF]. Alan Kay at Xerox PARC was one of the first American researchers that, by coincidence, learned about the Simula concepts and saw the power of objectorientation. Together with Adele Goldberg, he used it in the definition and development of the epoch-making Smalltalk language from 1972 onwards [START_REF] Feldman | A conversation with Alan Kay[END_REF] and [START_REF] Kay | The Early History of Smalltalk[END_REF]: Then there was Simula, which the designers thought of as an extension of Algol. It was basically a preprocessor to Algol the way C++ was a preprocessor for C. It was a great concept and I was lucky enough to see it as almost a new thing. … If you combine Simula and Lisp -Lisp didn't have data structures, it had instances of objects -you would have a dynamic type system that would give you the range of expression you need. … It is not too much of an exaggeration to say that most of my ideas from then on took their roots from Simula -but not as an attempt to improve it. It was the promise of an entirely new way to structure computations that took my fancy. As it turned out, it would take quite a few years to understand how to use the insights and to devise efficient mechanisms to execute them.

Simula as an Inspiration for Smalltalk

In our courses on graphics and interaction, Smalltalk took over the role as a more powerful tool than Simula from about 1985, when we got the first decently efficient implementation on Sun and Tektronix stations, until about 2000. Now packages in Java play that role.

The Simula Heritage in Computer Science Education Today

Algol is "the Latin" of procedural programming, i.e. the dead language that most modern such languages build on. Similarly, Simula is "the Latin" of object-oriented programming.

Simula and its object orientation as inspiration in developing programming tools received recognition by the creators mentioned below: o 1970s: Smalltalk (Alan Kay), Modula-2 (Niklaus Wirth), LOOPS (Dan Bobrow) o 1980s: Eiffel (Bertrand Meyer), C++ (Bjarne Stroustrup), Objective C (Brad Cox), Object Pascal (Niklaus Wirth, Anders Hejlsberg) o 1990s: Python (Guido van Rossum), Java (Jim Gosling), Objective Ada (Jean Ichbiah), C# (Anders Hejlsberg) Some of these are extensions of existing programming languages such as general as LOOPS (of LISP), or procedural as C++, Objective C and C#, Objective Ada, Object Pascal, Java, leading to compromises and sometimes less "clean" constructions.

The extensions of procedural languages with stronger industrial backing than Simula such as C and Pascal gave object-oriented variants a much wider use. A notable example is C++, developed from C by Bjarne Stroustrup with a Scandinavian Simula background; it is still widely used in spite of its sometimes "dirty" constructions. Another is Java, where the strong backing by the Sun Corporation and the sensitivity for needs of portable devices such as mobile phones, has made it widely used. A third is C#, with its strong backing by Microsoft Corporation.

The other languages are new developments, often with elegant clean ways of expression in the Simula tradition: Smalltalk (with the "clean" paradigm that everything is objects), as well as Modula-2, Eiffel, and Python (with their strong influences of the later abstract data type and assertion theories). Some of these are quite broadly used in academic teaching but not dominant in industry.

In most academic computer science and programming educational environments as well as in the programming industry, these offsprings of Simula are the main tools used. Thus, Simula must be seen as a great success, although it is quite natural that new developments make old programming languages obsolete.

Fig. 1 .

 1 Fig. 1. O.-J. Dahl & K. Nygaard.

Fig. 2 .

 2 Fig. 2. DEC-2020 computer "Nadja," used extensively for up to thirty parallel students' interactive development and running of Simula programs 1979-88. It was revived 2010, started at first effort, here with the proud author. Historically important as the first mainframe academic computer owned (and run) by a department (NADA, KTH) and not by the six centralized computer centers, one in each university region in Sweden.

Fig. 3 .

 3 Fig. 3. Alan Kay & Adele Goldberg.

•

  Class of similar Objects (in Simula declaration of CLASS with data and actions) • Objects created as Instances of a Class (in Simula NEW object of class) • Data attributes of a class (in Simula type declared as parameters or internal)

	• Encapsulation of data supporting abstractions
	• Method attributes of, patterns of action (in Simula declared as PROCEDURE)
	• Message passing, calls of methods (in Simula dot-notation)
	• Subclasses that inherit from superclasses
	• Polymorphism with several subclasses to a superclass
	• Co-routines (in Simula Detach -Resume)

  -ing NONE has no effect.

	CLASS node(left, right); REF(node) left, right;
	BEGIN
	PROCEDURE scan(x); REF(node) x;
	INSPECT x DO BEGIN
	scan(left);
	scan(right);
	visit(THIS node);
	END of scan;
	END of node;

Acknowledgments. The experiences and lessons on teaching computer science and programming with Simula have been shared with many colleagues, especially those at the KTH department, NA (Numerical Analysis) from 1970 renamed into NADA (Numerical Analysis and Computer Science) in 1979; the trend also affected other Swedish and Nordic computer science departments. Stefan Arnborg, Serafim Dahl, Örjan Leringe, Kjell Lindqvist, and Staffan Romberger, all at NADA, Kalle Mäkilä, Mats Ohlin and Jacob Palme, all at FOA (now FOI), and Sten Henriksson and Boris Magnusson (Lund University) deserve special mention.


Yngve Sundblad
email: y@kth.se

UTOPIA: Participatory Design from Scandinavia to the World

Keywords: Cooperative design, human computer interaction, participatory design, Scandinavian model of ICT systems development, user involvement, working life applications

Studies and design of information technology support for workplaces, especially workshop floors, office floors and hospital floors, have a strong tradition in Scandinavia, involving workplace users and their trade unions and other stakeholders. The projects emphasize the active cooperation between researchers and workers in the organizations to help improve their work situation. This tradition is analyzed in its historic perspective, starting with the roots in Norway in the early 1970s while highlighting the seminal UTOPIA project from the early 1980s. Today computer use and interaction possibilities are changing quickly with use contexts and application types radically broadening. Technology no longer consists of static tools belonging only to the workplace; it permeates work activity, homes, and everyday lives. The Scandinavian tradition of user involvement in development is facing up with the challenges of new contexts. The influence on past and current practices for international ICT system design is described and analyzed.

Introduction

The study and design of information technology support for workplaces, especially workshop floors, office floors and hospital floors, have a strong tradition in Scandinavia involving workplace users, their trade unions, and other stakeholders. The projects emphasize the active cooperation between researchers and workers of the organization to help improve their work situation.

Since the early days, the obvious idea to involve as early as possible users in systems and interface design with low and high tech prototypes, has become a standard to which most developers at least pay lip service. That the practice is not necessarily followed is usually because of time constraints and lack of insight rather than reluctance. However, there are also inherent difficulties.

In the early 1970s, computer technology and use in Scandinavia was dominated by mainframes in "computer centers," guarded by technicians in white frocks, with text input and output, and rudimentary communication between installations. Few were aware of the future that promised broad and powerful use of computers that were developing in laboratories, especially in California.

Historical Roots -Kristen Nygaard

We all owe great gratitude to Kristen Nygaard as the father of worker involvement in workplace for computer development and use. His project with the Norwegian Iron and Metal Workers Union (NJMF) in 1972 made an initial move from traditional research and development of computer systems to working with people, directly changing and making more active the role of the local unions [START_REF] Nygaard | Planning, Control, and Computing. Basic Book for the Trade Unions (Planlegging, Styring og databehandling. Grunnbok for Fagbevegelsen[END_REF][START_REF] Nygaard | The 'Iron and Metal Project': Trade Union Participation[END_REF]. This project has had great influence on all succeeding research and development of user participation in systems development leading into cooperative (or participatory) design. In general, the tradition has developed strategies and techniques for workers to influence the design and use of computer applications at the workplace. Not only did Kristen give a generation of academic computer scientists in Scandinavia their mother tongue for computer programming, SIMULA, inventing all main object-oriented concepts [START_REF] Dahl | SIMULA Common Base Language[END_REF][START_REF] Holmevik | Compiling SIMULA: A historical study of technological genesis[END_REF], he also gave us the tradition of workplace user involvement.

Inspiration to Other Scandinavians

Kristen soon inspired Danish, Norwegian, and Swedish young computer and information science researchers and students. One of these was Pelle Ehn, who in 1975 initiated the DEMOS (DEMOkratisk planering och Styrning i arbetslivet = Democratic Planning and Control in Working Life) project [START_REF] Carlsson | Planning and control from the perspective of labour -A short presentation of the Demos project[END_REF][START_REF]The Demos Project: A Presentation[END_REF]. A similar project was DUE (Demokratisk Utveckling og EDB = Democratic Development and Computer Processing) with researchers from Aarhus such as Morten Kyng [START_REF] Sandberg | Project DUE: Democracy, Development, and EDP[END_REF].

These projects emphasized the active cooperation between researchers and workers of the organization to help improve their work situation. One strong goal was to 'give the end users a voice' in design and development of computer support in work places, thus enhancing the quality of the resulting system. The projects were part of the start of the "Scandinavian tradition" in system design.

UTOPIA

Based on the DEMOS and DUE experience and the shortcomings when using and adapting the technical systems at hand, Pelle Ehn and Morten Kyng decided to try a more offensive ("utopist") strategy for worker involvement -direct participation in all design and development phases of computerized tools and systems in the workplace.

They found a good partner through their contacts with newspaper graphic workers, the Nordic Graphic Union (NGU), which became so interested that it financed halftime participation of six graphic workers from Stockholm and Aarhus, and formed a reference group led by the Norwegian NGU board member Gunnar Kokaas.

The natural choice for the project leader was Pelle Ehn, then researcher at ALC, the Center for Working Life in Stockholm, from which an interdisciplinary group with social and information sciences background became involved.

NADA's (the KTH Computer Science department) involvement came when Pelle, whom I knew from other contexts, asked me about our interest to contribute with "technical imagination." As head of department, I could get us, including about five other young researchers, involved in this for NADA somewhat unorthodox project. The other university partner was DAIMI (Computer Science) at Aarhus University.

UTOPIA is a somewhat far-fetched, acronym: Utbildning, Teknik Och Produkt I Arbetskvalitetsperspektiv (workable in all Scandinavian languages); that is, Training, Technology and Product in Work Quality Perspective, inspired by the name of classical book on an ideal society.

Objective

The overall research objective of UTOPIA was to contribute to the development of methods for involving end users in all phases of design and development of IT support for their activities. This objective was based on experience from a concrete case, the development of powerful skill enhancing tools for graphic workers in the light of the emerging graphic workstation technology. Quality of work and product was crucial. Both technical and social prerequisites, as well as obstacles and limitations were examined. The labor processes of page make-up and image processing in integrated computer-based newspaper production were in focus.

UTOPIA Activities

Main activities during UTOPIA were as follows.

o

UTOPIA Tools

The tools and methods in the laboratory were innovations in the early 1980s. These include:

o Color slide mock-ups with picture sequences that were also pasted on the walls, for simulation of work processes o Low-tech mock-ups of equipment (wooden mouse, cardboard laser writer etc.), material and menus (paper and plastic) o A graphic workstation for illustrating prototypes of computer based tools o A tool kit (box with waxed cards) for modeling and experimenting with work organization

UTOPIA Results

UTOPIA became a seminal project on methods for involving end users in all phases of design and development of IT support for their activities.

The main results were not so much the pilot computer tool built and used at Aftonbladet as compared to the experience and methods:

o for the Nordic Graphic Union members, who from UTOPIA knew, at least as well as their employers, the pros and cons of the emerging technology and what to require from it, for functionally and socially acceptable tools and systems in their work o for the researchers, the challenging insight that the human interface is very important for how useful a computer based tool will be, inspiration for establishing IPLab (Interaction and Presentation Lab) 1985 at NADA and similar efforts in Aarhus o for the researchers and the design community in general a methodology, Cooperative Design / Participatory Design, for involvement of end users together with interface designers and program developers on equal footing in computer application projects

UTOPIA Long-Term Experience

In retrospect, we can see the following four main features of quality and experience from UTOPIA.

Where Workers Craft Technology

This characterization comes from the MIT Technical Review [START_REF] Howard | Utopia -Where Workers Craft New Technology[END_REF], with the observation that UTOPIA showed that it is possible to design information technology based on use requirements such as work organization, work environment, forms of cooperation, and working skills. At that time, this idea was almost blasphemy in some management circles and more mainstream today.

Setting the Stage for Design in Action

UTOPIA was precursor to current practices in interaction design in staging active design exercises such as the organizational toolbox and use of mock-ups and prototypes as a way to involve end users in design. Crucial are the means to create meaningful design objects for all participants (different groups of users and designers).

Playing the Language Game of Design and Use

UTOPIA gave a lasting contribution to the theoretical understanding of design with users through contributions such as Pelle Ehn's [START_REF] Ehn | Work-oriented design of computer artifacts[END_REF] and Susanne Bødker's [START_REF] Bødker | Computer applications as mediators of design and use -a developmental perspective[END_REF] dissertations and several other papers. Today, a "Communities of Practice" perspective is the mainstream for understanding design and learning.

Bringing Design to Software

The title of this section, borrowed from Terry Winograd [START_REF] Winograd | Bringing design to software[END_REF], underscores the fact that we could view UTOPIA as a "paradigmatic example" of how design thinking and practice can be brought into software development.

International Recognition -Cooperative / Participatory Design

The UTOPIA and "Scandinavian model" experience formed a main theme of the 1985 Computers and Democracy conference in Aarhus as shown by the seminal paper [START_REF] Bødker | A Utopian experience[END_REF]. At the 1988 CSCW (Computer Supported Cooperative Work) conference in Portland, Oregon, UTOPIA results appeared in an invited paper [START_REF] Bødker | Computer Support for Cooperative Design[END_REF]. There were several more contributions by UTOPIA members and others from Scandinavia on cooperative design and collaboration. Many scientists from the US and Europe were involved and they greatly contributed to the further development and spread of these ideas.

The term "Scandinavian model of ICT design" is frequently used today in many contexts all over the world to characterize the approaches and practices emanating from these experiences. The "secondary result" of UTOPIA, the methodology, with ingredients such as low-tech prototyping, early design sessions with users, and iterations has had a great impact on ICT design in general.

We still maintain the term "cooperative design" but we recognize that the term "participatory design" has gained greater international use. In addition, biennial international Participatory Design Conferences (PDC) have taken place since 1992, arranged the first five times in the US, and then also in Sweden, Canada, Italy and Australia.

Impact on ICT Design in Practice since the 1980s

The UTOPIA approach, with ingredients such as low-tech prototyping and early design sessions with users, has had a great impact on ICT design in general. This is the case not only where the methods were a main ingredient as in cooperative design / participatory design, but also as part of current common practices in HCI and in CSCW in general, and in later methodologies such as consensus participation, contextual design [START_REF] Beyer | Contextual Design: Defining Customer-Centred Systems[END_REF], and cooperative inquiry [START_REF] Druin | Co-operative Inquiry -Developing New Technology for Children with Children[END_REF].

Since then, the methodology has developed (e.g. extended to involvement of all stakeholders in system design projects, see [START_REF] Bødker | Co-operative Design -perspectives on 20 years with 'the Scandinavian IT Design Model[END_REF]) and been complemented with a battery of other methods into strategies for involving users for better-suited IT support. Some examples, many from Scandinavia, are use scenarios [START_REF] Kyng | Creating Contexts for Design[END_REF], technical probes [START_REF] Hutchinson | Technology Probes: Inspiring Design for and with Families[END_REF], video prototyping [START_REF] Mackay | Video artefact for design: Bridging the gap between abstraction and detail[END_REF], vision games [START_REF] Hornecker | Getting a grip on tangible interaction: A framework on physical space and social interaction[END_REF], close cooperation with joint user experience between ethnographer, industrial designer and programmer [START_REF] Westerlund | Co-designing methods for designing with and for families[END_REF], and overall process design. For example, the Cooperative Experimental Systems Development [START_REF] Grønbaek | Toward a Cooperative Experimental System Development Approach[END_REF], and MUST [START_REF] Kensing | MUST: A Method for Participatory Design[END_REF] have provided an industrial method for the early phases of design.

The methodology has in my practice been used successfully for design, study and evaluation of ICT support for people such as graphic workers, office workers, programmers, teachers, school childs, family members for intergenerational communication, call center workers, and artists [START_REF] Bødker | Usability and Interaction Design -new challenges for the Scandinavian tradition[END_REF]. A current project based on the UTOPIA experience is user assessment of IT quality in workplaces, the Users Award [START_REF] Walldius | User certification of Workplace Software -Assessing both Artefact and Usage[END_REF]. Other researchers and developers in the cooperative design tradition could extend the list of projects considerably.

Conclusions -Still as Relevant Today

It is clear from the aforementioned experiences that the "Scandinavian model" for ICT system development and use, as it was conceived in the 1970s and 1980s notably through the UTOPIA project, has been of utmost importance for forming design practice of today. It is often argued that the conditions in Scandinavia in the 1980s were uniquely favorable for a worker driven IT project, both politically and academically. There were resources available both for participation (in UTOPIA from trade union funding) and for research and development (from academic and research institute funding, including Arbetslivscentrum, for working life studies). This does not mean that the funding was without obstacles. The funding of the participation of a traditional computer science department NADA at KTH depended on its own priorities. The funding authority, STU, first denied it; later, it obtained a technology procurement grant to the newspaper Aftonbladet.

Though projects with such extensive work place user participation are rare, we should consider UTOPIA as a movement showing what is achievable and it should serve as an example for ambitions even under less favorable conditions.

The previous section showed many examples of methods developed in the 1990s that were improvements and modifications of the original methods and practices of the cooperative design approach for different conditions and situations; they illustrate the sound basis of the approach. The approach gives users a voice, an understanding, and knowledge as well as the cooperative design methodology. Even at early stages where they did not know the purpose of the design, it is important to focus on multiple users and uses and on the experience of use. Post-design evaluation was not enough. For exploring the many innovative new forms of interaction today and their use in mixing old and new technologies, multiplicity and ad-hoc configuration everywhere and anytime, for tailorability, adaptation and awareness in networks and communities, the "Scandinavian" cooperative design with users is needed at least as much as before.

Often the problems of user participation are discussed from the point of view of researchers getting access to the users. Yet, we should see user participation from the point of view of the conditions of the participation process, that is, how the conditions are set for users to participate together with designers (and managers). Experiences from cooperative design projects show problems that cooperative design research still needs to deal with.

There are indeed a number of difficulties to overcome. It is important to find the right set of participants, the right tools and techniques as well as the right location and physical space for cooperative design. Furthermore, it is important to create a setting where all involved groups can make active contributions that are meaningful to themselves as well as to other groups of participants. In our experience, this usually requires a serious change in attitude from some of the groups involved.

It is often seen that influence in non-work use of technology goes through consumerism and "voting with the users'/buyers' feet", which could also be a lever for workplace democracy when it comes to ICT support. The ideal that everyone could have full participation and control, and make use of head, hand and heart in their whole life, including work, can move closer as a result of cooperative ICT design and use.

"Common" workplaces can be as challenging and inspiring, e.g. in UsersAward [START_REF] Walldius | User certification of Workplace Software -Assessing both Artefact and Usage[END_REF], as the more "fancy" new mobile workplaces for media design etc. We need to work with all, old and new, workplaces in the spirit of "Digital Bauhaus" [START_REF] Sundblad | From Utopia 1981 to Utopia 2008[END_REF].

Acknowledgments. The cooperative design tradition owes its development to a large number of practitioners and researchers. I recognize the importance of discussions with many of them for our understanding of possibilities and limitations. Specifically I want to thank the researchers and users in the projects here described.

Fig. 1 .

 1 Fig. 1. Kristen Nygaard (1926-2002).

Fig. 2 .

 2 Fig. 2. From an edition of Thomas More's UTOPIA from 1516.

Fig. 3 .

 3 Fig. 3. UTOPIA participants 1981-1986, from ALC, DAIMI, NADA, NGU.

  Mutual learning between the active participants: graphic workers, computer and social researchers o Common study tours to graphic industry exhibitions and to important laboratories in the US, including Xerox PARC and Stanford University, where Terry Winograd was an important contact and supporter o Requirement specification for a system for newspaper text and image prepress production, under development by a Swedish manufacturer o Studying a pilot installation of the image system in real production at the Swedish newspaper Aftonbladet o Dissemination, especially to the graphic workers and to the scientific community, see below under "International recognition." They produced twenty "UTOPIA reports" in Swedish or Danish on different aspects of technology, work organization, and work environment. All (about 50,000) members of NGU received the final, 48-page edition no.7 of the project newsletter, Graffiti, translated into Danish, Finnish, Norwegian, Swedish, English, and Italian.

Fig. 4 & 5 .

 45 Fig. 4 & 5. Pilot installation at Aftonbladet & the newsletter GRAFFITI.

Fig. 6 & 7 .

 67 Fig. 6 & 7. Mock-up situation & work process simulation.

Fig. 8 & 9 .

 89 Fig. 8 & 9. Graphic work station with A4 screen (Perq, 1983, first commercially available in Scandinavia) & page make-up simulation.

  The UTOPIA group should be mentioned for a great experience of fruitful cooperation of lifelong importance: o Gunnar Kokaas, chairman of Nordic Graphic Union reference group; o Gunnar Rasmussen, graphic worker in Aarhus; o Björn Burell, Bernt Eriksson, Bo Eric Ericsson, Malte Eriksson, Martin Eriksson and Björn Sporsén, graphic workers in Stockholm; o Pelle Ehn, Angelika Dilschmann, Ewa Gunnarsson, Åke Sandberg and Dan Sjögren, Centre for Working Life Research, Stockholm; o Merete Bartholdy, Susanne Bødker, Kurt Jensen, John Kammersgaard and Morten Kyng, DAIMI, Aarhus University; o Björn Eiderbäck, Kerstin Frenckner, Caroline Nordquist, Staffan Romberger and Kerstin Severinson Eklundh, NADA, KTH.


Kjell Bratbergsengen
email: kjellb@idi.ntnu.no

Cloud Computing in the 1970s: The Discovery of Hash Based Relational Algebra

Keywords: Database research, history of research projects, parallel computing

Cloud computing was not a known term in the 1970s. However, this is about work done from 1975 to 1990, which with today's terminology partly could have been termed, cloud computing. This article is about how we discovered hash-based methods for doing relational algebra, searching for efficient algorithms to run on a future parallel computer. We found the algorithms; however, Norsk Data never built the parallel computer. We built four parallel computers ourselves, but first we implemented the hash based relational algebra algorithms in TechRa, a system for mono computers, and obtained excellent results. Being able to establish a lab, developing machines, software and algorithms led to a very rich research period from 1985 to 1990, involving many PhD and master students. We had the world record in both sorting and relational algebra on our parallel computers for a while. We commercialized our research in 1989 with many positive effects, but with negative effects to the university activities in the field.

The Database Group

A small database group was formed at NTH and SINTEF in 1972 lead by Kjell Bratbergsengen, then assistant professor at NTH. The group built several file and database systems right from its beginning: AKUFIL [START_REF] Bratbergsengen | AKUFILet filsystem for lagring og gjenfinning av matriser[END_REF], INDSEQ [START_REF] Bratbergsengen | INDSEQ Et indeks-sekvensielt filsystem for Univac EXEC-8 og IBM System 360/370 OS[END_REF], Ra1 [START_REF] Bratbergsengen | RA1et vertsspråkbasert databasesystem. Metode og systemdokumentasjon[END_REF], Ra2 [START_REF] Bratbergsengen | RA2 -Brukerveiledning[END_REF], and a backend database machine Ra3 [START_REF] Bratbergsengen | Databasemaskineren riktigere måte for å omsette databaseprogramvare[END_REF]. AKUFIL was a specialized file system for storing matrices. INDSEQ was an indexed sequential file system used in an internal project CASCADE led by Arne Sølvberg. Inspired by a similar system on our UNIVAC 1107 computer, we used block splitting on overflow (at both data and index levels); our architecture was really close to what is known as B*-trees today. RA1 was used to store the first BIBSYS database and it served BIBSYS for more than fifteen years until it was followed by ADABAS on a new IBM computer. RA2 was developed for Kongsberg Vaapenfabrik (KV); the first application was their bill of material database. Later, KV in Scandinavia also marketed RA2. RA2 featured sequential, indexed sequential and hashed access to records at the first level. Below each first level record, there could be a general tree of records of different types.

The database group was very familiar with the CODASYL work. It existed a Norwegian system SIBAS, based on the CODASYL proposed standard. SI developed SIBAS and Norsk Data marketed it; there was no room in Norway for more systems of this type. Our market was lighter and faster systems.

The database group started as a common group for NTH and SINTEF. Bratbergsengen was employed by the university, the first two members; Knut Hofstad and Kjell Wibe were both employed by SINTEF. They operated very integrated the first ten years, however, as the SINTEF group grew and financing needs alike, they became more independent of each other.

The ASTRA Project

In 1970, Edgar F. Codd published his seminal paper "A Relational Model of Data for Large Shared Data Banks." This was a totally new way of organizing data, but it was regarded as useless caused by very long execution times. The model favored programmer productivity. Finding methods to get reasonable execution times seemed impossible, and became a great challenge. Relational algebra is the "instruction set" of relational database systems. Instructions included selection, projection, join, intersection, union, difference, division and aggregation. Operands were tables or files if you like, so are also results. Algorithms for doing relational algebra were normally nested loop algorithms or sort based. These methods were terrible for large operands. A number of research projects tried to find effective ways to implement the relational model the next fifteen years [START_REF] Ozkarahan | RAP An Associative Processor for Data Base Management[END_REF][START_REF] Su | CASSM -A Cellular System for Very Large Databases[END_REF][START_REF] Leilich | A Search Processor for Data Base Management Systems[END_REF][START_REF] Langdon | A Note on Associative Processors for Data Management[END_REF][START_REF] Dewitt | DIRECT -A Multiprocessor Organization for Supporting Relational Database Management Systems[END_REF][START_REF] Maller | The Content Addressable File Store -CAFS[END_REF][START_REF] Oliver | RELACS An Associative Computer Architecture to Support a Relational Data Model[END_REF]. Because of the time-consuming algorithms, all the listed projects involved building some type of new hardware, either parallel disks or machines with smart or especially associative memory. The list of projects is not complete.

Norsk Data saw a market for selling more hardware, and together we worked out a research proposal to the Norwegian Science Foundationthe ASTRA project in 1977. We should develop a relational database system for parallel computers. The database data was to be stored in main memory. Norsk Data engineers had figured out that main memory would reach the same price as disk in quite a few years. Main memory storage and parallel machines should solve the problems with long execution times. However, Norsk Data engineers were not equally acquainted with disk technology and disks became cheaper too. Eventually this led to the end of the project. However, the main result of the project was the discovery of efficient methods for doing relational algebra. It is easy to parallelize selection. All the other relational algebra operations are all based on finding records with matching values of their operation keysa set of attributes specified for the operation. In the seventies, nested loop or sorting for larger operands was used to find records with equal key values. Both methods are hard to parallelize.

Hash Based Relational Algebra Algorithms

The basic idea behind hash based relational algebra methods is quite simple. If two records have the same key value, their hash values would also be the same. If two hash values are different, their keys must be different. If two hash values are equal, their keys might be equal, but not necessarily. To avoid testing too many unequal keys for equality, the hash value space is adapted so the probability of synonyms is small. Synonyms: two different key values giving the same hash value. We also use a hash formula on the primary key to compute the home node (the node where it is stored) of a record. Only one node is activated for storing, deleting, or modifying a record given that the primary key is known.

The first phase of all relational algebra operations (except selection and nonequijoin) is a redistribution of all the operand records to the target node determined by the hash value of the operation key. Then the operation is completed on the target node; the global task is split into N local tasks. N is the number of nodes on the parallel computer. The method requires a minimum of internal synchronization and features a built in load distribution mechanism, i.e. the hash based redistribution of operands.

Redistribution of operands required an internode network with high capacity and good scalability. The analysis of different networks was documented in [START_REF] Bratbergsengen | A Neighbor Connected Processor Network for Performing Relational Algbra Operations[END_REF]. We looked at different ring structures, records might move one or both ways, and the rings were intersected to reduce the average number of hops during redistribution. We ended up with an extreme variant, a ring of only two nodes, able to handle many nodes; the number of intersecting dimensions became larger. This is how we discovered the hypercube. The hypercube was chosen because it scaled perfectly and it had simple routing rules. The number of nodes in a hypercube is N=2 D where D is the number of dimensions. We could also call D the diameter of the hypercube, which is the maximum number of hops to relocate a record. The average number of hops is D/2. In [START_REF] Bratbergsengen | A Neighbor Connected Processor Network for Performing Relational Algbra Operations[END_REF], we also described hash based relational algebra in very vague ways; we protected pour methods! We discussed patenting, but had no experience, no one to ask for advice, and no resources for financing.

The ASTRA project was quite ambitious; it also had a language development goal. The relational model was integrated into a modified SIMULA, the new programming language was named ASTRAL, see [START_REF] Amble | ASTRAL: A Structured and Unified Approach to Database Design and Manipulation[END_REF] and [START_REF] Bratbergsengen | A feature analysis of ASTRAL, in Michael Brodie and Joachim Smidt The Relational Task Group -Feature Analysis of Relational Database Systems[END_REF]. The databaseor permanent data was declared in the outer block of the program. This block was never left conceptually. New programs were inserted as procedures into the persistent outer block. We managed to write a compiler for ASTRAL before the project was called off. Major contributors were Tore Amble and Tor Stålhane.

After ASTRA Came TechRa

As it became evident that Norsk Data would terminate the project because the assumptions about main memory price versus disk price did not hold, we realized that we had to build the parallel hardware ourselves.

However, this author got a request from a KV subsidiary -SYSSCAN Mapping, they needed at database system for storing geographic data. SYSSCAN Mapping pioneered digital maps. Kvatro AS (KV avdeling Trondheim) got a contract for building a brand new relational database system, with some added features for storing free text and especially sequences of x, y, z coordinates. The relational algebra was of course realized using hash-based methods. Roy Lyseng, fresh from NTH, was employed by Kvatro to lead the project, which was mainly staffed by RUNIT people. Kvatro marketed TechRa successfully for more than twenty years. It was a lightweight and very efficient database system. The usefulness of hash based relational algebra methods on a mono computer system had been evidenced.

The Period of the Hypercube Laboratory (HCL)

How the methods worked on a real parallel computer had still to be tested. Realizing hash based relational algebra on a parallel computer moved the possible bottleneck from disk I/O or bus/memory system to the network connecting the nodes of the parallel machine. For some years, the author worked on a VLSI chip for setting up lines through the hypercube. However, no serious attempt to produce it was made, it simply was too expensive.

In 1983, we came across dual ported memory chips. Could we use them for communication between computers or nodes in a parallel computer? A test set up with three PCs was built during the Christmas holidays in 1983, and it worked. Dual port RAM was less efficient than using line switching between nodes; however, it was considered efficient enough for a demonstration system. After getting NFR support, a project was set up to build a parallel computer with eight nodes to demonstrate parallel algebra. David DeWitt and his group at University of Wisconsin had worked out a benchmark for relational database systems in 1983 [START_REF] Bitton | Benchmarking Database Systems. A Systematic Approach[END_REF]. The most popular test was the DeWitt join test, joining two tables; Table A containing 1,000 records each 182 bytes long and table B containing 10,000 records also 182 bytes long. We "promised" NFR to do the test in less than 3.0 seconds. We did it in 1.8 seconds. The same test was run on several computers: TechRa on ND540 used 17 seconds, 32 seconds on a VAX 11/750. Ingresone of the leading systems at the timeused 156 seconds on a VAX 11/750 [START_REF] Bratbergsengen | Algebra Operations on a Parallel Computer -Performance Evaluation[END_REF]. CROSS8 was the name of this first operational parallel computer. It was finished in 1985. It had a direct connectionone common dual port RAM of 1,024 bytesbetween each pair of nodes, which explains its name. Each node was a single board computer with a SCSI disk. Each node had also a DPRAM in common with a supervising PC, which controlled the whole system. We experienced DPRAM to a very flexible and useful tool for developing new hard-and software. A curiosity: During start up, DPRAM was mapped in as boot memory, after start up the same area was used for transferring messages.

We built three more parallel computers: HC16-186, HC16-386 and HC64-486 all with hypercube topology DPRAM message passing network. The first number [START_REF] Bitton | Benchmarking Database Systems. A Systematic Approach[END_REF]64) is the number of nodes, and the last number denotes the Intel processor used. Each node was a single board computer designed and built by us. HC64-486 was never completed. It was up and running with four nodes; however, the HCL then closed down.

Shifting from direct communication in CROSS8 to indirect communication in the HCxx-systems was an issue. The CPU had to use some time to move records in transit between nodes. However, it turned out not to be a problem. HC16-186 and HC16-386 were fairly stable systems and they were used to improve the database algorithms, and a large number of parallel algorithms were developed and tested by our PhD and master students. We had the world record in sorting for a period; in 1989, 100 MB was sorted in 180 seconds on HC16-186 [START_REF] Baugstø | Parallel Sorting Methods for Large Data Volumes on a Hypercube Database Computer[END_REF].

In 1989, we were ready to commercialize our research, and we established the company HypRa AS with seven shareholders from the research group. The new company should develop a database for Telenor. It soon became clear that Telenor wanted a transaction-oriented system with extremely high reliability. Parallel algebra systemswhich was really ready to go commercially at that time; it was not in Telenor's interest. The commercialization became a catastrophe to database research at the department. The lab disappeared, so did the people and there was no money to reestablish the loss. Despite being the founder and board chair of the company, I could not go along with it and I left HypRa in 1991. The high throughput, extremely reliable, transactional database for telecom operations required another ten years of research, but that is another (success) story. HypRa AS went through several transformations, Teleserve, Clustra, Sun Microsystems Trondheim, and was recently bought by Oracle. The database activities produced a large number of master candidates, very competent in database technology and parallel computing which strengthened Trondheim as the database city.

What We Achieved and Learnt

We discovered and demonstrated the usefulness of hash-based algorithms for doing relational algebra. These methods are part of all major data base systems today, both for mono machines and parallel machines. Our early experiences with parallel machines were taken further within HypRa and the companies that followed from HypRa; developing high capacity and highly reliable database systems.

The work on hypercube networks or more generally, high capacity highly scalable networks had not been continued after the three last prototypes. The reason: We had not pursued this track and other off the shelf hardware had been good enough. Work on hypercube networks or scalable networks could be reconsidered as we now have computers with thousands of nodes.

We established a permanent commercial activity on core database technology in Trondheim and Norway. We should have done more on publishing our work, especially the first years. That would have improved our worldwide standing, although we do not complain.

To protect our results we badly needed assistance. Today the universities in Norway have systems for this. However, it is surprising how long it takes to develop ideas before they are put to work. We discovered hash-based algebra in 1978, a vague publication was done in 1980, and a full publication of the methods and their results demonstrating their superiority came in 1984 [START_REF] Bratbergsengen | Hashing Methods and Relational Algebra Operations[END_REF]. Ten years later, at SIGMOD 1994, all the major database vendors of that time (IBM DB2, Sybase, and Oracle) indicated that they are now working on implementing hash-based methods in their systems.

Commercialization is very risky. It took away people, the lab, and financing. The database group was never reestablished to the same level. Partners from industry and research institutes had only an eye for protection of their commercial interests and they took no responsibility for continued research and production of more candidates at the university. Continued activity at the department was considered as a threatening competition to the commercial offspring.

During the five intensive years at the Hypercube laboratory, we produced a large number of master candidates with hands on experience from data management and parallel computers. We covered a broad field from VLSI design to parallel programming and algorithms and advanced database technology: parallel core database algorithms, transaction handling and fault tolerance techniques on a parallel system. Access to bright candidates with relevant education was cited as a major reason for international companies to establish branch offices in Trondheim (Yahoo, Google).

Instead of moving projects away from the university, it would have been much better for continuity in research to keep the commercial activities within the department, or at least central parts of it. The same experience repeated itself when the FAST group moved away from our department.

Having a common goal, a laboratory and being able to build prototypes is of highest value. It requires financing to keep laboratory personnel and develop new hardware. The lab is bringing people together, a common working and social arena for graduate and undergraduate students, researchers and professors. Problems, hard to find from theory alone, popped up such as deadlock in the record redistribution algorithm. Crossing hypercube dimensions in arbitrary order caused deadlock. Crossing hypercube dimensions in any fixed order (all records obey this order) avoids deadlock. Of course, this is what we learnt in operating systems and transaction scheduling theory! In parallel systems, we must handle failures, the more nodes, the higher probability that one of them will fail. Working with cloud technology in the 1970s and 1980s was a very successful educational project. Many of the PhDs and masters from the project have key positions in advanced IT projects today.

Acknowledgments. Torgrim Gjelsvik was the first researcher at HCL. He did most of the practical work building new machines and writing the low-level software. Ole John Aske was the second researcher at HCL and he worked mainly with developing software. They made everything work and helped. PhD students Øystein Torbjørnsen, Eirik Knutsen, Petter Moe, and Olav Sandstå were also part of the HCL kernel. A large number of students did their project works and master thesis within the lab. Some developed the system further and many used the hypercube computers to get their first experience with writing and implementing parallel algorithms. I am very grateful to all of you, the ASTRA and TechRa projects participants and members of the database group. Thanks also to the Norwegian Science Foundation who financed both the ASTRA and the Hypercube projects.


The Eckert-Mauchly

Company

Lars Heide
email: heide@cbs.dk

ENIAC John Presper Eckert

John William Mauchly

EDVAC Eckert-Mauchly Company

Making Business of a Revolutionary New Technology

s endeavours to design, sell, and build the revolutionary new technology of the first large, commercial computers. It discusses how Eckert and Mauchly's conceptualization of the computer grew out of their ENIAC and EDVAC projects at University of Pennsylvania. They incorporated their own business to gain profit from production and attain the freedom needed to develop their revolutionary new computer technology through a series of small,

1 Introduction 1 "… did you ever think it was going to turn out like this? … my colleague Mr. Eckert and I, independently I think, have developed about the same answer: that, yes, we felt it was going to turn out to be a big thing. It was just to our disappointment that it took so long. But then it always takes a long time to change people's minds, and it takes even longer for us to change an institution." 2 UNIVAC computer, completed in 1951. He acknowledged that he and John Presper Eckert did not know where the development would end, when it started in the mid-1940s. In contrasts, the histories of the computer industry subscribed to a linear narrative from the ENIAC project during World War II to the IBM System/360 mainframe computer closure in the mid-1960s, and to personal computers and beyond. They discuss either engineering (hardware and software) or business aspects of the development and they, therefore, miss the shaping interaction between markets and engineering, and the crucial role of government in both funding projects and acquiring computers.

An integrated analysis of business, technology, private market, and government market is essential in order to understand how mainframe computers emerged. Further, the linear narrative ignores the size of the endeavor that Eckert and Mauchly faced in the mid-1940s of designing and building a revolutionary new technology, and it ignores the complexity of subsequent development, until IBM established the mainframe computer closure by introducing its System 360 in 1964. The development of revolutionary new technology and establishing its production was never a simple rational simple process. In the mid-1940s, designing and producing mainframe computers required revolutionary new design and basic elements, like adders, memory, storage, and input and output media.

The paper analyzes Eckert and Mauchly's endeavours between 1945 and 1951 to design, build, and sell the revolutionary new technology of the first large, commercial computers in interaction with private and government customers. It approaches innovation as being chaotic and uses uncertainty to conceptualize the basic relations between actors and organizations.

ENIAC and EDVAC: Technical Feasibility and Design of an Operational Computer

In late 1945, John William Mauchly and John Presper Eckert started exploring what a computer should be and its commercial potential. This was based upon the ENIAC project, which had proved the feasibility of building a large electronic computer, and the EDVAC project, which had produced a feasible rapid-access memory, the stored program design and opened for more complex use than calculating the third root of 2,589 raised to the sixteenth power.

In August 1942, John Mauchly wrote a memorandum on a large high-speed vacuum-tube calculator for the Army Ordnance Department. The proposal outlined the main features of a digital vacuum-tube calculator and focused on its technical feasibility. This became the basis for a contract on a large electronic computer, which the Army awarded to the Moore School. Eckert and Mauchly's project team designed new electronic circuits and built a reasonably reliable machine. By June 1944, the formal design of the computer was completed and it was dedicated in February 1946 as the Electronic Numerical Integrator and Computer (ENIAC).

ENIAC proved the feasibility of building a large electronic computer, but it did not have reliability, size, moderate energy consumption, and user friendliness needed in order to make it attractive for a wider range of public and private organizations.

Based on discussions between Moore School and Army Ballistics Research Laboratory, in October 1944, the Army granted a supplement to the ENlAC contract to develop a computer, EDVAC, which was easier to use for calculations. During 1945, this project ran in parallel with the completion of ENIAC, which had priority.

Shaping a Computer

In the summer of 1945, the building of large computers became technically feasible. ENIAC was being completed and had proven the feasibility of large electronic computers.

In December 1945 -while completing the ENIAC -Eckert and Mauchly started envisioning commercial possibilities. They approached the Bureau of the Census in order to sell the idea of a large-scale electronic digital computer as an efficient tool for census work. For this end Mauchly and Eckert studied census data processing, and probably magnetic tape was a significant sales argument. In the summer of 1945, the EDVAC design applied magnetic tape or wire for input and output.

However, it was not simple to accommodate commercial production at a nonprofit university, such as University of Pennsylvania. In the spring of 1946, Eckert and Mauchly resigned from Moore School because they wanted to exploit the commercial opportunities of building computers.

The ENIAC and EDVAC projects had been classified because of World War II. The end of hostilities facilitated declassification, which enabled Eckert and Mauchly to use their expertise for business. In addition, war-funding disappeared and public funding would again have to be based upon Congressional appropriations. The new funding structure was probably a major reason that Eckert and Mauchly since December 1945 worked to attain a contract to build a computer for the Bureau of the Census. By the spring of 1946, the Census Bureau was definitely interested in Mauchly's proposal.

At their resignation from University of Pennsylvania in March 1946, the possible census contact was the only contract, which they found was at hand. They started to work for establishing a company to develop a multi-purpose rapid computing machine. Though they only were negotiating a contract with the Bureau of the Census, they optimistically envisioned many business opportunities in scientific computations, bookkeeping, and record management. They cited scientific calculations at universities, government agencies, and industries, bookkeeping in large companies, particularly insurance and railroad, and record management in insurance companies and libraries. This was a revolutionary new way to see computers compared to ENIAC and EDVAC.

However, the end of World War II caused a fundamental change in public funding of projects. During the war, funds were amble for war-related projects like ENIAC and the EDVAC pre-project and the trust needed for funding was accomplished quite informally, when the project was located at a well-estimated institution like the Moore School. Now, peacetime appropriation made it essential for a public organization to establish the trust needed to award a project to an organization. Was the project feasible? Was the price reasonable? Did the organization have the technological and financial capabilities needed to complete the contract in due time? It was not simple answering these questions for funding a project with Eckert and Mauchly of building a computer for the Census Bureau. They had substantial technological expertise; however, did it suffice to build a revolutionary new device? Moreover, Eckert and Mauchly's business was not yet incorporated and had little assets. It was essential to find a way to establish the needed trust, which required assessment by experts, public or private, acting as intermediaries between the Census Bureau and Eckert and Mauchly. The National Bureau of Standards rose to become the intermediary for civilian and military government computer projects.

By June of 1946, the National Bureau of Standards had decided to award a study contract to Eckert and Mauchly. The two inventors then formed a partnership, but the study contract only became effective in October 1946. Originally, they anticipated that the research and study phase would last six months. They expected to complete the design phase within the next six months. This schedule proved to be overly optimistic. The research and study phase itself lasted a full year. Moreover, it was not until June 1948, that they signed the actual design contract.

The Census Bureau was prepared to spend $300,000 on the Eckert-Mauchly computer, of which $55,400 went to the National Bureau of Standards for services as the intermediary. In June 1946, Eckert and Mauchly's had estimated the development cost at $400,000. Anyhow, despite their limited assets, the two men were willing to absorb the anticipated loss, because they believed that if they were successful, additional machines could be sold to both government and industry at substantial profits.

The Census Bureau needed a different computer than the sophisticated calculator, which was the objective of building ENIAC and EDVAC. Census processing required facilities for producing double entry tables and it took advantage of the plan to use magnetic tape in the EDVAC project. It needed fast and reliable sorting, which Eckert and Mauchly suggested could be achieved through transmission of data between two magnet tapes operating at separate stations. This made construction of tape stations and fast exchange of data between tape and the computer a key element of the Census Bureau contract. The computer was changing from a fast calculator into a smart punched card machine. This transformation was more complicated and time consuming than Eckert and Mauchly anticipated.

The situation of late assignment of government contracts, which were smaller than expected, and more work in designing and building the computer than anticipated made Eckert and Mauchly open for approaches for additional contracts from A. C. Nielsen Company, and Prudential Insurance Company.

The A. C. Nielsen Company was founded in 1923 in Chicago, Illinois, by Arthur C. Nielsen, Sr., in order to give marketers reliable statistics on impact of marketing and sales programs. In the mid-1940s, A. C. Nielsen Company used large punched card installations to process the data for their market statistics. Nielsen was interested in investing in new development, even in a small company, despite the obvious risk and started negotiations with Eckert and Mauchly in December 1946.

In January 1947, Eckert and Mauchly offered to sell A. C. Nielsen Company a computer system equipped with a key-to-tape recorder and a printer, all units to be completed within a year. This implied changing the basis for Nielsen's data processing from punched cards to magnetic tape, which they accepted. But A. C.

Nielsen Company was reluctant to sign a purchase agreement with Eckert and Mauchly's company because of its precarious financial position. Nielsen wanted Eckert and Mauchly to develop their equipment and gain more business in order to establish the trust, which it needed for awarding a contract for a computer system.

Over the next year, Eckert and Mauchly reshaped their computer system and particularly its peripherals based upon their discussions with Prudential Insurance Company. The A. C. Nielsen Company only needed a computer similar to that already promised to the Bureau of the Census. In April 1948, Nielsen signed a contract for a computer system with several peripherals. The system included one computer, six tape units, six key-to-tape units, and one printer.

Simultaneously with the negotiations with A. C. Nielsen Company, Eckert and Mauchly negotiated with Prudential Insurance Company of Newark, New Jersey. The negotiations with Prudential made Eckert and Mauchly extend the scope of their computer project to encompass alphanumeric data processing, because the Eckert Mauchly Company realized that Prudential demanded equipment for premium billing, mortality studies, and group insurance. Premium billing presupposed letters and numbers.

Prudential's data processing was based on IBM equipment since the 1920s. Therefore, it viewed the Eckert and Mauchly's use of magnetic tape for input and output with concern. Although the concept seemed attractive, there yet was no working model to prove its feasibility, and the use of tapes in place of cards would mean that Prudential's entire data processing operation would need conversion to tape. Eckert and Mauchly convinced Prudential that their computer system was feasible and a superior alternative to its current IBM punch-card systems, which caused two concerns at Prudential. Eckert and Mauchly's uncertain financial position was a serious obstacle. Prudential was unwilling to sign a large contract with a small company that had serious financial problems, particularly when sizable investment was required to complete the contract. This was the case, because Eckert and Mauchly had not yet accomplished designing the statistics computer for the contracts with the Bureau of the Census and A. C. Nielsen Company, and Prudential's alphanumeric requirements would imply additional research and development as well as production expenses.

While Prudential was not willing to contract for a machine, it signed an agreement with Eckert and Mauchly, in August 1947, where it funded development of the computer system in return for an option to buy one later. If the option was exercised, the money provided for development would be applied to the purchase. The agreement promised to complete the design and several prototypes of several key elements of the computer system by the end of 1947. Once more Eckert and Mauchly were overly optimistic in their time estimate. By the end of 1947, they had no yet completed the prototype, and Prudential could have insisted that half its funds be returned. Instead, it agreed to amend the contract several times to allow Eckert and Mauchly's company more time to fulfill its obligations. Prudential extended the deadlines because it was impressed with the progress being made and the development contract made it dependent on Eckert and Mauchly. In the end, Prudential signed a contract in December 1948 for building a computer system. The contract called for one card-to-tape converter and two tape-to-card converters, devices that would allow Prudential to retain its punch-card data processing systems. This was essential for Eckert and Mauchly extending their market to encompass non-numeric data processing, for example, in insurance companies. The Prudential contract described Eckert and Mauchly's complete computer system, which they had named UNIVAC a year earlier, Universal Automatic Computer. It had a central computer, tape drives, alphanumeric key-to-tape encoders, and line printers. In order to answer demand, Eckert and Mauchly had developed their original ENIAC and EDVAC number cruncher design into an alphanumeric design for data processing to succeed extensive punched card business.

Establishing Business of Computers

Eckert and Mauchly left the Moore School of University of Pennsylvania in March 1946, because they saw bright possibilities of computer business and they founded a partnership as the basis for their work. They focused on developing a computer and attaining computer-building contracts through 1946 and 1947, and Mauchly travelled extensively to win over customers. In this period, they established contacts with A. C. Nielsen Company and Prudential Insurance Company, which contracted for computers in 1948. In addition, the records show that Mauchly had contacts to about twenty additional private and public organizations prospects in 1946-1947, which did not produce contracts.

Eckert and Mauchly only incorporated their business in December 1947 and it was named Eckert-Mauchly Computer Corporation. Though the company attained several substantial contracts in 1948, its financial problems became more severe during that year. Since the start of the year, Mauchly worked hard to attack additional customers based upon a strategy to produce the company out of its crisis. The company was desperate to securing adequate capital to assure the government and private companies that they could complete contracts that they would make, and the company failed to raise substantial new capital by issuing additional stocks in April 1948.

However, in the summer of 1948, new capital came from American Totalistor Company of Baltimore. John Straus, its vice president, saw possibilities of computers applied as totalisators. He convinced his company to invest $500,000 in in return for 40 percent of the voting common stock of Eckert-Mauchly Computer Corporation. American Totalisator's support kept Eckert and Mauchly's company floating for fourteen months, during which development on UNIVAC continued. In October 1949, Eckert and Mauchly's company received an additional $100,000 from American Totalisator. Anyway, the company's problems were not yet solved. Nine days later, Henry Straus was killed when his small airplane crashed. Straus had been the prime force behind Totalisator's support and his death terminated the flow of funds from this company.

As a direct result of Straus's death, Eckert and Mauchly spent the remaining months of 1949 seeking financing from loan companies and research foundations. Finally, they sought to sell their corporation to a major manufacturer. They approached producers of calculating equipment, such as Burroughs, IBM, National Cash Register, and Remington Rand. Subsequently, they approached major industrial producers, such as General Motors.

Remington Rand was first to act, and on 1 February 1950, it purchased all the shares of the Eckert-Mauchly Computer Corporation. It became a subsidiary of Remington Rand and functioned as a separate division. It delivered the first UNIVAC computer to the Bureau of the Census in March 1931. By October 1954, Remington Rand had delivered twelve UNIVACs and had orders for four more.

Mess of Making Business of a Revolutionary New Technology

I started the paper by citing John W. Mauchly's reminiscence, in 1973, of the shaping of what became the UNIVAC computer. He admitted that the shaping process was protracted, which he explained by observing, "…it always takes a long time to change people's minds, and it takes even longer for us to change an institution."

He was correct that institutions -which he conceptualized as private and public organizations -had to change, but this only occurred once computers were installed. In the late 1940s, the organizational change of customer to demand computers had short duration compared to the at least five years, which Eckert and Mauchly spent in designing and building the first large computer. In contrast, Mauchly persuaded the Census Bureau in five months to order a computer system, A. C. Nielsen Company used between two and three months to reach a decision, and Prudential Insurance Company reached their decision in less than a year. However, it took much more time to establish the trust needed for these organizations to sign contracts. They were uncertain of Eckert and Mauchly's company's financial capability, and they did not want to be dependent on technology which perhaps never would materialize.

The demand for reduction of uncertainty and dependency gave room for the National Bureau of Standards to establish itself as the national computer intermediary facilitating civilian and military contracts.

Further, Mauchly underestimated the extent of developing a revolutionary new technology twenty-five years after it took place, as he and Eckert did while they explored the new technology between 1943 and 1951. Before starting computer production, they had to establish company standards for designing and building completely new technology, based upon many components with reliability problems. Through this process, the scope of their computer's planned applications grew from the original number cruncher (ENIAC and EDVAC), to the numerical statistics calculator for the Census Bureau and A. C. Nielsen Company, and to the alphanumeric data processing machine for Prudential Insurance, which was named UNIVAC. Each extension of applications added a new element of uncertainty to the project. However, Eckert and Mauchly rejected an enquiry in 1946 of developing their computer for totalisator applications, which illustrates that they did not pick all requests. Their choices of customers remained within the scope they envisioned in the spring of 1946 and gradually expanded their business opportunities.

At each expansion, Eckert and Mauchly accepted new uncertainty, because they depend on one more customer to fill their company's extensive need for funds to complete their previous assignment. Their perpetual search for new customers, made Mauchly commit extensive time to locate and persuade new customers. Often, Eckert, who should have committed all his time to complete their technical project, accompanied him. The records of Eckert and Mauchly's company provide a hectic picture of searches for funding that took time and delayed the project. Already in the summer of 1947, they had also to borrow money from Prudential Insurance to be able to keep their computer development project floating. In 1948, they received substantial capital from American Totalisator. However, only access to the large financial resources of the Remington Rand conglomerate, in 1950, facilitated completion and production of UNIVAC computers.

Eckert and Mauchly's first large computer and their business were shaped through dependency on a series of customers for expertise on future use of computers and funds for innovating computers. At first glance, the technical development process and the search for additional customers may seem chaotic, and, certainly, they held many chaotic elements. However, Mauchly was correct in 1973 to claim that he and Eckert all the way went for a general objective, which they accomplished though in Remington Rand, a different business context than they originally anticipated.