Historical Paradigms in Digital Media
Canadian Centre for Studies in Publishing
Simon Fraser University
October 4, 1957
US Department of Defense
Advanced Research Projects Agency
1959 - 1973 (after which it became DARPA)
First director of ARPA Information Processing Techniques Office
From early '60s, pursued a vision of "man-computer symbiosis" - very different from the prevailing Artificial Intelligence work of the time.
- improving communication
- distributed resources
- responsiveness, computer waiting for user and vice-versa
time-sharing systems (MIT)
interactive computer graphics (Sutherland, Utah)
collaborative work environments (Engelbart, SRI)
networks -> ARPANET (1969)
End of the 1960s
ARPA gets a new military mandate
Multics (time-sharing project) goes awry...
East coast: Unix at AT&T Bell Labs
West coast: Personal computing at Xerox PARC
AT&T Bell Labs were part of the Multics time-sharing project, along with General Electric and MIT. Project was getting stale and behind schedule. AT&T bailed out in 1969.
Programmers were at loose ends, irritated at reverting to older technology.
Ken Thompson and Dennis Ritchie wanted to play Spacewar. They had an old PDP7, sitting unused...
Unix had all the best parts of Multics, avoided the pitfalls, and was much simpler, being a quick job by two guys rather than a consortium.
"...an explicit notion of a process as a locus of control, a tree-structured file system, a command interpreter as a user-level program, simple representation of text files, and generalized access to devices."- Dennis Ritchie
"A complex system that works is invariably found to have evolved from a simple system that worked. The inverse proposition also appears to be true: A complex system designed from scratch never works and cannot be made to work. You have to start over, beginning with a working simple system." - John Gall, Systemantics
Unix at Bell Labs
Moved to a PDP11 in 1970. Rewrote it all; the C language was a result of this software maintenance/development phase.
"The kernel is the only UNIX code that cannot be substituted by a user to his own liking. For this reason, the kernel should make as few real decisions as possible." - Ken Thompson
1973, 1974 Thompson takes it to conferences, universities
U.C. Berkeley, U Toronto, Purdue U, Yale...
Popular because it ran on PDP11 and it was great for teaching... modular... open... viral...
Unix was Not for Sale
Because of anti-monopoly regulation in the USA, AT&T were forbidden from selling anything other than telephone services. So Unix leaked out of AT&T.
Proper licensing and marketing nearly killed Unix in the 1980s, because the market fragmented badly; there was no real standard anymore.
Four key developments:
- UUCP -- created a network for developers and users; 1978
- ARPANET adopted TCP/IP; Berkeley Unix implementation became defacto standard, 1983.
- Richard Stallman's GNU Project; 1984.
- Linus Torvalds: Linux kernel; 1991.
Meanwhile, in California...
In 1970, Xerox established a Research Centre in Palo Alto, and hired 100 of the leading ARPA researchers (including former director Robert Taylor)
Xerox pioneered personal computers, both in hardware and in software.
Kay's Learning Research Group saw their mandate as nothing less than a re-definition of literacy for the digital age.
They saw children as their target audience.
Kay's brainchild, Smalltalk, was the first true OOP language.
In Smalltalk, everything is an object. You can query any object in the system via Direct Manipulation, and make changes to the running code on the fly.
Smalltalk pioneered today's concept of "authoring"
Today's Environment is Heir to Both Visions
Unix underpins practically everything we do today: file systems, streams, networking, client-server architectures...
The PARC genre still defines creative software, user interface, and a good deal of development...