The Xerox Alto
The Xerox Star systems concept owes much to the Xerox Alto, an experimental workstation designed by the Xerox Palo Alto Research Center (PARC). The first Alto became operational in 1972. At first, only few Altos were built. Although by 1979 nearly 1,000 Ethernet-linked Altos were in use at Xerox and another 500 at collaborating universities and government offices, it was never intended to be a commercial product. While Xerox had started in 1977 a development project which worked to incorporate those innovations into a commercial product, their concept was an integrated document preparation system, centered around the (then expensive) laser printing technology and oriented towards large corporations and their trading partners. When that system was announced in 1981, the cost was about $75,000 ($202,000 in today's dollars) for a basic system, and $16,000 ($43,000 today) for each added workstation.
The Xerox Star development process
This section needs additional citations for verification
. (December 2007)
The Star was developed at Xerox's Systems Development Department (SDD) in El Segundo, California, which had been established in 1977 under the direction of
Don Massaro. A section of SDD, SDD North, was located in Palo Alto, California, and included some people borrowed from PARC. SDD's mission was to design the "Office of the future", a new system that would incorporate the best features of the Alto, was easy to use, and could automate many office tasks.
The development team was headed by David Liddle, and would eventually grow to more than 200 developers. A good part of the first year was taken up by meetings and planning, the result of which was an extensive and detailed functional specification, internally termed the "Red Book". This became the bible for all development tasks. It defined the interface and enforced consistency in all modules and tasks. All changes to the functional specification had to be approved by a review team which maintained standards rigorously.
One group in Palo Alto worked on the underlying operating system interface to the hardware and programming tools. Teams in El Segundo and Palo Alto collaborated on developing the user interface and user applications.
The staff relied heavily on the technologies they were working on, file sharing, print servers and e-mail. They were even connected to the Internet, then named Arpanet, which helped them communicate between El Segundo and Palo Alto.
The Star was implemented in the programming language Mesa, a direct precursor to Modula-2 and Modula-3. Mesa was not object-oriented, but tools and programming techniques were developed which allowed pseudo object-oriented design and programming. Mesa required creating two files for every module. A definition module specified data structures and procedures for each object, and one or more implementation modules contained the code for the procedures.
The Star team used a sophisticated integrated development environment (IDE), named internally Tajo and externally Xerox Development Environment (XDE). Tajo had many similarities with the Smalltalk-80 environment, but it had many added tools. For example, the version control system DF, which required programmers to check out modules before they could be changed. Any change in a module which would force changes in dependent modules were closely tracked and documented. Changes to lower level modules required various levels of approval.
The software development process was intense. It involved much prototyping and user testing. The software engineers had to develop new network communications protocols and data-encoding schemes when those used in PARC's research environment proved inadequate.
Initially, all development was done on Alto workstations. These were not well suited to the extreme burdens placed by the software. Even the processor intended for the product proved inadequate and involved a last minute hardware redesign. Many software redesigns, rewrites, and late additions had to be made, variously based on results from user testing, and marketing and systems considerations.
A Japanese language version of the system was produced in conjunction with Fuji Xerox, code named J-Star, and full support for international customers.
In the end, many features from the Star Functional Specification were not implemented. The product had to get to market, and the last several months before release focused on reliability and performance.