the macintosh project: select papers [february 1980]

Upload: matthew-keys

Post on 04-Jun-2018

217 views

Category:

Documents


0 download

TRANSCRIPT

  • 8/13/2019 The Macintosh Project: Select Papers [February 1980]

    1/155

    THE MACINTOSH PROJECTDOCUMENT 0 VERSION 11TITLE: CATALOG TO MACINTOSH DOCUM[NTSAUTHOR: JEF RASKINDATE: 28 Sep-13 Feb 80M 0.11 CATALOGA chronologically arranged annotated l i s t ing of a l l Macintoshdocuments. The very document that you are reading. If there is

    no asterisk ai te r a document t i t l e that document is ei therobsolete or is especially technical.M 1.4 INTRODUCTION AND PRELIMINARY CONVENTIONSThe conventions for documents, their dis t r ibut ion and catalogine.t 2.9 OVERVIEW OF PRELININARY AREAS OF CONCERNA l i s ~ sl ight ly a ~ n o t a t e d of the various questions that must beanswered in designing Macintosh. I t is rather comprehensive.

    3.5 THE APPLE COMPUTER NETWORKJustif ication of and preliminary thoughts on a network. An appendixl i s t s some names and addresses of networks.

    M 4. 1 THOUGHTS ON ANNIEAn old memo, from May 79, with some early thoughts on what wasto ~ c o m e the ~ ~ c i n t o s h project. ~ c c e n t r i c use of Enelish.M 5.1 PRELIMINARY COST INVESTIGATION

    A brief rundown on the cost of the major electonic and mechanicalcomponents of Macintosh. The 500 sel l ing price is shown to bea difficul t mark to reach.M 6.2 GENERAL CRITERIAAn expansion of the general cr i te r ia l ;s ted in M 2.B defining themajor goals of the project.M 7.7 A MODEL OF MEMORY VS DISK CHOICESA d ~ s c r i p t i o n of the design of a mathematical model. This is thedocumentation for M 9 and MID.M B.l PERSONAL AIMS

    My aims in doing the Macintosh project .M 9.6 PASCAL MODEL OF MEMORY VS DISK CHOICESA non-interact ive program that sweeps through various

    document and memory s izes . Superceded by MID.M 10.3 INTERACTIVE PASCAL HODEL OF MEMORY VS DISK CHOICESAn in teract ive model that allows you to easi ly vary parameters

    M 0.11 Page 1

  • 8/13/2019 The Macintosh Project: Select Papers [February 1980]

    2/155

    M 11.0 SUMMARY OF OCTOBER 10A few of the main points of the p r o j ~ t as of October 10, prepared.for a meeting with Whitney, Carlson, Jobs, Markkula, Holt, ScottRoybal and Raskin.M 12.1 CONCERNS ABOUT USING THE TELEPHONE WITH PERSONAL COMPUTERS*

    An r t ic le written for magazine publication on the probabledif f icul t ies we might encounter working with Ma Bell.

    M 13.1 IMPORTANT POINTS ABOUT MACINTOSHA one page summary of the summary of October 10, preparedfor the meeting of 12 October.M 14.10 THE APPLE CALCULATOR LANGUAGE*This is an extensive document, not complete as of th is versionof the catalog 22 October 79) which contains a primer of a goodportion of the language, the BNF and other technical considerationsfor those portions described, and some of the jus t i f ic t ion forthe language. Read M16 before reading th is document.)l 1 15.0 MASS STORAGE PRINTER/FACSIMILE DEVICE*A description and discussion of a low cost device, based on presentthemal or elect ros ta t ic discharge printer technology, that wouldprovide printing, data and program storage and dissemination,facsimile transmission, and digit izing bi l i t ies to Macintosh.M 16.0 AN INTRODUCTION TO THE APPLE LANGUAGE FOR CALCULATOR USERS*

    An indication of how a primer for the language of M 14 might bewri t ten.M 17.0 REPORT ON THE HP 41C AND SHARP 51 00 CALCULATORSWhat we can learn from them that helps in the design of Macintosh.M 18.0 ON THE PROBLEM OF DELIMITING STRINGS IN PROGRAMSA jus t i f ic t ion of the strinG delimiting mechanism used in the Apple

    language described in M14.M 19.2 TH 11ACINTOSH EDITOR*The in i t i l design of a very user-oriented, fast editor.M 20.0 THE MACINTOSH DISPLAY*Descriptions and some simulations of. the proposed display.M 21.0 THE ON-LINE TEXT EDITING SYSTEM*A description of the SRI text editing system developed in the late .1960 s by Englebart. Some very interesting ideas.M 22.1 HOW CAN WE MAKE COMPUTERS TRULY PERSONAL?*A guest editorial Raskin wrote for a magazine--not sent out as beingpossibly to proprietary.M 23.0 JANUARY 1980 OVERALL SUMMARYA summary of the present status of the design and the project . This

    M 0.11 Page 2

  • 8/13/2019 The Macintosh Project: Select Papers [February 1980]

    3/155

    supcrcedes l l previous reports and summariesM 24 1 P SC L M CINTOSH FONT GENER TOR

    The program that generates the proportional font that will probablybe used on Macintosh

    M l ~ a g ~

  • 8/13/2019 The Macintosh Project: Select Papers [February 1980]

    4/155

    THE MACINTOSH PROJECTSELECTED P PERS14 FEBRUARY198The enclosed documents are proprietary and confidential property of ppleComputer Inc

    tCONFIDENTIAL.' .,] Jef Raskin

  • 8/13/2019 The Macintosh Project: Select Papers [February 1980]

    5/155

    photographs r e p r o d u c ~ d below r ( p r e ~ e n t a very prelirdnary mock-up o the -Macintosh computer. The screen size is accurately presented, h o w e v ~ r

    is not known i f 8 dual disk drive as shown wil l be avai lable. The C R ~ ein no way represents the f inal appearRnce of the proposed computer, butcreated to help ~ i v e 8 feel for the approximate s i z of such a machine.a printer i s included, i t will probably by R.5 inches in width rather than5 inches shown in the mock-up.t is recommended that these docufTlents e read in the f o l o w i n ~ order:. 0, the table of 'contents to the collection. M 2l. the sut 1r.lary of January ]Q8( 1. 2, the l i s t of areas of concern

    then, via the table of contents, any further iter.:s of in terest

  • 8/13/2019 The Macintosh Project: Select Papers [February 1980]

    6/155

    THE MACINTOSH PROJECTDOCUMENT VERSION 4TITLE: INTRODUCTION ND PRELIMINARY CONVENTIONSAUTHOR: JEF RASKINDATE: 11 Sep 791. CH NGE OF N METo avoid using only female names on projc'cts, i t has been suggested that eachmajor p r o j ~ c t be a s s i g n ~ d the name of a variety of apple. To begin with,what once was the A n n i ~ project is now called the Hacintosh project .2. CATALOGING TECHNIQUE FOR MACINTOSH DOCUMENTSAs each document pertaining to Macintosh is writ ten , i t will be given aser i a l number. A catalog wil l be kept on a diskette in my f i l es I

    t h e r ~ f o r e r ~ q u e s t that any document p ~ r t i n e n t to the Macintosh project not ereleased unti l i t has been c a t a l o g ~ d This wil l permit any in terested partyto know what documents have been writ ten, and wil l allo\l us to obtain anduse these documents when necessary. The catalog will also be available inprinted form upon request .3 . INTERNAL DESIGN OF DOCUMLNTSI t would be appreciated i f each item in each document be numbered, so that wemay easi ly r e f ~ r to i t in other documents, for example:Document 4, Version 3, Item 6.4.The h ~ a d i n g for each major numbered section will be in a l l caps, Withsubsections having the f i r s t l e t t e r of the f i r s t word capi ta l ized.4. USE OF EDITOR FOR DOCUNr:NTSFor improved communication, documents should, whenever possible, be preparedon the Pascal Editor, with appropriate control characters for Colin 'sformatting program. A typical heading for each document might be:

    f 0 ' 'M 1 4 PageDOCUMENT VERSIONTHE MACINTOSH PROJECTTITLE:AUTHOR:DATE:

    MI. 4 P a g ~

  • 8/13/2019 The Macintosh Project: Select Papers [February 1980]

    7/155

    This wil l fac i l i ta te building a l ibrary of Macintosh documents t and ( asilyallow modification and updatine of these documents.5. The f i l e name of each d o u m ~ n t sha l l be of the form ~ 1 x y t e x t where x jsthe document number and y is the version number. The catalog is M O x t ~ Y t6. The responsibi l i ty for maintaining the catalog shall in i t i a l ly be Je f s ,but m y be assigned to another member of the Macintosh team when appropriate.

    '7. Distr ibut ion l i s t s and dates by which o m m ~ n t s must received shal l bepar t of the cover l e t t e r t and not part of the document.

    Ml.4 Pagt' 2

  • 8/13/2019 The Macintosh Project: Select Papers [February 1980]

    8/155

    THE MACINTOSH PROJECTDOCUMENT 2 VERSION 9TITLE: OVERVIEW OF PRELIMINARY AREAS OF CONCERNAUTHOR: JEF RASKINDATE: 11 Sep 791. MARKETING ND AUDIENCE1. 1 Markets1.1.1 Home1.1.2 Business1.1.3 Scient if ic1.1.4 Industr ia l1.1.5 Internat ional1.1.6 Lducational1.1.7 Hobby1.2 Contributions this product wil l make1.2.1 This may be the f i rs t unless something else comes along)portable computer. I t i s a personal, not a home computer. If

    this point of view is adopted, then applications, such as hoeesecuri ty , where the computer is t ied to a physical loc.q.tion, canbe eliminated.1.2.2 This should be a completely self-teaching system.1.2.3 Price vs. performance breakthrough.1.3 Overall strategy1.3.1 vis a vis competitors1.3.2 vis a vis other Apple products1.3.3 in view of unprecedented large numbers1.4 Sales goals1.4.1 Number of machines over time1.4.2 Dollar figures1.5 Major r isks1.7 General cri ter ia1.7.1 Reliabi l i ty works correctly, unbombable)1.7.2 Serviceabli t i ty long MTBF1.7.3 Produceability designed for the production l ine)1.7.4 Price low, but performance high1.7.5 External esthetics excellent as is our custom)1.7.6 Integrity sufficient test ing of al l components incl manuals)1.7.7 Maintainability short time to repair)

    Possibi l i ty of self-diagnost ic programs; possibi l i ty of diagnosticthrough network.1.7.8 Documentable easy to write manuals due to good design, esp. ofsoftware)1.7.9 Expandable hardware should not l imit range of applicationsunnecessarily)1.7.10 Learnabili ty co-ordinated hardware/software/manual design withth i s constraint in mind at a l l times)1.7.11 Testabil i ty must be testable automatically a t the plant)1.8 Product l i fe

    H2.9 Page 1

  • 8/13/2019 The Macintosh Project: Select Papers [February 1980]

    9/155

    1.9 Profi t goals2. MAJOR CONSTRAINTS2.1 Price constraintsThe in i t i a l end-user price, for the minimal machine,. should be about500. I t i s our intent to have a clear path to lowering the price to300 af ter 8 months, while maintaining profi t margins.

    2.2 Weight and size constraints2.3 Memory sizeWe may wish to f ix memory size and eliminate many possible user hardwareoptions) so that software runs on a l l Macintoshes. Users should not haveto know about how many bytes of memory they have. This may also allow usto produce the machine for less . A user m i n i m u ~ of 32K bytes is suggested.This will depend on mass storage considerations as well .3. POWER SUPPLY3.1 AC supply from the mains3.1.1 US3.1.2 ~ r e i g n3.2 Battery supply3.2.1 Weight3.2.2 Reliabi l i ty3 2 j Operating time

    I t would be nice to obtain 6 hours without having to plug i t in. What isa minimum that is s t i l l useful?3.2.4 Potent ial leakage problems3.2.5 Primary or Secondary cells?3.2.6 Accessory pack at extra cost for battery power.3.3 Solar cel lsTo keep perpetual calendar independent of other power supplies?4. HUM N INTERFACE: DISPLAYThe screen should be soft i f possible. Image data compression should beconsidered to conserve memory.4.1 CRIs4.1.1 Home TV

    We should have RS-170 and NTSC compatible output. I t should work intoany standard TV eqUipment, such as recordlrs. Both video and modulatedo u ~ p u t s should be available. If cost constrains, the video would go.4.1.2 Buil t - in displayThere is the possibi l i ty of no bui l t - in display and only a bui l t - inpr inter . The hard-copy device, on the other hand, may be part ofthe display.4.1.2.1 Conventional CRT4.1.2.2 Flat CRT4.1.2 .3 Projection CRTThis option has much f lexibi l i ty especially in conjunction with aphotographic hard copy scheme.4.2 LCD display4.3 LED display4.4 Plasma display4.5 Other technology (e.g. laser)4.6 Size of screens

    M2.9 Page 2

  • 8/13/2019 The Macintosh Project: Select Papers [February 1980]

    10/155

    4.6.1 Number of characters 24 X 80 on CRT, 2 X 80 in portable displny)Consider foreign language fonts.4.6.2 'Graphic resolution (suggested minimum: 256 X 256)4.6.3 Physical size4.7 Color (probably only on external display)5 M SS STORAGESome form of mass storage must be buil t in.5.1 Floppies5.1.1 Made by us5.1.2 From outside vendors5.1.3 Very small floppies (2 or 3 inch)5.1.4 Compatible with any previous product?5.2 Bubble memories ,5.3 Cassettes or other tape based storage5.4 Other technologies6. HUM N INTERFACE: INPUTS6.1 Typewriter keyboard

    This is probably a necessity. Atkinson points out that the halves areseparable. Keyboard should be software mapped i f possible any combinationshould be valid) .6.1.1 Keyboard layout6.1.2 Keyboard electronics6.2 Microphone6.2.1 As add-on accessory6.2.2 As bui l t - in . I t may be possible to use speaker as microphonealthough separate microphone probably preferable6.3 Audio ( this and 6.2 with bui l t - in A/D)6.4 Photocell (perhaps in c o n j u n c t i o n w i t ~ a l ight pen or wand?)6.5 Graphic input: joystick, force st ick, bal l , or tablet6.6 Other transducer input: pressure, moisture, temperature etc .7. COMMUNICATIONS

    7.1 RS2327.2 Phone connector (bui l t - in modem and DAA7.3 Applenet7.4 Other7.4.1 WWV recievcr7.4.2 TV or radio receiver7.5 RF l ink7.6 To a paging system7.7 IEEE 488. 8. SOFTWARE

    8.1 Major design cr i te ra8.1.1 Zero defect programming8.1.2 Excellence of human interface8.1.3 Extraordinary test ing8.2 In i t ia l software offeringThere must be a large in i t ia l offering of software.be Checkbook balancing

    Some examples might8.'2. 18.2.2 Many games i t will be seen as a toy to some purchasers)

    M2.9 Page 3

  • 8/13/2019 The Macintosh Project: Select Papers [February 1980]

    11/155

  • 8/13/2019 The Macintosh Project: Select Papers [February 1980]

    12/155

    13. EXPERIMENTATION13.1 With competitive machinesA. HP-41CB Atari 40013.2 With technologiesA. Attach a touch-panel to an Apple IIB. Attach a few small-screen CRT's to Apples13.3 By programming simulationsA. Small screen sizes (in terms of resolution and characters)B. Simple editors (e.g. my one command editor)13.4 With servicesA TCAB. PCNETC. Other bulletin board servicesD. DIALOG (Lockheed) BALLOTS (Stanford)

    14. ENCLOSURE AND COSMETICS14.1 Design and materials14.2 Thermal c o n s i d ~ r a t i o n s14.3 Choice of colors and case styles

    f this is to be truly a product for the home,shouldn't we offer i tin various colors? Matched to the 5 standard home appliance colors?There is also the possibi l i ty of offering options such as a wooden case.14.4 Self-protecting case design (lid opens to become display. for example)14.5 A handle. .14.6 I f the design is modular, the parts should snap together elec t r ica l lyas well as mechanfca11y.

    15. PRINTER AND HARD COPY PICTURES15.1 Buil t- in15.1.1 Film based (polaroid or other quick technology)15.1.2 Thermal15.1.3 Electrostat ic15.1.4 Dot-matrix impact15.1.5 Ink je t15.1.6 Laser15.1.7 Other15.2 External15.2.1 Letter qualityIs i t s i l ly to try to se l l $3000 printers with th is machine?

    15.2.2 o r t a b l ~ sAll the poss ibi l i t ies under 15.1 f i t here as well.15.3 Width of paper (8.5 inch probably)

    16. OTHER PERIPHERALS ND FEATURES16.1 AC switched outlets (possibly computer controlled)16.2 Speaker (with speech and/or music synthesizers?)16.3 Credit card reader or HP card reader or both16.4 Real time clock (essential)Perhaps based on a watch module, always runs.16.5 Actuators (e.g. R/C servos)16.6 TTL outputs

    M2.9 Page 5

  • 8/13/2019 The Macintosh Project: Select Papers [February 1980]

    13/155

    16.7 Soft off switch.16.8 Plot ter16.9 Check reader16.10 Video disk (necds interfacc standards)

    17. THE APPLE TIMESHARING NETWORKOne of the most powerful uses of Macintosh will become viable o ~ l yservice such as TCA is available. We wil l have to consider set t ingup a nation (world?) wide set of local numbers for a numher of purpo8csto be c o v e r ~ d in another document. A standard protocol will have to bepromulgated. Study Viewdata, Teletext, Prestel18. FUTURE PRODUCTS IN THE MACINTOSH FAMILYItems rejected from consideration as buil t in may be moved here, as wellas new ideas.19. IMPACT O VARIOUS DEPARTMENTS OF APPLE19.1 Purchasing

    19.2 Manufacturing19.3 Marketing19.3.1 Advertising19.3.2 Dealers19.4 Engineering19.4.1 System software19.4.2 Applications software19.4.3 Analog electronics19.4.4 Digital electronics19.4.5 Mechanical engineering19.5 Publications19.6 New Product Review19.7 Scrvice

    20. ANALYSIS OF COMPETITION20.1 Atari20.2 Texas Instrument20.32 0 ~20.520.620.720.820.920.1020.1120.12

    21. CPU

    CommodoreTandyJapanCalculatorsMatteITypewritersAccounting machinesElectronic gamesVideo gam sOther

    I t is assumed, for the time being, that memory wil l be byte oriented, andthat the CPU or CPUs wil l be 8 or 16 bits or some mix of the two.21.1 Single or multiplc CPU21.2 Off-shelf or our own21.3 Consider 6809

    M2 9 Page 6

  • 8/13/2019 The Macintosh Project: Select Papers [February 1980]

    14/155

    THE MACINTOSH PROJECTDOCUMENT 3 VERSION 5TITLE: THE APPLE COMPUTER NETWORKAUTHOR: JEF RASKINDATE: 11 Sep 79-11 Oct 791 INTRODUCTIONThere are very few potential uses of the personal computer per se in the hornea t the present time. The question "What do you do with i t ? s t i l l haunts theindustry. While balancing checkbooks, playing chess and writing l e t ters area l l viable uses, i t is l ikely that a true mass market cannot be supported onthe basis of such applications. In the face of th is problem, mostmanufacturers, seeing the hobbyist and technophile markets becomingsaturated, have turned to marketing business systems. The 'business systemmarket is big and legitimate opportunit ies abound there, but the volumecan never be as large as it 'would be for an item that goes to consumers ingeneral.There is a feeling in the industry that telecommunications wil l become a k ~ y,part of every computer market segmt: nt, and th is is increasingly becoming so.Many experiments and a few successful services are in operation. Aside fromlong-standing timesharing systems such as GE and TYMSHARE, we have the ARPAnet, Xerox's internal Ethernet, TCA (alias "The Source ), Prestel , the MEnetwork, and many others. p p ~ n d i x 1 l i s t s a few commercial services thatmay be of in teres t to us. A set of underground message centers have comein to operation, for example, the PCNET. There are also a few otherindividuals and small groups that set up a microcomputer with an autoanswermodem and some software that allows users to leave and retrieve messages.According to "Computer Retailer. , Radio Shack and Western Union areworking out some conperative venture involving WU s "Mailgr:tm'" servicewhereby Radio Shack computer owners can exchange messages.I t is clear that one answer to the question "What do you do with i t? wil lprobably be: I use i t to send birthday greetings to Aunt Til l ie . More tothe, point there are a number of easily forseen potential uses for a n t w o r l ~of personal computers. What is more exciting i s that , as has happened withthe computers themselves, there is the potential for manyunforseen applications.1.2 POSSIBLE APPLICATION AREASMany applications have been put forward. Among them are:Time of day; News (with a boolean query data base); Stock Market (as per whatwe arc already doing); Soap Opera Condensations; A guide to local TV programs(what 's on a t 9:00PM?, any westerns tonight?); Message forwarding anddistr ibut ion; Fax transmission (special case of message: the bi t s are

    M 3.5 Page 1

  • 8/13/2019 The Macintosh Project: Select Papers [February 1980]

    15/155

    in terpre ted pic tor ia l ly) ; Weather Travel In[o; Phone directory; Local, areaor national business directory; Apple program dist r ibut ion channel; Appleupdate dis tr ibution channel; Access to Lockheed's DIALOG or Stanford'sBALLOTS systems or similar ones; A better way to answer user quesLions than aphone based hotline at Apple; Library of Congress card catalog; Legalprecedents; Program exchange; Educational courses; Educational testing;Voting; Computer program exchange; Advertising; Computer dating; Taxinformation; Banking (another step to the cashless society (If ta)(es don'treduce us to a cashless s ta te f i r s t ; Access to larre data storage forindividual needs; Access to computer power ( i .e . timesharing); Insurance,quotes; Credit information (what is available: what is my s ta tus) ; Marketresearch; Purchasing information who has the cheapest refr igerator model 34-aa within 10 miles); Plane'schedules; Dictionary and Encyclopedia searches.The l i s t is potent ial ly endless. Most come under one heading: Access to aData Base. A few come under the heading: Communication. The' remaininghandful are miscellaneous.The point of th is l i s t is that telecommunications provides a host of answersto the What_do you do with i t? question. What follows is a proposal forsupplying customers with this kind of service.2. IMPLEMENTATION OF N APPLE T E L E C O M ~ r u N I C T I O N SYSTDI2.1 SOME NON-TECHNICAL PROBLEMS

    kind of independent communications networkagencies, and would alarm many companies nO\-lI t is clear that set t ing up anyruns afoul of many bureaucraticin the communications industry.existing communication channels.system are probably less than thedocument M 12 discusses some ofuser of the telephone network.

    For these reasons alone, i t is best to uscThe problems of being a user of such aproblems of being in the industry.the potential problems with being a

    2.2 NEED FOR PROMPT ND AGGRESSIVE POLICY~ p l e cannot possibly create the data bases that are required to make thisproposal viable. As we h a v ~ done with Dow Jones, we will have to negotiateaccess for our users to existing data bases and s e r v i c e s ~ Our succeSS inthis f ie ld wil l depend on a g g r e ~ s i v e and prompt action to secure (possiblyexclusive) usc (with respect to pt rsonal computers) of what we see as themost important services.

    2.3 TELEPHONE BASED SYSTEMThe most universal bidirect ional data path to homes in this country is thetelephone. We presently have the technology to provide a low-cost computerwith a 300 baud modem. Since the Carterphone decision, access to thetelephone network has been assured (as leas t as much as anything can beassured in the communications f ield) . There are a number of ways ofproviding a universal service through the telephone.2. 3. 1 M NY LOCAL NUMBERS

    3 5 Page 2

  • 8/13/2019 The Macintosh Project: Select Papers [February 1980]

    16/155

    The time sharing services have chosen to have many regional centers or d taccumulation points. Dow Jones. for example. provides many local numbers.There are some disadvantages to th is scheme: i t requires publishing a bookof telephone numbers. and some subscribers have to make to l l calls i f they donot l ive in or very close to a major population center. One advantage ofth i s system is i t s redundancy.2.3.2 A TOLL-FREE NUMBERWith one (or perhaps two) tol l free numbers. every phone in the country canhave access to a central computer ins tal la t ion or what 1 wil l c ~ l an A-node (explained below). This has the psychological advantage of makingaccess to the service appear free . The number is easi] y advertised, againencouraging usc. Research wil l have to be done to determine the expecteddensity of useage and just how practical such a system would be.2.4 LIMITED OR UNIVERSAL ACCESSCan we, or should we try to, l imit access to owners of Apple products? Ifwe allow access to anybody with proper equipment (probably any computer or,perhaps, even some terminals) can we legal ly build in advantages for Appleowners? For example, the only software available wil l be for Apples. Ifwe use some technological means of permitting only Apples into the service,th is would require special hardware and/or software in future products, andmight not be retro f i t table to the Apple 11 series.I t is my feeling that access should be universal , with some unique servicesfor Apple owners. Greg Justice i s devising an inexpensive m o ~ m for 1200baud half duplex telephone l ine communications. This might be an Apple exclusive.2.5 TECHNICAL PROBLEMSIf credit or any other s e n s i t ~ v e information is involved. security measureswil l be necessary. Security problems are inevitable. in any case since wewish to bi l l our customers for their useage of at least some parts of theservice. Use of other parts may be paid for by the suppliers (e.g. when theservice amounts to advertising) and thus ~ e e m f r ~ e to the user. D. E.Denning, in her ar t ic le Secure Personal Computing in an Interact iveNetwork CACM Vol. 22, No.8) suggests a method for implementing securitywhere the users, rather than the network, have control of securi ty. While 1question the implementation suggested there, the idea that security can cornefrom the user 's side is a good one.Protocols wil l have to be carefully defined. simple enough for naive users,yet powerful enough to cope with any data base to which we .subscribe. Theremay have to be, as with the PCNET protocols, levels of access from thebeginner 's character stream to the expert 's auto-path-finding datacompressed packet. If we are fas t enough, the protocols we design may become a facto standard.2.5.1 INTERFACIAL SOFTWAREOne way of eaSing the user ' s problem at accessing the many data bases that

    M 3.5 Page 3

  • 8/13/2019 The Macintosh Project: Select Papers [February 1980]

    17/155

    exis t would be to provide, as we have begun to do for the Dow Jones services,programs that iron out the di f f icul t ies of using the various services, sothat they a l l appear relat ively uniform and easy to usc.This would become an ongoing software project for Apple, and would represent

    . the least involved method of providing access to data bases. I t would notprovide a universal message transfer system, however, and thus possiblydecrease the desirabi l i ty of the Hacintosh system. I t would also not providc:a single telephone number for al l services, and might require each user tohave multiple contracts . Users would not be encouraged to try more servicesas much as they might i f the services were more consolidated.If we adopt th is approach, we wil l have to define a set of unified protocolsfor accessing data bases--of diverse kinds. This is no easy task, since mostof them were designed quite independently.2.5.2 ESTABLISHING A NODESThe ~ x t level up in user convenience from providing software for stand-aloneApples to faci l i ta te access to each data base would be to provide an A-node, or data concentration center or centers. This.A-node would be accessedthrough a single protocol from the user 's computer, and then the A-nodewould in i t i a te and monitor (for bil l ing purposes) the connection with thevarious data base systems. This process would insulate the user from havingto be familiar with each different data base 's telephone number andprotocols.The A-node would also be a m e s s a ~ e storing and forwarding center.

    ,3. IMPLICATIONS FOR THE MACINTOSH PROJECTThis proposal grew out of attempting to answer the What do you do with i t?question. Without Some sor t of network/data base service the question isgoing to be much harder to answer. I am proposing here that the creation ofApple communications, in some form, is part of the defini t ion of theMacintosh computer project .4. IMPLICATIONS FOR APPLE COMPUTER INCWe don't think of the telephone company primarily as a manufacturer of thel i t t l e $40 things with dials or pushbuttons that we have in our h o m e ~ and onour desks. The implications of this proposal, at one extreme, is that Applewill be seen, in the future, not so much as a builder of hardware, but as thepurveyor of a service that interpenetrates the telephone network, andprovides information.On the other e x t r e m ~ Apple wil l be in i t s present posi t ion, adding access todata bases on a piecemeal fashion. Message transfer will not become auseful function unless somebody else happens to s tar t a message system thati s universal enough and otherwise meets our needs. I do not l ike trusting toluck.The high cost to Apple of having done our early software piecemeal and in anad hoc manner should act as an example of why we should not l e t our

    M 3.5 Page 4

  • 8/13/2019 The Macintosh Project: Select Papers [February 1980]

    18/155

    communications effor t be s imilar ly scat tered.The intermediate approach, using the A-node, may be the most practical . Atleas t i t s requirements are- not excessive in terms of hardware or software,and i t can s t a r t as a mere message center (for the whole United States atf i r s t ) and then grow as we contract with providers of data bases and r i n ~them on l ine .This proposal , i f i t is carried out , will represent an addit ional direct ionfor the company. We will not be alone in the personal computercommunications f ie ld , we can str ive to be the best . Certain vested in te res tsmay be threatened by an Apple communications system, and there may beunpleasant pressures .5. SUMM RYI t is my opinion that the A-nodes provide a pract ica l solution to a goodportion of the What do you do with i t? question. I f , in .the next fewmonths, a clear al ternat ive occurs (such as might be provided by the growthof a company such as TCA we should consider i t . We must do something in theway of providing communication between Apples in locations distant from eachother , and communication with sources of information.Mike Markkula has suggested that this may be an undesireable path in thatothers wil l be doing i t , and we can use their services. He further suggestedtha t we establ ish a protocol early on, and publish t in order to', obtain aleadership posi t ion. 1 agree with trying to establ ish the protocols early,and promulgating them, but 1 think we must also press ahead with a detailedstudy of the costs and benef i ts of our own system.I am concerned that many of the existing services are either too poorly setup, or don t have the breadth of vision required. We may also need growthra tes not anticipated by the existing companies. If we do not have acommunications network to use , then what will people do with the mill ionMacintoshes we wish to produce?

    M 3 5 Pagp

  • 8/13/2019 The Macintosh Project: Select Papers [February 1980]

    19/155

    APPENDIX 1, SOME SOURCES OF DATA BASES ND COMMUNICATIONSTelecomputing Corporation of America1616 Anderson RoadMclean, Virginia 22102A service designed for the personal computer user. I t is commonly c l l ~ dThe Source . Advertises in Byte.Computserve, Personal Computing Division5000 Arlington Centre Blvd.Columbus, Ohio 43220

    Tradenamed Nicronet , i t is a less ambitious project than The Source.Advert ises in Byte.SDC Search Service2500 Colorado Ave.Santa Monica, CA 90406A commercial service with no special attention to microcomputer users,mentioned here because i t has a wide ranee of services.The Information Bank1719 Route 10Parsippay, NJ 07054A news service to the New York Times, Wall Street Journal, BusinessWeek and some 60 other publications. No special attention to m i ~ r o -computer users.

    Lockheed's Dialog data base and Stanford's BALLOTS would be finecandidates, along with our existing Dow ~ o n e s service. All in a l l there aremany services available. A l i s t ing of such services appears in theApplications Directory of The Association of Time Sharing Users, Inc. , P.O.Box 9003, Boulder, CO 80301. Almost al l the services l is ted there provideeconomic, stock and commodity, m r k ~ t or demographic information. The twotwo most interesting from that l i s t are shown above. Thanks to Tom Whitneyfor showing me this catalog.

    M 3.5 Page 6

  • 8/13/2019 The Macintosh Project: Select Papers [February 1980]

    20/155

    THE MACINTOSH PROJECTDOCUMENT 4 VERSIONlTITLE: DESIGN CONSIDERATIONS FOR N ANTHROPOPHILIC COMPUTERAUTHOR: JEF RASKINDATE 28-29 May 79(This document was written before the Hacintosh project was operating und rtha t name, anc was s t i l l called Annie . This note was written as an observera t that time not direct ly involved in the project. Comments in b r c k ~ t s havebeen added on Oct. 11 79)]This is an outline for a computer designed for the Person In The Street (or,to abbreviate: the PITS); one that wil l be t ru ly pleasant to use, that wil lrequire the user to do nothing that will threaten his or her perverse delightin being able to say: I don't know the f i r s t thing about computers , and onewhich wil l be profi table to se l l , service and provide software for.You might think that any number of computers have been designed with thesecr i te r ia in mind, but not so. Any system which requires a user to ever seethe in ter ior , for any reason, does not meet these specif ica t ions . There mustnot be additional ROMS RAMS boards or accessories except those that can beunderstood by the PITS as a separate appliance. For example, an auxiliarypr in ter can be sold, but a paral lel interface cannot. As a rule of t h u ~ b , i fan item does not stand on a table by i t se l f , and i f i t does not have i t s owncase, or i f i t does not look l ike a complete consumer item in of i t se l f , thent is taboo.

    I f the computer must be opened for any reason other than repair (for which ourprospective user must be asstimed incompetent) even at the dealer s , then i tdoes not meet our requirements.Seeing the guts is taboo. Things in sockets is taboo ~ n l e s s to makeservicing cheaper without l.:nposing too large an in i t i a l cost) . Bil l ions ofkeys on the keyboard is taboo. Computerese is taboo. Large manuals, or manyof them (large manuals are a sure sign of bad desicn) is taboo. Selfinst ruct ional programs are NOT taboo.There must not be a plethora of configurations. I t is bet ter to offer avariety of case colors than to have variable amounts of memory. I t i s betterto manufacture versions in ,Early American, Contemporary, and Louis XIV than tohave any external wires beyond a power cord.And you get ten points i f you can eliminate the power cord.

    A ~ y d i f f e r ~ n c e s between models that do not have to be documented in a user ' smanual are OK. Any other differences are not.I t is most important that a given piece of software wil l run on any and everycomputer buil t to this specif ica t ion. There must be no differences between

    M 4.1 Page 1

  • 8/13/2019 The Macintosh Project: Select Papers [February 1980]

    21/155

    machines whether in terms of I/O, speed, memory s ize , configuration, orpossible accessories.(Speaking of accessories--off hand, the only accessory that I can see beinesold is a pr inter . If this can be buil t in (on EVERY machine) then there isl i t t l e cause for ever having accessories at a l l . This is optimal.) [So far ,price constraints and the pervasive idea of a network have changed this abi t . ]I t i s expected that sales of software will be an important part of the profi tst rategy for the computer.If i t i s antic ipated that fewer than 100,000 of these anthropophil iccomputers wil l be sold in a 2 1/2 year period, the project should not beundertaken.A CANDIDATE FOR SUCH A MACHINEThe computer must be in one lump. This means, g i v ~ n present technology, a 4or 5 inch R ~ (unless a better display comes along in the next year), akeyboard, and a disk integrated into one package. I t must be portable, under20 lbs and have a handle. Apple V would not be a bad handle. It, shouldf i t under an ai r l ine seat. I t would be best i f i t were to have a battery thatcould keep i t running for a t leas t two hours when ful ly charged.Some things are fasy to choose. Performance, in the usual computer-sciencesense, is not too cr i t i ca l . An 8-bi t CPU, eight 64K R M chips, one RS-232in ter face a telephone jack, and some 200K bytes on the diskette would bef ine. There must be a clock-calendar that is battery powered.Other things are harder to pick. Clearly, there should be BASIC available.And there should be some underlying system language, reachable through BASIC,so that OEM software houses (and our own programmers) can do what's necessary.One very small , inexpensive and compact language suitable for thisappl icat ion is FORTH. Having to use an external development system willhamper the growth and sales of the machine.The end-user cost for this machine should be 500 or tess to be sold early in1982 (or, bet ter s t i l l by Christmas 1981).THE ACCESSORIESPrinters . Maybe.SOME USER-VIEW SOFTWARE CONSIDERATIONSThe s y s t ~ must not have modes or levels. The user always knows where he orshe i s because there is only one place to be.THE BASICThe language should be pure in terpre ted. All system commands should beembedded in the language. a l l statements in the language must be commands.The program should be user-interuptable (and process interuptable) and

    4.1 Page 2

  • 8/13/2019 The Macintosh Project: Select Papers [February 1980]

    22/155

    resumable even af ter being changed. Anything that can be done by the user candone by the program and vice versa.Consistency is important. All names, whether f i le names or variable names orarray names should have the same syntax. Wherever a constant can be used,so can an expression be used. Strings should not behave different ly thanother arrays. All arrays should be dynamically allocated.Declarat ions are taboo.Or, rather , requiring.declarations am taboo.

    TOYS

    Graphics must be in the language as well as sound generation via an internalspeaker. The present set of sound-generating chips should not be considered.Cursor controls should be on the keyboard, and should be used where graphicinput is called for . The Apple III keyboard is not far from ideal .RS-THIS AND RS-THATStandard RS-170 video output is not a bad idea, especially i f i t is to be usedin schools. That was five two l e t te r words in a .row. But video .output is notnecessary.Actually, neither is an.RS-232 port. But I have a suspicion that i t might benice. Perhaps the phone, jack, having two extra wires as i t docs, could becomean RS-232 minimal 3 wire) port with an adapter. The minimum number of holesin the case through which f i n g ~ r s screwdrivers (either metallic or l iquid) ,EMI or earwigs can crawl is to be desired. I guess that adapters are OK asaccessories.Ye same olde phone jacke couldst be into service yprest, forsooth toaccomodate divers keyboards, sych as yon orran hath.The ut i l i ty of the computer i s v i ta l ly enhanced i f the phone jacke had somepersonae with whom to talk, to wit, a network is an essential part of the ideaof Annie. And don t mean ABC CBS PBS, NBC and Mutual.SUMM RY

    That means fa i r warm weather, jus t af ter spring.SUMM RY

    Let s make some affordable computers.

    M 4 Page 3

  • 8/13/2019 The Macintosh Project: Select Papers [February 1980]

    23/155

    THE MACINTOSH PROJECTDOCUMENT 5 VERSION 1TITLE: PRELIMINARY COST INVESTIGATIONAUTHOR: JEF RASKINDATE: 27 Sep 79

    1. COSTOne of the primary goals for Macintosh is that i t should se l l for 500--withthe possibi l i ty of reducing the cost to $300 with increasing quantity.By our present s ~ l l i n g price versus manufacturing cost rat io th is means thatMacintosh should cost us about $125 to build. Consider th is highly s p ~ c u l t i v ecost breakdown (assuming a case and board about Apple size)PART 1981 COST POTENTIAL COSTkeyboard 20 10CPU6502 4 3 minimum cost6809 12 7 l ikely candidate68000 90 65 upper end64K bytes 80 50 8 64K 1W1S @ $10 and 6.25)video chip 15 10modem chip 20 15 wi th DAAcase 15 5 d( pends on sizepower supply 15 10p c board 12 8 depends on sizemisc 25 15 connectors, fastenersSUBTOTAL 214 130 basic electronics costbui ld, t es t 10 2 design for automation(this l as t category has much room for lowering cost, and thusi t is i n l u d ~ d even though i t is not part of parts costs .)disk drive 80 35display 40 20

  • 8/13/2019 The Macintosh Project: Select Papers [February 1980]

    24/155

    printer 50 25TOTAL 346 '212For th is very minimal estimate we assumE. a 6809 processor as a passablecompromise b(tween power and cost. I t i s readily avai lable, allows our videotechniques, requires few support chips, and is relat ively efficien t in termsof compiled code size.At a 4X sel l ing cost VB our cost rat io there is no way, even without disk,printer or display, that we could get below 850 given these prices. Fullyloaded, the selling price may well be $1400. And there are many itemsomitted from th is l i s t and the costs are probably optimist ic . At theminimum prices that I can forsee, the base machine might be able to se l l for$520. The ful l package for $850.These costs may not be spot on, and the 4X multiplier is not f ixed, but theseare indicat ive bal l-park fiures. While the minimum price of 520 might lookclose to our goal, remember that i t is extremely optimistic, includes noperipherals, and should (to meet our goals) be well under 300 (oureventual f igure) .

    1.1 TWO POSSIBLE DIRECTIONSEither we can continue the design of Macintosh with the present desiderata,and abandon our price goals, or we can keep the price ceil ing and see whatkind of machine we come up wi th., I t seems that the higher priced machinethat fa l ls out of th is analysis is not much different from a price reducedSara. Therefore we will examine what we can do for a 500 selling. pricel imit .1.2 THE MACINTOSH 500One item on which we should not compromise is a keyboard.

    20Assume, for the purpose of having t ruly adequate software, 64K RA}1

    O

    We build our own video and modem chips35

    Keeping the case quite small, i t and the PC board might be lowered to25

    If things are kept small, the power supply might drop to12

    .,, \I Page 2

  • 8/13/2019 The Macintosh Project: Select Papers [February 1980]

    25/155

    Add18

    for ~ s c e l l a n e o u s and a10

    CPU to bring us to a nice round to tal of100.

    A machine with no peripherals will have to have some bi l i ty in ROM Assume32KROH with a word processor and BASIC (both written in Pascal and compiledto 6809 code). This adds

    25or so. This, inf la ted by details and committee embellishment, gives us achance at a 500 computer. Note the following facts:A No display i s includedB. No disk is includedC. No printer is included.The solut ion to providing these is as add-ons that attach both mechanicallyand electr ic l ly to the basic Macintosh product.

    ' \ Page 3

  • 8/13/2019 The Macintosh Project: Select Papers [February 1980]

    26/155

  • 8/13/2019 The Macintosh Project: Select Papers [February 1980]

    27/155

    Aside from the s ize and weight constraints, i t would be especiallybeneficial 1f the unit could be us.ed portably. One of the add-on packagescould be a bat tery pack with, i f necessary, an inver ter . The power supplyi t se l f could be in one of the add-on packs, giving the user the-choice ofan AC supply or a DC supply and charger.I f no display i s bui l t in , the user has the option of carrying smallerpackage, and using a home TV Most home black and white TVs can support 64characters per l ine I have tested th is using the Poly 88 computer, whichi s a 64 character. upper/lower case machine.1.3 LEARNABILITYMacintosh must be easy to use. The keyboard should be typewriter-l ike,with no computer jargon on the key-tops. Nonetheless, i t must be able togenerate the ent i re ASCII code-set. But i t wil l be the desien of thesoftware and manuals that wil l have the greatest effect on the ease withwhich the computer wil l be used--coupled with the expectations generated inthe user by our advertising and the current personal computer milieu.A separate se t of documents will cover software and manual design, and yetanother wil l have to discuss advertising strategy.1.4 SERVICEABILITYMacintosh must be serviceable: Wil Houde would l ike to give a one yearunlimited warranty with the machine. What is required is a long MTBF Inthe presence of the strong price constraint we cannot merely take the pathof high quali ty components for whatever design we come up with--we mustres t r ic t the ambition of the design so that we can afford to build i t well .

    The modular approach taken above is both a help and a hindrance tore l iabi l i ty : each of the parts wil l be designed independently, arid todifferent r e s t r a i ~ t s they can even have different warrantees. On theother hand, there is now a set of elec tr ica l and mechanical connectionsthat otherwise would not be there.Since the signal may pass chrough a number of boxes, a fai lure in anintermediate module might affect the operation and the diagnosis ofanother unit .A single-box design puts many electronic and mechanical pieces together,thus signif icant ly increasing the probability of a failure of the wholedevice in a given time period. I t can be argued that i f any of the modulesfa i l in a modular design, any program that uses that module cannot runanyway, and the ent i re machine is los t in spi te of the modularity. On theo.ther hand, i t 1s eas ier to manage the shipment and servicing of a singlebox. The software re l iabi l i ty of a single-box system is also greater.Serviceabil i ty i s also a function of the quality of the manuals. Aseparate document wil l discuss the on-line and off- l ine manuals1.5 MAINTAINABILITY

    M 6.2 Page 2

  • 8/13/2019 The Macintosh Project: Select Papers [February 1980]

    28/155

    Ease of repair i s a function of s implic i ty , accessibi l i ty modularity andthe design of diagnost ic software and procedures. Aside from having thedesign monitored by our service and repair personnel, the designs bcinrconsidered seem inherently maintainable. e should consider s ~ t i n g up asystem programming effor t to wri te a set of diagnost ic routines as part ofthe Macintosh project .1.6 PRODUCE BILITYAt a l l times, our production engineers will be consulted onthe design of the computer. The fundamental design should be s i n ~ l board,with an integral keyboard i f possible.

    2. SOFTW RE DESIGN CRITERI2.1 LE RN BILTYThere i s one quality tha t software can have to inprove 1earnabili ty:consistency. That one at t r ibu te i s probably more important than thedeta i l s of what we are consistent about. Consistency also minimizes thes ize of our manuals, and decreases the time i t takes to write and tes tsoftware. I t increases the time i t takes to design a system, since a l laspects of the sof tware', from command level to every applicat ion programmust be considered in se t t ing up the design pa rameters.2.2 M INT IN BILITYAll the software for Macintosh must be written under the same system and inthe same language. The operating system wil l probably be a descendant of50S, and the language wil l probably be' _Pascal. (This should not prejudicethe choice of user languages).2.3 RELlABILITY

    e expect that we shall se l l hundreds of thousands of Macintosh computers.I t should be a guiding principal that software goes out as the resul t of aprogram designed in the sp i r i t of the NASA zero defect program since i twil l become uneconomical to update p r o l ~ m s once they are sold or deliveredas par t of the system.

    6 2 Page 3

  • 8/13/2019 The Macintosh Project: Select Papers [February 1980]

    29/155

    THE MACINTOSH PROJECTDOCUMENT 7 VERSION 7TITLE: A MODEL OF MEMORY VS. DISK CHOICESAUTHOR: JEF RASKINDATE: 2-4 Oct 79

    1. A PATH TOW RD THE DESIGNMy investigations star t off with the human input, the keyboard, and anapplication, personal (as opposed to business) word processing. With th iss tar t ing point, we form a branching t ra i l through the woods ofpossibi l i t ies .1.1 THE KEYBOARDMacintosh will have a typewriter styled keyboard with embedded numeric pad(as on the HP 2621). No separate key pad should be provided for threereasons: t shaves a bi t off the cost, i t makes the package physicallysmaller, i t looks less forbidding. Such a keyboard i s excellent .for wordprocessing, and we will f i rs t explore system requirements for th isapplication. Aside from the embedded numeric pad, the keyboard layout willnot differ much from Sara's excellent design.The cost of such a keyboard will be aboui 20.1.2 WORD PROCESSINGA pract ical word processor has ei ther a buffer of over 20K bytes for userinput, or a mass storage device whose operation is total ly invisible. Sincean overflow of the internal buffer can happen while a person is typing (evenin the.middle of a word), the time that the keyboard does not respond whilethe system is squirre l l ing away the buffer should be under 0.1 second. Youdon't want the system breaking the u s r ~ s concentration by upsetting him orher with random pauses.Since th is application places some restr ict ions on storage, there are (atleas t two ways of going about i t : supplying suff icient random accessstorage, or a fast mass storage device.1.2.1 SUFFICIENT R NDOM ACCESS STORAGE SOLUTIONThis can be provided through RAM or through some other technology such asbubble memory For our applicat ion, we have said we need a minimum of 20Kbytes for the user 's area (there being no real upper l imit on how much userstorage can be put to use). In addition we need the word processingsoftware, and the underlying operating system. Here the path forks again,as the amount of storage required for the software depends on the CPUchosen. If the CPU i s a Lisa type, then the software wil l probably require

    Page 1

  • 8/13/2019 The Macintosh Project: Select Papers [February 1980]

    30/155

    about 10K bytes, and the system need only have 32K bytes a l t o g ~ t h e r If theCPU has the power of, say, a 6809, then the interpreter will require perhaps8K, the word processor about 10K and the operating system around 8K bytes.This CPU would require 46K bytes. f 16K bytes of R M cost 25, (a 6809costing about 10) the Lisa type processor 'would have to be under. 35 to becost effective in this application.1.2.2 FAST MASS STORAGE SOLUTIONIn the Macintosh time f r a r n ~ the only viable mass storage is floppy disks.Hard disks are too expensive, and their media is not removable. Bubblesseem to be coming alonr, a bi t too slowly. Nonetheless, we wil l keep our eyE'Sopen.While floppies are usually considered to be too slow for our application,they can be fas t enough i f we go to a mUltiple processor system so thatspooling can go on in paral lel with word processing. Assumming (and here isanother branch in the path) 24 l i r iesof 64 characters (1536 bytes) therecould be a minimum 2K buffer which both refreshes the screen and is the textbuffer . When i t scrol ls off screen, i t scrol ls onto a floppy. The fewhundred extra bytes gives the system enough time to s tar t up the diskdrive.Searches might, with th is kind of scheme, be a bi t slow and noisy. There aremany t rade-off points , the buffer can be expanded to 4K, or 8K, or larger,and the disk useage goes down wi th each increase, in memory. A mathema t icalmodel can be bui l t for this si tuat ion.1.2.2.1 THE MOD[LAssume that the user has M kilobytes of memory a t a cost of b per kilobyte,a floppy (and associated processor and support circui t ry) which costs f witha t ransfer ra te of T seconds per kilobyte, and a processor and memory thatpermits a search for a pattern match at a ra te of G seconds per' kilobyte in adocument of D kilobytes (D*G seconds for the complete document when theent i re search is in memory). e can now examine how many kilobytes persecond of searching a system can achieve ~ t disks, and what the cost for

    d i f ~ 2 r e n t memory/disk tradeoffs.f

    D = Hthen no disk accesses are required, as the ent i re document f i t s in memory sothat the time required for the search isD*Ga t a hardware cost ofMb

    In the case

  • 8/13/2019 The Macintosh Project: Select Papers [February 1980]

    31/155

    D > Mwhere there is insuff icient main memory for the ent ire document, diskaccesses occur. Assuming again a search through the ent ire document, thenumber of accesses ( less one) is S which can be calculated by S TRUNC

    D/M). The time for reading in each segment except the las t i s L + M*T,where L is the latency time of the disk. ' The las t segment is of length D -S*M which is 0 i f D ~ 1 0 D M = 0). For the to tal number of accesses the timeis S* L+M*T) L (D - S*M)*T. To this is added the in-memory search t i ~ : ,D*G. Simplifying the resultant expression, the to tal search time isD*(G + T) + L* S + 1)which is easi ly interpreted in this form: the f i r s t major term represents theto ta l time for t ransferring and searching the document, the second termrepresents the sum of the latency times.The cost of the hardware is the memory cost plus the floppy cost(M*b f .This model must be modified where, as on our f loppies, the latency time issignif icant ly lower i f the disk is already spinning. In th is caseL = U

    .where U i s the motor-start ing latency andL = Vwhere V is the rotat ional plus v ~ r g e seek time latency. Usually the t i ~ Vis - included in U in the motor-start ing case. There is also a fixed s h u t ~ d o w ntime, WThe time for a search through a complete segment is D*G)/ S + 1), so that i fth is time is greater than or ~ q u l to W, thenL = UotherwiseL = V + W - {D*G/ S + 1 which is the rotat ional plus seek latency, plus what i s l e f t of the motor-offtime af ter the search i s complete. This ignores the very small programoverhead in the spooling algorithm.

    'A concrete example in the la te 1981 time frame might have the 'floppy andassociated hardware) a t 55, and memory a t 1.60 per kilobyte. Assume thatthe t ransfer rate averages 0.1 seconds p ~ r kilobyte (this i s the presentApple I I 16 sector speed), and that a search in memory takes .006 secondsper kilobyte (this is about the speed a t which Sara wil l work). Assumefurther that the latency U is 1.0 seconds, and the average latency V is 0.15second on the Disk I I , the average rotational latency is 0.1 second, and a

    Page 3

  • 8/13/2019 The Macintosh Project: Select Papers [February 1980]

    32/155

    t rack to adjacent t rack seek about 0.01 second .

    The reader 1s directed to the programs andM 10 in t is s r i ~ ofdocuments to play with these values.

  • 8/13/2019 The Macintosh Project: Select Papers [February 1980]

    33/155

    THE MACINTOSH PROJECTDOCUMENT 8 VERSION 1TITLE: REPLY TO JOBS, ND PERSONAL MOTIVATIONAUTHOR: JEF RASKINDATE: 2 Oct 791. TODAY STEVE JOBS SAID: DON'T WORRY ABOUT PRICE, JUST SPECIFY THECOMPUTER'S ABILITIES.I t i s impossible to merely s tar t with the desired specifications: i t is tooeasy. We want a small, l ightweight computer with an excellent, typewriters tyle keyboard. I t is accompanied by a 96 character by 66 l ine display thathas almost no depth, and a let ter-quali ty printer that also doesn't weighmuch, and takes ordinary paper and produces text at one page per second (notso fast so that you can ' t catch them as they come out). The printer can alsoproduce any graphics the screen can show (with at least 1000 by 1200 pointsof resolution). In color.The printer should weigh only a fraction of a pound, and never need a ribbonor mechanical adjustment. I t should print in any font. There is about 200l{bytes of main storage besides screen memory and a miniature, pocketable,storage element that holds a megabyte, and costs $.50, in unit quantity.When you buy the computer, you get a free unlimited access to the ARPA net,the various timesharing services, and other informational, computeraccessible data bases. Besides an unexcelled collect ion of applicationprograms, the software includes BASIC, Pascal, LISP, F O R T R A J ~ APL, PL\l,COBOL, and an emulator for every processor since the IBM 650.Let 's include speech synthesis and recognition, with a vocabulary of 34,000words. I t can also synthesize music, even simulate Caruso singing with theMormon t:abernacle choir, wi th ,ariable reverberation.Conclusion: star t ing with the abi l i t ies desired is nonsense. We must s tar tboth with a price goal, and a set of abi l i t ies and keep an eye on today'sand the immediate future 's technology. These factors must be al l juggledsimultaneously.2. WHY TIME COST ARE OF THe ESSENCEIn an ar t ic le for IEEE Computer, Raskin and Whitney argued that thedifference between a computer and a programmable calculator was the former'sabi l i ty to handle text . The HP-41C, at $295, is a (weak) computer. OhioScient if ic has announced their C4P computer, which at $698 looks l ike a goodbuy . In fact , i t has 8K of RAM, and the cost to get one disk land anaddit ional 16K is $1000. Nonetheless, I would l ike to see Apple have acomputer in the $500 class, and of bet ter value than the competition's, assoon as possible.

    M 8 Page 1

  • 8/13/2019 The Macintosh Project: Select Papers [February 1980]

    34/155

    When a person i s making a decision to buy their f i r s t computer, they do notknow enough to go much beyond the advertisments and the bottom l ine . Since Ibelieve the computers we se l l , and are going to se l l , are bet te r and e t t ~ rsupported than the competition, I would l ike to see a person be able to buyan Apple quality product for a low entrance price--with accessories availableto bring i t up to the level of computational power that we know i s necessarybefore the personal computer is t ruly a sa t isfactory tool.We may not be able to achieve a mass market unless we can educate people bysel l ing them a system that we know they wil l want to expand, and let t ing themlearn why they need mass storage, printers and a l l the res t . This is one ofthe main ways that Macintosh should be different from Sara and Lisa.In the l ight of the above mentioned machines, the 795 Pet, and 69B TRS-BO,the Atari 400, and some other machines now coming along, i t is clear that weneed a product that looks (and i s ) competitive. We can (and do) amongourselves point out the flaws from a user s point of view in the competi tor sproduct- - i t is hard to see how anybody could put up with a TRS BO i f theyhave had much experience with an Apple II (At 16K the difference is only 200between a Level TRS BO and an Apple Plus) . The fact is that a randomcustomer will not have the opportunity to make the comparison beyond s e e i n ~the 200 difference. (That and Radio Shack s 6,000 or so out le ts ) .Therefore l e t s use our superior engineering, software, documentation,production, service and marketing ab i l i t i e s to produce an excellent low-costcomputer. l a m not suggestine we copy and follow our c o m p e t i t i o n ~ suggestthat we leap-frog them.My personal in terest in small computers i s evangelical , tha t s why tackledmanual writ ing f i r s t . That s why fough-t for Pascal, tha t s why work forApple. y message is that computers are easy to use, and useful in everydayl i f e , and want to see them out there, in people s hands, and being used.My purpose wil l not be accomplished unless Apple continues to be one of theleaders in terms of pure numbers of customers. don t l ike being second orth i rd , I would rather Apple be number 1.

    think that one way to keep our position, and poss:i.bly get ahead, is byput t ing out a very low cost machine. That s wl.y fe l t honored when giventhe charter to star t the design effor t on Macintosh.

    M 8.1 Paec 2

  • 8/13/2019 The Macintosh Project: Select Papers [February 1980]

    35/155

    *

    THE MACINTOSH PROJECTDOCUMENT 10 VERSION 2TITLE: VARIABLE MODEL OF MEMORY VS. DISK COSTSAUTHORS: JEF RASKIN ND PEGGY MILLERDATE: 3-4 Oct 79*)PROGRAM TRADEOFF;

    TYPE SETOFCHAR=SET OF CHAR;C R T C O ~ ~ ~ D ERASEOS.ERASEOL,UP,DOWN,RIGHT,LEFT,LEADIN);

    V R M X,L,D,s,TIME,COST,f,b,T,G,U,V,W: REAL;ITIME,ICOST,IM: INTEGER; *THESE NEEDED FOR PRINTING*)ITC: INTEGER [7] ;* The variable names have been chosen to correspond to Macintosh documentnumber 7 which forms the documentation for this program*)

    CH: CHAR;CRTINFO: PACKED RR Y [CRTCOMMAND] OF CHAR;PREFIXED: RR Y [CRTCOMMAND] OF BOOLEAN;PRINT, DONE: BOOLEAN;REPORT: INTERACTIVE;

    PROCEDURE GETCRTINFO;* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * ~ * * * * * * * )* *)* READ SYSTEM.MISCINFO ND GET CRT CONTROL CHARACTER INFO *)* *)****************************************************************)

    V R BUFFER: PACKED ARRAY[0 511] OF CHAR;I,BYTE: INTEGER;F: FILL;BEGINRESET(F, *SYSTEM.MISCINFO );I:-BLOCKREAD(F,BUFFER,l);CLOSE(F);BYTE:cORD(BUFFER[72); * PREFIX INFORMATION BYTE *)CRTINFO[LEADIN):=BUFFER[62]; PREFIXED[LEADIN):=FALSE;CRTINFO[ERASEOS):-BUFFER[64); PREFIXED[ERASEOS]:=ODD{BYTE DIV 8);CRTINFO[ERASEOL):=BUFFER[65]; PREFIXED[ERASEOL]:=ODD{BYTE DIV 4);CRTINFO[RIGHT]:-BUFFER(66); PREFIXED[RIGHT]:=ODD{BYTE DIV 2).;

    M 10.2 Page 1

  • 8/13/2019 The Macintosh Project: Select Papers [February 1980]

    36/155

    CRTINFO[UP]:-BUFFERI67] ;CRTINFO[LEFT]:-BUFFER[68] ;CRTINFO[DOWN]:ECHR(10);END;

    PREFIXED [UP]: ODD (BYTE) ;PREFIXED[LEFT]:=ODD(BYTE DIV 32);PREFIXED[DOWN):=FAL5E;

    PROCEDURE CRT(C: CRTCOHMAND);(*****************************************************************)(* *)(* CRT COMMANDS ARE: ERASEOS ERASEOL,UP,DOWN,RIGHT,LEFT. *)(* *)(*****************************************************************)BEGINIF PREFIXED [C) THEN UNITWRITE( 1 ,CRTINFO [LEADIN], 1,0,12);UNITWRITE(I,CRTINFO[C],I,O,12);END;PROCEDURE PROMPTAT(X,Y: INTEGER; S: STRING);BEGIN

    GOTOXY (X, Y) ;WRITE (5) ;CRT(ERASEOL);END;

    FUNCTION GETCHAR(OKSETi SETOFCHAR): CHAR;* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * ~ * * * * * * * * * * * * * * * * * * * * * * * * * * )(* *)

    (* GET A CHARACTER, B[EP IF NOT IN OKS[T, ECHO ONLY IF PRINTING *)(* *)(******************************************************************)VAR CH: CHAR;GOOD: BOOLEAN;BEGIN

    REPEATREAD (KEYBOARD, CH) ;IF tOLN(KEYBOARD) THEN CH:=CHR(13);GOOD: = CH IN OKSET;IF NOT GOOD THEN WRITE(CHR(7ELSE IF CH IN [ } ] THEN WRITE(CH);UNTIL GOOD;GETCHAR:=CH;

    END;

    FUNCTION YES: BOOLEAN;BEGINYES:= GETCH AR([ Y , y , N , n ]) IN [ Y , y ] ;END;

    M 10.2 Page 2

  • 8/13/2019 The Macintosh Project: Select Papers [February 1980]

    37/155

    PROCEDURE INIT;BEGINGETCRTINFO;GOTOXY(O,O); CRT(ERASEOS);PROMPTAT(10,20, DO YOU W NT THE RLSULTS PRINTED? ) ;PRINT:& YES;F :& 55.0; (*FLOPPY DRIVE COST*)B :& 1.6; (*MEMORY COST IN DOLLARS PER KILOBYTE*)T 0.1; (*DISK TRANSFER TIME PER KB*)G : 0.006;' (* -lEMORY SEARCH TIME PER KB*)U . - 1.0;. (*MOTOR START-UP LATENCY*)V . - 0.15; (*MOTOR ON L T ~ N C Y (ROTATIONAL + AVERAGE SEEK)*)W . - 0.75; (*MOTOR SHUT-DOWN LATENCY*)D 18.0 ; (*DOCUMENT SIZE IN KB*)M 16.0; (*INITlAL MEMORY SIZL IN KB*)X 64.0; * ~ M U M MEMORY SIZE IN KB*)END; (*INIT*)

    PROCEDURE TIMECOST;BEGINIF D = MTHENBEGINT ME : (D*G ) ;COST := (M*b)

    ENDELSEBEGINs := TRUNC (D/M) + 1; (*for convenience, s = S + 1 in document 7*)IF (D*G/s) > WTHEN L U

    .ELSE L :& V + W - D*G/s;TIME :& D*(G + T) + L*s;COST := M*b + fENL;END; (*timecost*)

    PROCEDURE MENU; (* DISPLAY OPTIONS FOR CHANGES*)V R VALUE: REAL;BI:GINREPEATPROMPTAT(10,20, Enter le t ter or press RETURN to continue ) ;CH : GETCHAR([ F t B , T , 'G', 'U' , 'V', 'W', 'D' , X , Q ,CHR(13)]);IF CH IN [ F , B , T , 'G' , U , V , 'W', 'D', X ] THENBEGINPROMPTAT (10,22,'Enter new v a l u ~ ) ;

    READ (input,VALUE);CASE CH OF'F ' : F:- VALUE;'B ' : B:- VALUE;'T ' : T: - VALUE;M10.2 Pace 3

  • 8/13/2019 The Macintosh Project: Select Papers [February 1980]

    38/155

    G :U :V :w :D :X :END;END;

    G:c: VALUEU: VALUEV:- VALUEW c:' VALUI:D: VALUEX: VALUI

    GOTOXY(10,20); CRT(ERASEOS); (*CLEAR PROHPT LINES*)UNTIL ( CH= CHR(13OR ( CH = Q );IF CH = Q THEN DONE:= TRUL;END;PROCEDURE HEADER (FILEID:STRING) (* PRINT PAGE HEADINGS FOR REPORT*);VAR I: INTEGER;BEGIN

    CLOSI: (REPORT);RI:SET (REPORT,FILEID);WRITELN (REPORT,CHR(12;FOR 1:= 1 TO 5 DOWRITELN (REPORT);WRITELN(REPORT,' ,'VARIABLE MODEL OF MEMORY VS. DISK COSTS );FOR 1:= 1 TO 3 DOWRITELN(REPORT);END;PROCEDURE DISPLAY (FILEID:STRING); (*DISPLAY RESULTS*)BEGINCLOSE (REPORT);RESET(RI:PORT,FILEID);

    WRITELN(REPORT,'F , f : l0:[ , , FLOPPY DRIVE COST typical value: 55.0 ) ;WRITELN(REPORT,'B ,b:lO:4,, NEMORY COST IN DOLLARS PER KILOBYTE typical value: 1.6 ) ;WRITELN(REPORT,'T ,T: 10:4,, DISK TRANSFER TIME PER KB typical value: 0.1 ) ;WRITELN(REPORT,'G ,G:I0:4,, MEMORY SEARCH TIME PER KB typical value: 0.006 );WRITELN (REPORT, u ,U: 10: 4 , MOTOR START-UP LATENCY typical value: 1 0 );WRITELN(REPORT,'V ,V:I0:4, ., ROTATIONAL + AVERAGE SEEK LATENCY typical value: 0.15 ) ;WRITELN(REPORT,'W ,W:I0:4, MOTOR SHUT-DOWN LATENCY typical value: 0.75 );WRITELN(REPORT,'D ,D: 10: 4 , DOCUMENT SIZE IN KB: 6.0 ) ;WRITELN(REPORT,'X ,X:I0:4,, MAXIMUM MEMORY SIZE IN KB typical value: 64.0 ) ;

    WRITELN(REPORT,'QWRITELN(REPORT);WRITELN(REPORT,QUIT PROGRAM');

    MEMORY TIME COST

    M 10.2 Paee 4

    TIME/COST );

  • 8/13/2019 The Macintosh Project: Select Papers [February 1980]

    39/155

    WRITELN(REPORT,END; SIZE (HUNDREDTHS) DOLLARS

    PROCEDURE CALC (FILEID: STRING); (*CALCULATE RESULTS*)BEGINCLOSE (REPORT);RESET(REPORT,FILEID);M c 16.0; (*RESET INITIAL MEMORY SIZE*)WHILE M

  • 8/13/2019 The Macintosh Project: Select Papers [February 1980]

    40/155

  • 8/13/2019 The Macintosh Project: Select Papers [February 1980]

    41/155

    Since this computer is going to a larger and more diverse audience than e v ~ rbefore, the quality of the manuals will have to be espccially high. Allapplications proerams should have self-teaching sections, and any languagesshould also have computer based tutoria ls.The manuals should be well constructed physically, typeset, and ei ther wire-Oor hard bound. They should make use of color and graphics to a much greaterextent than our present manuals.3.0 SOFTWAREMacintosh software wil l have to be written to the highest levels of quality ofhuman interact ion. Updating programs in the f ie ld considering the number ofunits we antic ipate sel l ing, wil l be nearly impossible. A zero-defectatmosphere will have to be maintained in software development.3.1 LANGUAGES3.1.1 PASCALThis is our standard language, and i t should be provided, on disk, forMacintosh. Since system ~ v e l o p m e n t is not one of the main application areasfor Macintosh, Pascal should be a purchasable item. In spi te of the fact thatMacintosh is not primari ly a programming tool , i t should be possible togenerate the system software on the machine i t se l f . This d e s e r ~ islandphilosophy assures that we will not build any essential weakness ~ n t o t6esoftware.3.1.2 BASICI t is not yet possible to offer a personal computer without BASIC. We willuse whatever BASIC is implemented in Pascal for Lisa and other Apple products,perhaps with tlle elimination of heavily business-oriented f e a t u r e s ~3.1.3 APPLEThe name Apple is proposed for a programmable calculator style languagE thatwill be the subject of a future report . This languagc, along with the editor,may be part of the firmwarL-..2 'l(,ltIlqrONJ4 0 HARDWARE C. , H - I . ~ .4.1 INPUT ND OUTPUTThere wil l be a keyboard (upper/lower case, similar to Sara's and Lisa's butwith embedded numeric pad), one RS-232 port, one telephone port with modemand daa (auto answer is important, dialing would be nice), a video output, amodulated video output , and some kind of extension bus. There wil l be noexpansion s lo ts per see A few l ines of LCD alphameric display should be anoption. I t would be advantageous to allow joystick input.4. 2 CPU ND MEMMORYThe CPU choice (at present) is a 6809. There s ~ e m s to be l i t t l e advantage to

    Mll.0 Page 2

  • 8/13/2019 The Macintosh Project: Select Papers [February 1980]

    42/155

    going to our own processor a t this time. Memory is fixed a t 64K consist ingof eight 64K dynamic RAMS4.3 CASESince the requisi te c r ~ u i t r y can f i t onto a 48 sq in board, i t i s possible tohave the computer not much larger than a keyboard alone. Figure 7 shows onepossible case, and figure 6 shows how i t might be arrangt d internal ly.4.4 POWER SUPPLYThe power supply will be external via a wall-mounted transformer thus allowingthe option of a battery supply.4.5 DISPLAYI f a configurat ion such as figure 7 i s used, a L D panel should be mountablein the l id A separate monitor, in a matchinn and perhaps attachable caseshould be provided, as in fi2ure 5.4.6 DISKSI t is important to open a project to p r o d u ~ e a low-cost, even i f relat ivelylow performance disket te drive. One way i t could be integrated into thesystem i s shown in figure 5. I t is essential that some form of mass storagebe made available to th is system.4.7 PRINTERAgain see figure 5. I t i s essential that a printer be made available to th issystem.

    MIl.O Page 3

  • 8/13/2019 The Macintosh Project: Select Papers [February 1980]

    43/155

    THE MACINTOSH PROJECTDO UMENT .12 VERSION 1TITLE: ON ERNS ABOUT USING THE TELPHONE WITH PERSONAL OMPUTERSAUTHOR: JEF RASKINDATE: 9 Oct 79The ordinary telephone l ines are the only bi-direct ional electroniccommunication l inks between most people. This is not only true for the UnitedStates of America, but for a signif icant portion of the res t of the world aswell . The telephone l ines are therefore the most obvious and accessible meansfor implementing inter-computer communications a t low cost.The technical problems have been solved, and electronic interfaces betweencomputers, terminals, data acqusition and display devices and the phone l ineare inexpensive, often costing as l i t t l e as a few months telephone service.Nothing special i s required of the telephone service in order to use thesedevices: the telephone system does not distinguish voice from digita l signalsencoded as s e q u e n ~ s of tones (or combinations of tones). In fact, i t usescer ta in tones i t se l f to establ ish connections, and even to do somebookkeeping.The bandwidth of the telephone service imposes some l imit on the speed oftransmission. Inexpensive interfaces operate at a maximum of 30 charactersreceived or transmitted per second. More expensive interfaces could run at ,say, four times th is rate over the same l ines . Such fas ter interfaces forpersonal use are s t i l l a few years away.The main technical diff icu l t ies in using the phone network for personalcomputer communications 1s in adopting protocols that will allow computers' to speak to one another. This problem 1s being addressed by a number ofgroups such as the PCNET to name one, among many. Assuming that th is problemcan be solved to a point where such communication becomes commonplace, or i fthe current t m ~ sharing and data base services proliferate to the point whereindividuals begin to use them as individuals (instead of using themexclusively in connection with their employment or studies), we find anotherpotential problem. The telephone system might s tar t to move to disallow su,chuse.At f i rs t i t is not clear why the t'elephone system might oppose personalcomputer communications. I t would seem that i t would only mean increased use,and thus increased revenue. Dr. Gammill, of the Rand Corporation 1n hisPosition Paper on Personal Computers 1n the 1980's) and others have suggestedthat the telephone company might seek to l imit or control computer useage inorder to maximize income by charging a higher rate for computer transmissions.Dr. Gammill.points out that from the point of view of the phone companies,personal voice communication 1s under-charged due to regulation of thatmarket , and since the ta r r i f f s only apply to voice communication, newt a r r i f s , a t (presumably) higher rates would be applied to digitalcommunication. This would require that the phone company have special

    M 12.1 Page 1

  • 8/13/2019 The Macintosh Project: Select Papers [February 1980]

    44/155

    equipment that can distinguish between the two grades of service.I would l ike to suggest that there is a technological reason that thetelephone companies might be concerned with digi ta l use of a system intendedfor human communication. The phone system is based on a s tat is t ical model of

    p ~ o n use. There are not enough l ines and interconnections so that a l lpossible non-conflicting cal ls can be made a t once. The amount of equipmentactual ly instal led is based on assuming a certain percentage of toe possiblecal l s are being made at any time, and that cal ls have a certain dis t r ibut ionof lengths. Some cal ls las t just a few seconds: Hi, Jean? Hello Mary.I ' l l be over in five minutes. See you then, bye. Bye. Others las tlonger.The amount of equipment and personnel the telephone company needs depends onthe maximum acceptable number of cal ls that cannot be completed due to lack ofequipment, the total number of cal ls , and some s ta t i s t i cs on the length ofthose cal l s . The problem with allowing digi tal transmission probably hasl i t t l e to do with the increased number of cal ls due to such use. In the nextfew years the number of personal computers in use will remain under tenmillion, with only a percentage of these being equipped for phonetransmission. But there are over 100 million phones in daily use. So thenumber of cal ls made for the sake of a computer connection wil l remaininsignif icant for the time being. The same cannot be said for the length ofthose cal ls .As a very simple example, assume that-there are 30 cal ls per hour' (at randomt imes) on a system that can handle one cal l at a time. Also assume that thesystem requires no time a t a l l to reject a cal l when the l ine i s busy. Ifeach cal l las ts one minute, then the probability that a given cal l was placedwithout waiting is about one half ( i t depends on some other factors such asthe delay between re t r ies) . As these cal ls double in length, the probabilitythat a given cal l was placed without waiting gets extremely small. I f thecal ls are longer than two minutes in th is example, they won't al l fit--somecal ls can never be made Notice that the number of cal ls has stayed the same.

    I suspect that th is phenomenon is one of the things the telephone companiesare concerned about. I t is not the number of cal ls , but the large increase inaverage length that may well cause problems.What must not happen is that the users of personal computers get into a catand mouse game with the phone companies. A possible senario i s this : a phonecompany sets up a special , higher rate for computer use. They add a circui tthat detects the usual modem (the modem is the device that attaches a computeror terminal to a telephone l ine) frequencies and charges accordingly. At thesame time they apply to the FCC to make those frequencies mandatory(ostensibly to help promulgate standardization and the free interchange ofdata) . The computer manufacturers make a modem that sounds to the phonecompany more l ike the voice, so their detectors don't work. The phone companybuilds a better detector , and begins to throw in random .15 second pauses thatin ter fere l i t t l e with speech but play hob with digi ta l transmission. Thecomputer buffs respond with error-correct ing codes that correct for smallpauses, and make s t i l l more voice-like modulation. The phone company couldrespond with a rate scheme that vast ly increases the cost per minute af ter 10minutes . . . This could be an expensive and counter-productive war.

    M 12.1 Page 2

  • 8/13/2019 The Macintosh Project: Select Papers [February 1980]

    45/155

    If we have the various ut i t i l ty commissions and the Federal CommunicationsCommission involved i t may be years before t rue personal computer networkinggets under way There are various st rategies that may be applied-now:attempts to have legislat ion passed that wil l not allow the telephone companyto discriminate based on the content of a telephone cal l i f they s ta r t withcomputers, wil l they eventually get the r inht to charge i f f e r e n t ~ y for , saycalls with good news and cal ls with bad news? o they have the right tol i s t en in on a cal l a t a l l to determine i t s content?) One miht argue thatdeaf people can communicate via terminals over the phone and that they shouldnot have to suffer a higher rate .There m i g h ~ be an attempt to get the telephone company to give a policydecision on the matter--although this could possibly help accelerate theircoming down on what we might see as the wrong side. Apple Computer i s ,ra ther natura l ly , in teres ted in this s i tuat ion, and would l ike to hear fromin teres ted part ies .

    12 1 Page 3

  • 8/13/2019 The Macintosh Project: Select Papers [February 1980]

    46/155

    THE MACINTOSH PROJECTDOCUMENT 13 VERSION 1TITLE: IMPORTANT POINTS ABOUT MACINTOSHAUTHOR: JEF RASKINDATE: 12 Oct 791. The design assumes the existence of a network allowing nationwidecommunications. Macintosh is a communications d ~ v i c e2. The cost of the main uni t sha l l be 500, with hopes of

    lowering that cost to 300 in three years.3. The design shall have peripherals that attach mechanically aswell as elect r ica l ly making a unified packagc.4. Some functions will be available in ROM in par t icu la r the networkprotocols, some word processing, and possibly a simple programmahlecalculator s tyle language.5. I t will contain a mod( m/daa, an RS-232 port , a real-t ime clock, speakcr

    and video nd modulated outputs .6. Disks, pr in te r s a TV monitor, speech recognition and synthesis devices,

    and bat tery power supply are examples of possible peripherals, anc willnot be part of the main unit .7. R M s ize will be fixed, and probably 64K bytes. The processor wil l

    be a commercially available product, possibly a 6809.

    M 13.1 Page 1

  • 8/13/2019 The Macintosh Project: Select Papers [February 1980]

    47/155

    THE MACINTOSH PROJECTDOCUMENT 14A V R S I O ~ 10TITLl:: TUI.: APPLE CALCULATOR LANGUAGE PR-ft.IO?AUTHOR: JEf RASKINDATl:: 13 Oct 79{Note: material in braces is notes to myself, or notes to the advanced reader.The reader might well comment that the following language seems s imilar to thework done by K. Iverson over eighteen years ago. Apple is based on a re -sp(>lling of Iverson's work. Even the name "Apple" might seem derivative fromthe name he chose for his languar,e.}CHAPTER 1IT'S A SIHPL[ CALCULATOR---- ----------To begin with, this lanuagc only uses the numbers, the signs for simpleari thmetic, and the large key over on the r ight side of the keyboard markedwith the word RETURN . Press this key whenever you see the word RETURN ina box. Latl:r we wil l usc the other keys too, so as not to be was,teful.You can t e l l that i t is your turn to type whenever you see an exclamationpoint ( ) s i t t ing t the l e f t e ~ g c of the screen. As soon as you begintyping, the fin::it character that you type replaces the " ". The exclat:1ationpoint i s calle>d the "prompt" c h a r a c t ~ r oecause i t prompts you to typesomething.Now you know when you can t y p ~ something. Type5+2 [RETURN]The computer responds by sLowing the resul t7e must say a word about fixing typing errors . You can correct a typinb error

    by backspacing over i t and typing the correct information. To backspace,hold down ei ther button marked SHIFT and press the space bar.Subtract ion is indicated by the usual minus sign5-2 [ R E T U R l ~ ]3{Negative numbl:rs arc indicated by preceding them with an underscore (_), e.g.

    45.4}In th i s manual, a n ~ l ine not followed by [RETURN] i s produced by the computer,

    M 14A. 10 Pare 1

  • 8/13/2019 The Macintosh Project: Select Papers [February 1980]

    48/155

    in th i s case, the answer 3.Mult ipl ica t ion is indicated not with an X but with an aster isk (*).3*4 [R TURN]12Division is indicated by a slash

  • 8/13/2019 The Macintosh Project: Select Papers [February 1980]

    49/155

    55/11+1+12/6 2-3as interpreted by the computer? The answer i sn t 13. The answer i sn t 7. Infact there are a whole lo t of numbers that the anSWer i sn t .{ Ihe answer is 3}Powers of numbers, such a8 2 to the tenth, arc easily obtained 2 laTHE 10 [RETURN] . ', l1024

    nd to get a square root, you could write2 laTHE .5 [RETURN]1.41Notice that the answer comes out to two d ~ c i m a l places. This is thestandard, or default number of decimal places. You can get almost any numberof decimal places you want. Up to a l imit of {say, I8}. For example, to getseven places, you would type

    -7: ~ L C E S [RETURN]2 TOTH[ .5 [RETURN]1.4142136The answer is rounded to seven places. Thi s only affects what the computershows: inside i t knows the truth and remembers as many decimal places as i tcan. I t will continue to show answers to seven places unti l you give i t somvother number of places. Here is another example:10: PL CES [RETURln22/7 [RLTURN]3.14285714281: PL CES [RETURN]22/7 .6 [RETURN]

    0: PL CES [RETURN]22/7 + .6 [RLTURN]4

    M 14A.I0 Page 3

  • 8/13/2019 The Macintosh Project: Select Papers [February 1980]

    50/155

    {There might be a WIDTH specif icat ion as well Together with the PL CESspecif ica t ion t is controls precision }

    M 14A I0 Page 4

  • 8/13/2019 The Macintosh Project: Select Papers [February 1980]

    51/155

    CHAPTER 2CLUMPS OF NUNBERSHere i s an easy one to figure out17 [RETURN17The simplest expression is jus t a number. I t is not much more complicated tohave a clump of numbers, separated by spaces.34 5 67 [RETURN34 5 67A clump of numbers acts pret ty much l ike a number in an expression. When youadd a number to a clump, you add i t to each number in the clump. For example34 5 67 + 3 [RETURN37 8 7

    The way to f igure out how to handle a clump is to s tar t from the , left , (asalways). ,Firs t you find the 34, then a space, then the 5. Since there was nooperat ion between them, you know that they must be par t of a clump. Then youfind another space, followed by the 67. Since you have encountered nooperat ion, the 67 i s also part of the clump. The next thing you find is aspace followed by a plus sign, indicat inr an operation. This i s not anumber, so the clump is finished. The operation symbol you just found t e l l syou what to do to the entire clump, in this case you add three to each memberof the clump.Here is an example with multiplication.1 2 3 4 5 6 [RETURtn6 12 18 24 3Just one more example of usinr. a clump.2 5 1 -2 [RETURN]

    Remember how negative numbers are indicated. There is a very good reason fordistinguishing the operation of subtract ion from negative numbers. For oneth ing, i t i s never good to use one symbol to represent two differentconcepts. Furthermore, i f we didn t distinguish these ideas, how wouldyou put a negative number into a clump?Now l e t s evaluate

    M 14A.I0 Page 5

  • 8/13/2019 The Macintosh Project: Select Papers [February 1980]

    52/155

    7 + 2 .5 1 6Start ing a t the l e f t yo u find a 7. The next thing you find is a plus sign, soa clump i s n t being formed. Continue to the r ight and you find a 2. Now youcan perform the addit ion and add 7 to 2 to make 9. The expression i s nowequivalent to

    .9 .5 1 6 .Clearly 9, .5 and 1 form a clump, and then you f ind a multiplication sign, sothe clump is done. Now mUltiply each element in the clump to get the answer54 3 6

    a r e n t h ~ s c s are quite useful. For example you can use parentheses to write7 + 2 .5 1) 6The seven s added to the ent i re clump, to give9 7.5 8 6which evaluates to54 45 48All th i s makes the calcula tor much more convenient for calculations involvinr.a whole bunch of numbers. For example, . o convert 32, SO, 100 and 212 degreesFahrenheit to degrees Celsius, could write1: PLACES [RETURN]32 S 100 212 -32*5/9 [RETURN]a 10 32.8 100(We didn t have to l imit i t to one decimal place, but we did, for appearancessake. ) To see how this works inside the computer and how you can figureout the answer yourself) , the f i r s t part of this expression is equivalent to(32 SO 100 212)-32, or a 18 68 180. This new clump is then multiplied by five,yeilding 0 90 340 900. Lastly, i t i s divided by 9 (remember, just work fronl e f t to r ight) to yeild 0 10 32.8 100.

    M 14A.I0 Page 6

  • 8/13/2019 The Macintosh Project: Select Papers [February 1980]

    53/155

    CHAPTER 3AUTOMATIC CLIDIPSSome of the most useful clumps of numbers are just consecutive integers , forexample the thir teens multiplication table can be obtained by1 2 3 4 5 6 7 8 9 13 [RETURN13 26 39 52 65 78 91 104 117You can abbreviate a clump of consecutive integers by use of what is cal led, inEnglish, the cl r ips is . The el l ips i s is a kind of punctuation in a class withsuch things as periods, commas, semicolons . Those three dots are the el l ips i s . To save you a bi t of typing, the computeruses two dots. The th i r teen s table can be produced by the expression1 9 13 [RETURN13 26 39 52 65 78 91 104 117Of course, you can count backward5 2 +3 [RETURN8 7 6 5

    { I n t e r e s t i n ~ l y

    5 7 2 [RETURN5 4 3 2 6 5 4 3 2 7 6 5 4 3 2Why is this? Because 5 7 is 5 6 7, so the expression is equivalent to

    5 6 7) 2which is 5 2 6 2 7 2Just r e m e m b ~ r to do things s t r i c t ly from l e f t to r ight . Also notice that i freal numbers are used where i n t e ~ e r s are expected, as in 3.6 7.2, they aret runcated to integers 3 7}So far we have done ari thmetic between a single number and a clump. ~ nclumps are the same length, we can easi ly do ari thmetic between whole clumpsa t a time. I t i s done element by element.1 2 3 4)+ 4 3 2 1) [ ETU N )

    5But remember, without parentheses, you have to work things through from l e f tto r ight , element by element.

    H 14A.I0 Page 7

  • 8/13/2019 The Macintosh Project: Select Papers [February 1980]

    54/155

    1 2 3 4+4 3 2 1 [RETURN]5 6 7 832 1This can be h e k ~ d by star t ing to form a clump 1 2 3 4. Then you find anoperation, which applies to the whole clump. The operation is to add four toeach element of the clump. That gives you 5 6 7 8. There is no operationbefore the next number, so you must s t i l l be clumping. This explains thegiven answer.{This also shows that juxtaposit ion indicates c-oncatenation of output.Another example is2 6 3 1 [RETURN]2345632

    You might l ike to try1 4+4 1, which is equivalent to(1 2 3 4)+4 1, but th is i s(5 6 7 8 1 or5 432 65 4 3 2 1 7 6 5 4 3 2 1 8 7 654 3 2 1Now consider(1 2)+(1 . 3) [RETURln243

    These two clumps are of different lengths. The shorter clump is always paddedto make i t equal in length to the longer. In this case i t i s padded withzeros. {The identi ty element is always used as padding. For addit ion andsubtract ion i t is 0, for multiplication and division i t is 1. A more completel i s t of padding elements is presented la te r .}One l as t thinp to t ry3/0 [RETURN)YOU MUSTN T DIVIDE Y ZEROThis is an example of a error message which t e l l s you that you have donesomething beyond the pale .

    M 14A.I0 Page 8

  • 8/13/2019 The Macintosh Project: Select Papers [February 1980]

    55/155

    CHAPTER 4SOME OTHER OPERATIONSI t is sometimes convenient to be able to get just the remainder of a division.In accord with common practice, this is indicated by MOD3 HOD (RETURt,1If you divide 3 by 2 you do, indeed, g ~ t one l e f t o v e r ~ This next example iseducationalL 16 HOD 7 [RETURN)1 2 3 4 5 6 0 1 2 3.4 5 6 0 1 2You can g ~ t the greater or lesser of a pair of numbers.3 M X 38 [RETURN]383 MIN 38 [RETURN].338 HAX 3.09 [RETURt;]3817 21 M X 19 [RETURN]19 19 19 20 21With clumps of equal length you can easily do th is1 2 4 8 16 MIN (1 3 6 9 121 2 4 8 12And, similarly, you can compare numbers. In this laneuage the n u r n ~ r 0 isused to indicate that an answer is false, and 1 indicates that an answer , ist rue. While this may seem a bi t strange, we will be able to use these valu( sin some ra ther neat ways l a terThe sign > means greater than.1642 > 31.008 [RETURN)15 > 7 [RETURN]

    M 14A. 1 0 P a ~ e 9

  • 8/13/2019 The Macintosh Project: Select Papers [February 1980]

    56/155

    oThe equal sign (=) we use unblushinr,ly to mean equals .3 = 4 {RETURN]o6 4 c 6.4 [RETURN]1We usc < for less than, but won't bother with any examples, but go on to use= greater than or equal to.

    18 = 3 [RETURN]

    o7 >= 7 [RETURN]1Last ly, in th is group, we use for not equal to, since i t has, the meaninggreater t