alto at parc in 1970s
TRANSCRIPT
8/13/2019 Alto At PARC In 1970s
http://slidepdf.com/reader/full/alto-at-parc-in-1970s 1/47
10/17/06 Alto Personal Distributed Computing 1
The Alto and Ethernet SystemXerox PARC in the 1970’s
Butler LampsonMicrosoft ResearchOctober 17, 2006
8/13/2019 Alto At PARC In 1970s
http://slidepdf.com/reader/full/alto-at-parc-in-1970s 2/47
10/17/06 Alto Personal Distributed Computing 2
Influences —―On the shoulders of giants‖
ARPA communityMan-computer symbiosis — LickliderTime-sharing: CTSS, SDS 940, TenexEngelbart’s On -Line SystemFlex machine — KayArpanetAloha packet radio network
Xerox —―Office of the future‖ The electronic office
8/13/2019 Alto At PARC In 1970s
http://slidepdf.com/reader/full/alto-at-parc-in-1970s 3/47
8/13/2019 Alto At PARC In 1970s
http://slidepdf.com/reader/full/alto-at-parc-in-1970s 4/47
10/17/06 Alto Personal Distributed Computing 4
Organization
CSLHardware: Alto, EthernetOS, Languages (BCPL, Mesa, Lisp)Printing, file servers
NetworkingBravo ( →Word ), Draw ( →Illustrator ), fontsGrapevine (email transport, server)Laurel (email client)
SSLPrinting, file serversSmalltalkGypsy ( →Word )Markup ( →Paint)
8/13/2019 Alto At PARC In 1970s
http://slidepdf.com/reader/full/alto-at-parc-in-1970s 5/47
10/17/06 Alto Personal Distributed Computing 5
Timeline
1960s Time-sharing, Sketchpad, NLS1970s Xerox PARC
Alto, Ethernet, laser printersBravo, Draw, Pup, Smalltalk
Altair, Apple IIInternet
1980s81 Xerox Star, IBM PC84 Macintosh, Laserwriter, MS Word/Excel
1990s Windows, Web
8/13/2019 Alto At PARC In 1970s
http://slidepdf.com/reader/full/alto-at-parc-in-1970s 6/47
10/17/06 Alto Personal Distributed Computing 6
Themes
But a man’s reach should exceed his grasp, orwhat’s a heaven for? — BrowningComputers can be used as tools to help peoplethink and communicate
LickliderARPA time-sharing and networkingEngelbart and NLSAlan Kay and Flex
Xerox: Office of the FutureHow do we grow after copiers?
8/13/2019 Alto At PARC In 1970s
http://slidepdf.com/reader/full/alto-at-parc-in-1970s 7/4710/17/06 Alto Personal Distributed Computing 7
Personal Distributed Computing
Personal Under the control of a person and serves his needs.Performance is predictable, and fast enough Reliable and available.
Not too hard to useDistributedEverything in the real world is distributedThe computer is a communication devicePersonal + communication = distributed
Need to share expensive devices too, esp. printersComputing
We programmed, but users didn’t
8/13/2019 Alto At PARC In 1970s
http://slidepdf.com/reader/full/alto-at-parc-in-1970s 8/4710/17/06 Alto Personal Distributed Computing 8
Information Convenient For A Person
UniversalAny (black-and-white) image, data, any software▬ Words, pictures, music, ...Specialize with software
Ink on paperPresent imagesPoint at places in the image
The Alto can do this quite wellFor a single 8.5" x 11" sheet of paperWith black ink
No restrictions on the form of the imagesCannot read images
Voice and other sounds.Later, less important
8/13/2019 Alto At PARC In 1970s
http://slidepdf.com/reader/full/alto-at-parc-in-1970s 9/4710/17/06 Alto Personal Distributed Computing 9
Principles
―Time machine‖— simulate the futureUse what you build
Good for text, pictures, printing, sound, emailBad for spreadsheets, databases
Personal machine―People are fast, machines are slow‖ Performance is predictable
No grand plan for the system: integration Not enough experience, cycles or memoryOpen OS, world-swapException: Smalltalk
8/13/2019 Alto At PARC In 1970s
http://slidepdf.com/reader/full/alto-at-parc-in-1970s 10/4710/17/06 Alto Personal Distributed Computing 10
Alto Hardware
0.3 MIPS128 KB RAM 2.5 MB disk
3 Mbit Ethernetfor 50 Altos
600x800 x l display
$12,000 to make
8/13/2019 Alto At PARC In 1970s
http://slidepdf.com/reader/full/alto-at-parc-in-1970s 11/4710/17/06 Alto Personal Distributed Computing 11
Alto Block Diagram
uCode
I/O
RAM
Compute
Registers
8/13/2019 Alto At PARC In 1970s
http://slidepdf.com/reader/full/alto-at-parc-in-1970s 12/4710/17/06 Alto Personal Distributed Computing 12
Hardware
Moore’s law: live in the future if you can Price X CPU RAM Disk Net
Alto MIPS MB MB MB/s
1974: Alto $40k 1 0.3 0.1 2.5 .05
1984: Mac $3k 1 1 0.5 1.5 .03
1995: PC $3k 100 50 16 300 .1
2006: PC $1k 10000 2000 1000 300G 100
8/13/2019 Alto At PARC In 1970s
http://slidepdf.com/reader/full/alto-at-parc-in-1970s 13/4710/17/06 Alto Personal Distributed Computing 13
Hardware Comparison
Item Alto,1973
Desktop PC2006
Factor
CPU clock 6 MHz 3 GHz 500
RAM size 128 KB 1 GB 8000
RAM access 850 ns 100 ns 8.5
Display pixels 606 x 808 x 1 1600 x 1200 x 32 4 (pixels)128 (bits)
Network 3 Mb Ethernet 1 Gb Ethernet 300
Disk capacity 2.5/5 MB 250 GB 100KCost $12,000 to make $1,000 to buy 12
8/13/2019 Alto At PARC In 1970s
http://slidepdf.com/reader/full/alto-at-parc-in-1970s 14/4710/17/06 Alto Personal Distributed Computing 14
Key Ideas For Hardware
KISSHad to be cheap enough to build lots of them
Bitmap displayDisplay anything – like paper
Programmable at all levelsCould change the instruction set and add newoperations easily
Flexible and powerful input-outputEthernet and Laser Printer controllers were add-insDistributed system
Connect many systems together with Ethernet
8/13/2019 Alto At PARC In 1970s
http://slidepdf.com/reader/full/alto-at-parc-in-1970s 15/4710/17/06 Alto Personal Distributed Computing 15
Alto In Use
8/13/2019 Alto At PARC In 1970s
http://slidepdf.com/reader/full/alto-at-parc-in-1970s 16/4710/17/06 Alto Personal Distributed Computing 16
Alto Awaiting Restoration
8/13/2019 Alto At PARC In 1970s
http://slidepdf.com/reader/full/alto-at-parc-in-1970s 17/47
8/13/2019 Alto At PARC In 1970s
http://slidepdf.com/reader/full/alto-at-parc-in-1970s 18/47
10/17/06 Alto Personal Distributed Computing 18
Laser Printers
Marriage of Xerography and ComputingEARS was the first (1974) print server
E thernetA ltoR esearch Character GeneratorS canning Laser Output Terminal
1 copy/second, 500 dots/inch
Lower-cost and color versions developed laterDover: 300 dpi, small Alto interface. 100 copies
Xerox understood it, built a successful business
8/13/2019 Alto At PARC In 1970s
http://slidepdf.com/reader/full/alto-at-parc-in-1970s 19/47
10/17/06 Alto Personal Distributed Computing 19
SLOT Printer, 1972
8/13/2019 Alto At PARC In 1970s
http://slidepdf.com/reader/full/alto-at-parc-in-1970s 20/47
10/17/06 Alto Personal Distributed Computing 20
The software
ProgrammingServersUser interface
Applications
Software is ―thought -stuff‖
8/13/2019 Alto At PARC In 1970s
http://slidepdf.com/reader/full/alto-at-parc-in-1970s 21/47
10/17/06 Alto Personal Distributed Computing 21
Programming: OS, languages
Main problem: live with.1 MIPS, 128 KB RAM, 5 MB disk
OS: files, programs, network, command line
Open : get rid of any parts you don’t need World-swap to change environments
Languages
BCPL: father of CMesaSmalltalk
8/13/2019 Alto At PARC In 1970s
http://slidepdf.com/reader/full/alto-at-parc-in-1970s 22/47
10/17/06 Alto Personal Distributed Computing 22
Servers
Network: Ethernet and PupFirst internet: Ethernet, Arpanet, phone lines, ...
Printing3 generations of laser printer hardware
3 generations of imagers: Ears, Press, InterpressFiles
―Interim‖ file system Research file systems
EmailTenex Arpanet emailGrapevine distributed naming and email
8/13/2019 Alto At PARC In 1970s
http://slidepdf.com/reader/full/alto-at-parc-in-1970s 23/47
10/17/06 Alto Personal Distributed Computing 23
User interfaces
WindowsSmalltalk pioneered overlapping windowsOther software used tiled windows
8/13/2019 Alto At PARC In 1970s
http://slidepdf.com/reader/full/alto-at-parc-in-1970s 24/47
10/17/06 Alto Personal Distributed Computing 24
Smalltalk
Complete systemOO languageIntegrated edit/debugWindows
BitBlt
8/13/2019 Alto At PARC In 1970s
http://slidepdf.com/reader/full/alto-at-parc-in-1970s 25/47
8/13/2019 Alto At PARC In 1970s
http://slidepdf.com/reader/full/alto-at-parc-in-1970s 26/47
10/17/06 Alto Personal Distributed Computing 26
User interfaces
WindowsSmalltalk pioneered overlapping windowsOther software used tiled windows
Views — compute what you seeSmalltalk browserBravo multiple document viewsLaurel email folders
8/13/2019 Alto At PARC In 1970s
http://slidepdf.com/reader/full/alto-at-parc-in-1970s 27/47
10/17/06 Alto Personal Distributed Computing 27
8/13/2019 Alto At PARC In 1970s
http://slidepdf.com/reader/full/alto-at-parc-in-1970s 28/47
10/17/06 Alto Personal Distributed Computing 28
? 1 Apr. 27 LaurelSupport TO START YOUR TUTORIAL SESSION:Point cursor at ―Display‖ and click the leftmouse button
? 2 Apr. 27 LaurelSupport Displaying a selected message? 3 Apr. 27 LaurelSupport Message number 3 in Tutorial.mail? 4 Apr. 27 LaurelSupport "Delete" and "Undelete"? 5 Apr. 27 LaurelSupport Movable boundaries? 6 Apr. 27 LaurelSupport Thumbing? 7 Apr. 27 LaurelSupport "New mail"? 8 Apr. 27 LaurelSupport "Hardcopy"? 9 Apr. 27 LaurelSupport Composing messages? 10 Apr. 27 LaurelSupport Recipient names
Laurel 6 Friday May 1, 1981 11:07 am PDTLogin please. 891 free disk pagesUser {LaurelSupport.PA } New Mail Mail File { Tutorial } Quit
Laurel Email Header Pane
8/13/2019 Alto At PARC In 1970s
http://slidepdf.com/reader/full/alto-at-parc-in-1970s 29/47
10/17/06 Alto Personal Distributed Computing 29
Laurel/Grapevine
Distributed email systemMultiple servers
Names, mailboxesEventual consistency
3-pane windowHeadersMessage inMessage out
? 1 Apr. 27 LaurelSupport TO START YOUR TUTORIAL SESSION:Point cursor at ―Display‖ and click the leftmouse button
? 2 Apr. 27 LaurelSupport Displaying a selected message ? 3 Apr. 27 LaurelSupport Message number 3 in Tutorial .mail ? 4 Apr. 27 LaurelSupport "Delete" and "Undelete" ? 5 Apr. 27 LaurelSupport Movable boundaries ? 6 Apr. 27 LaurelSupport Thumbing ? 7 Apr. 27 LaurelSupport "New mail" ? 8 Apr. 27 LaurelSupport "Hardcopy" ? 9 Apr. 27 LaurelSupport Composing messages ? 10 Apr. 27 LaurelSupport Recipient names
Laurel 6 Friday May 1, 1981 11:07 am PDTLogin please. 891 free disk pagesUser {LaurelSupport.PA } New Mail Mail File { Tutorial } Quit
Date: 27 April 1981 10:36 am PDT (Monday)From: LaurelSupport.PASubject: TO START YOUR TUTORIAL SESSION: Point cursor at ―Display‖ and
click the left mouse buttonTo: @NewUsers
Welcome to the community of Laurel Users. Laurel is the Alto program thatserves as your mail reading, composition and filing interface to the DistributedMessage System. Since you are reading this message, you have already learned to
se the "Display" command.While reading a message in this middle region you have the ability to scroll up anddown as in Bravo, using the double-headed arrow cursor in the left margin. You
may also notice that it you hold down the left or right mouse button in the scrollarea, then continuous scrolling is performed. If the words End of Message initalics are not visible, then there is more message to be seen, and you should scroll p to see more.
When Laurel started up, it read in this mail file named Tutorial.mail. An index
New form Answer Forward Get Put Copy Run
Subject: ? Topic?To: ? Recipients?cc: ? CopiedTo? , LaurelSupport
? Message?
End of Message
Display Delete Undelete Move to { } Hardcopy
8/13/2019 Alto At PARC In 1970s
http://slidepdf.com/reader/full/alto-at-parc-in-1970s 30/47
10/17/06 Alto Personal Distributed Computing 30
User interfaces
WindowsSmalltalk pioneered overlapping windowsOther software used tiled windows
Views — compute what you seeSmalltalk browserBravo multiple document viewsLaurel email folders
MenusMarkup had pop-up menusSmalltalk had the first icons
8/13/2019 Alto At PARC In 1970s
http://slidepdf.com/reader/full/alto-at-parc-in-1970s 31/47
8/13/2019 Alto At PARC In 1970s
http://slidepdf.com/reader/full/alto-at-parc-in-1970s 32/47
10/17/06 Alto Personal Distributed Computing 32
User interfaces: Displaying things
ImagesBit-maps (as in Paint and Photoshop)Object graphics (as in MacDraw and Illustrator)
FontsSpline outlines for scalable fontsScreen versions hand-drawn — hinting much later
BitBltComputing with rectangular bitmaps
8/13/2019 Alto At PARC In 1970s
http://slidepdf.com/reader/full/alto-at-parc-in-1970s 33/47
10/17/06 Alto Personal Distributed Computing 33
Markup
Pure bit-map editingArbitrary imagesLow resolution
Popup menu
8/13/2019 Alto At PARC In 1970s
http://slidepdf.com/reader/full/alto-at-parc-in-1970s 34/47
8/13/2019 Alto At PARC In 1970s
http://slidepdf.com/reader/full/alto-at-parc-in-1970s 35/47
10/17/06 Alto Personal Distributed Computing 35
SIL for Logic Drawings
8/13/2019 Alto At PARC In 1970s
http://slidepdf.com/reader/full/alto-at-parc-in-1970s 36/47
A li i
8/13/2019 Alto At PARC In 1970s
http://slidepdf.com/reader/full/alto-at-parc-in-1970s 37/47
10/17/06 Alto Personal Distributed Computing 37
Applications
Writing: Bravo Microsoft WordDrawing
Markup Paint programsDraw MacDraw, Illustrator, Powerpoint, etc.Sil CAD programs
Email: Laurel mh, Eudora, Outlook, etc.
h h l l k
8/13/2019 Alto At PARC In 1970s
http://slidepdf.com/reader/full/alto-at-parc-in-1970s 38/47
10/17/06 Alto Personal Distributed Computing 38
What the Alto system was like
Just like today’s personal computing world Writing, drawing, music, networks, printing, email
ExceptThe Web, search enginesSpreadsheetsIntegrationSpeed
8/13/2019 Alto At PARC In 1970s
http://slidepdf.com/reader/full/alto-at-parc-in-1970s 39/47
10/17/06 Alto Personal Distributed Computing 39
Boca Raton — 1976
Big show-and-tell for Xerox execsLots of AltosEthernetLaser printersThe apps you’ve seen
Goal: Get Xerox to make productsResult: Systems Development Division
Star office systemLimited sales of Alto office systems▬ E.g., to White House
Wh X did i h h Al
8/13/2019 Alto At PARC In 1970s
http://slidepdf.com/reader/full/alto-at-parc-in-1970s 40/47
10/17/06 Alto Personal Distributed Computing 40
What Xerox did with the Alto
Electronic printing — many billions of dollarsXerox Star — Office systemFumbled the future?
Yes, but the real story is more interesting
―It’s easier to get a venture capitalist to give youmoney than to persuade the management of a large,
successful company to try something new.‖ — Gordon Moore
X P d P i i
8/13/2019 Alto At PARC In 1970s
http://slidepdf.com/reader/full/alto-at-parc-in-1970s 41/47
10/17/06 Alto Personal Distributed Computing 41
Xerox Products: Printing
9700 — 2 pages/sec computer printer
Based on Xerox 9200 copier▬ Hence sheet fed, good paper handling▬ Hence blue laser
―Character generator‖ based onPARC RCGCompetition: IBM laser printer▬ Fan-fold paper
Low end printersFirst for Star — 8000 print serverLater OEMed, but too expensive
Interpress — ancestor of Postscript
Xerox Products: Star Office System
8/13/2019 Alto At PARC In 1970s
http://slidepdf.com/reader/full/alto-at-parc-in-1970s 42/47
10/17/06 Alto Personal Distributed Computing 42
Xerox Products: Star Office System
Star, shipped 1981 (same as IBM PC)Ran on Dandelion processor
Built on Mesa and PilotReliable, somewhat slow
Highly integrated
Editing, spreadsheet, filing, printingBest office system for at least 10 years
Roughly = 1995 MS Windows /OfficeDidn’t sell— too expensive, closed▬ $20-25k/workstation in total; 25,000 sold▬ Apple Lisa in 1982 failed for the same reasons
Irony: researchers wanted a muchsimpler product
Wh W W ?
8/13/2019 Alto At PARC In 1970s
http://slidepdf.com/reader/full/alto-at-parc-in-1970s 43/47
10/17/06 Alto Personal Distributed Computing 43
What Went Wrong?
PrintingXerox focus on high end copiers and printers▬ ―No money in low end‖
Target existing markets: computer printing▬ Office printing ignored. Apple, HP won this in 1985
Star Office SystemEngineers had a vision, and achieved it▬ A wonderful system: 10 years ahead of its time▬ Too expensive, inflexible
Overwhelmed by IBM PC waveResearchers pushed for something more like Alto
Wh O h Did i h h Al
8/13/2019 Alto At PARC In 1970s
http://slidepdf.com/reader/full/alto-at-parc-in-1970s 44/47
10/17/06 Alto Personal Distributed Computing 44
What Others Did with the Alto
Ethernet Xerox-DEC-Intel
Laser printing, Postscript Adobe, Canon, HP
Lisa, Macintosh Apple
Windows, Word Microsoft
Workstations Apollo, Sun, Lisp machines
Networking Internet, Novell
File and print servers Novell
8/13/2019 Alto At PARC In 1970s
http://slidepdf.com/reader/full/alto-at-parc-in-1970s 45/47
T d
8/13/2019 Alto At PARC In 1970s
http://slidepdf.com/reader/full/alto-at-parc-in-1970s 46/47
10/17/06 Alto Personal Distributed Computing 46
Today
Today’s PC is about 10,000 X an Alto Where did all the resources go?
Visual fidelity and eleganceIntegration
Backward compatibilityScale — books, not just memosTime to market
Response timeDid we foresee it?
Of course: Moore’s law.
T
8/13/2019 Alto At PARC In 1970s
http://slidepdf.com/reader/full/alto-at-parc-in-1970s 47/47
Tomorrow
―The best way to predict the future is to invent it.‖ Are computers boring now? Hardly!Computers are good for three things:
1955: Simulation1980: Communication2005: Embodiment — interact with the physical world
The best is yet to come — see research.microsoft.com/gray
RobotsComputers that see, hear, talk, understandInformation at your fingertips