The Andrew Project was a distributed computing environment developed at Carnegie Mellon University (CMU) beginning in 1982. It was an ambitious project for its time and resulted in an unprecedentedly vast and accessible university computing infrastructure.
The Information Technology Center, a partnership of Carnegie Mellon and IBM, began work on the Andrew Project in 1982. In its initial phase, the project involved both software and hardware, including wiring the campus for data and developing workstations to be distributed to students and faculty at CMU and elsewhere. The proposed "3M computer" workstations included a million pixel display and a megabyte of memory, running at a million instructions per second. Unfortunately, a cost in the order of a US$10,000 made the computers beyond the reach of students' budgets. The initial hardware deployment in 1985 established a number of university-owned "clusters" of public workstations in various academic buildings and dormitories. The campus was fully wired and ready for the eventual availability of inexpensive personal computers.
Early development within the Information Technology Center, originally called VICE (Vast Integrated Computing Environment) and VIRTUE (Virtue Is Reached Through Unix and Emacs), focused on centralized tools, such as a file server, and workstation tools including a window manager, editor, email, and file system client code.
Initially the system was prototyped on Sun Microsystems machines, and then to IBM RT PC series computers running a special IBM Academic Operating System. People involved in the project included James H. Morris, Nathaniel Borenstein, James Gosling, and David S. H. Rosenthal.
The project was extended several times after 1985 in order to complete the software, and was renamed "Andrew" for Andrew Carnegie and Andrew Mellon, the founders of the institutions that eventually became Carnegie Mellon University. Mostly rewritten as a result of experience from early deployments, Andrew had four major software components:
- The Andrew Toolkit (ATK), a set of tools that allows users to create and distribute documents containing a variety of formatted and embedded objects,
- The Andrew Messaging System (AMS), an email and bulletin board system based on ATK, and
- The Andrew File System (AFS), a distributed file system emphasizing scalability for an academic and research environment.
- The Andrew Window Manager (WM), a tiled (non-overlapping windows) window system which allowed remote display of windows on a workstation display. It was one of the first network-oriented window managers to run on Unix as a graphical display. As part of the CMU's partnership with IBM, IBM retained the licensing rights to WM. WM was meant to be licensed under reasonable terms, which CMU thought would resemble a relatively cheap UNIX license, while IBM sought a more lucrative licensing scheme. WM was later replaced by X11 from MIT. Its developers, Gosling and Rosenthal, would next develop the NeWS (Network extensible Window System).
The Andrew User Interface System
After IBM's funding ended, Andrew continued as an open source project named the Andrew User Interface System. AUIS is a set of tools that allows users to create and distribute documents containing a variety of formatted and embedded objects. It is an open-source project run at the Department of Computer Science at CMU. The Andrew Consortium governs and maintains the development and distribution of the Andrew User Interface System.
The Andrew User Interface System encompasses three primary components. The Andrew User Environment (AUE) contains the main editor, help system, user interface, and tools for rendering multimedia and embedded objects. The Andrew Toolkit (ATK) contains all of the formattable and embeddable objects, and allows a method for developers to design their own objects. ATK allows for multi-level object embedding, in which objects can be embedded in one another. For example, a raster image object can be embedded into a spreadsheet object. The Andrew Message System (AMS) provides a mail and bulletin board access, which allows the user to send, receive, and organize mail as well as post and read from message boards.
As of version 6.3, the following were components of AUIS:
- Word processor (EZ)
- Drawing Editor (Figure)
- Mail and News Reader (Messages)
- Mail and News Sender (SendMessage)
- Font Editor (BDFfont)
- Documentation Browser (Help)
- Directory Browser (Bush)
- Schedule Maintainer (Chump)
- Shell Interface/Terminal (Console, TypeScript)
- AUIS Application Menu (Launch)
- Standard Output Viewer (PipeScript)
- Preferences Editor (PrefEd)
Graphical and Interactive Editors
- Equation Insert (EQ)
- Animation Editor (Fad)
- Drawing Editor (Figure)
- Insert Layout Insert (Layout)
- Display Two Adjacent Inserts (LSet)
- Extension and String Processing Language (Ness)
- Display and Edit Hierarchies (Org)
- Page Flipper (Page)
- Monochrome BMP Image Editor (Raster)
- Spreadsheet Insert (Table)
- Text, Document, and Program Editor (Text)
- CMU's overview of the history of the Andrew Project Archived July 17, 2012, at the Wayback Machine
- CMU's detailed history of the Andrew Project Archived September 9, 2011, at the Wayback Machine
- N. S. Borenstein (December 1996). "CMU's Andrew project: a retrospective". Communications of the ACM. 39 (12): 298–es. doi:10.1145/272682.272717.
- Borenstein, Nathaniel S. (1991). Programming as if people mattered : friendly programs, software engineering, and other noble delusions (4 print. ed.). Princeton, N.J.: Princeton University Press. pp. 55–56. ISBN 9780691087528.
- James Gosling; David S. H. Rosenthal; Michelle J. Arden (1989). The NeWS Book. Springer Verlag. pp. 34–36. ISBN 978-0-387-96915-2.
- Fred Hansen. "Welcome to the Andrew Consortium". Retrieved May 3, 2011.
- Morris, J.H., Van Houweling, D., & Slack, K., The Information Technology Center Carnegie Mellon Technical Report CMU-ITC-025, 1983.
- Morris, J.H.; Satyanarayanan, M.; Conner, M.H.; Howard, J.H.; Rosenthal, D.S.H. & Smith, F.D. (March 1986). "Andrew, a Distributed Computing Environment". Communications of the ACM. 29 (3): 184–201. doi:10.1145/5666.5671. ISSN 0001-0782.
- The Andrew Project - CMU's site chronicling the history of the project and the people involved.