Varje moderna människan har multitasking funktioner till sina enheter. Det spelar ingen roll vad det är: en smartphone, surfplatta eller hemdator. De flesta människor inte ens tänka mycket om hur man konstruerar driften av systemet med flera processer samtidigt: vi bara Vi kommunicerar på nätverket, som arbetar med olika dokument, lyssna på musik och titta på tv-program, skickligt flytta mellan flera löpning program. Denna berättelse, vars författare är Andy Gertsfeld innehåller ingen förklaring av den komplexa fördelningen av minne och andra tråkiga tekniska manualer, men talar om hur multitasking och därmed dök upp i företagets datorer Apple.
Den första kommersiella produkten arbetade jag efter att ha lämnat Apple i mars 1984 var Thunderscan - ganska billig scanner för Macintosh. Dess tillkomst skedde i samarbete med en liten företag Thunderware. Arbetet inleddes i juni 1984 och i början av oktober, projektet var nästan klar.
Tom Petri, en av de två ledarna Thunderware (den andra var Victor Bull, som jag arbetat med en termisk skrivare Silentype, som blev det första projektet, Jag har skapat för Apple), gav jag flera presentationer av olika datortidningar för att få positiv feedback som krävs för befordran produkt. 11 okt 1984 Jag gick med Tim till kontoret i Hillsboro för att demonstrera Thunderscan för Byte magazine.
Byte granskare var John Markof. Han var författare till kolumnen om teknik i San Francisco Chronicle. John ansågs vara en av de bästa journalisterna som täcker personliga datorindustrin. Tom talade om Thunderscan, och senare startade en demo scan. John ställde några frågor, skrivna i textredigeraren för sin IBM PC. Under min nästa svar ringde hans telefon.
Adjö, John tryckte tangenterna på tangentbordet och sedan på datorskärmen textredigeraren snabbt ändras till ett annat program. Han var på telefonen för en minut eller två, och sedan avsluta samtalet återvänder till listan med frågor om Thunderscan använder alla av samma tangentkombination.
"Vad gjorde du bara göra? - Jag var intresserad av sin programvara - du kan byta till ett annat program så snabbt? "
"Åh, jag använder Memory Shift. Har du inte upplevt detta? - John säger - är en DOS verktyg som låter dig att tänka på flera program och växla mellan dem snabbt. Jag använder ofta det under de senaste åren. " Han visade processen att byta några gånger för att visa mig hastigheten på detta verktyg.
"Du vet, jag tror att jag kan göra något liknande för Macintosh» - jag utbrast innan medvetet tänka igenom.
Macintosh 512K leveranserna började för några veckor sedan. Jag försökte köra flera program samtidigt på en 512K, men var hörn konflikter minnet och andra potentiella fallgropar. Men nu, efter att ha sett en omfördelning i handling, hade jag idén, som det verkade, inte alltför svårt att genomföra.
"Ja, det skulle vara bra" - John överens om. Jag fortsatte Thunderscan demonstration, men kunde inte koncentrera sig helt, tänker på att byta mellan applikationer. Det föreföll mig att skapandet av en sådan nytta - fullt möjligt uppgift blir resultatet som att vara mycket användbart.
Tom Petri märkte min upphetsning på grund av de nya idéerna. Efter presentationen tog han mig hem, och påminde om mina skyldigheter, tar mig lovar att avsluta alfa-version Thunderscan så snart som möjligt, innan något nytt. Vi kom överens om en förteckning över uppgifter som jag var tvungen att utföra två kommande veckorna. När alfaversionen var klar, kunde jag ta en kort paus för att arbeta på switchen ansökan senare åter fördjupa sig i arbetet med Thundescan, förbereda version 1.0 i slutet av november.
Polering Thunderscan, funderade jag nyanserna i programmering switch. Välja mellan att ladda ner programmet i ett enda område som är optimal att använda minnet, och användningen av individuella zoner för bättre isolering av varje program, fast jag på den andra versionen, även om han inte var säker på riktigheten av detta val.
Vi var tvungna att lösa en hel del små problem. Det viktigaste var att programmet lagras i ett minne är globala variabler som ska bytas ut under växeln, eftersom varje program har sin egen uppsättning av variabler. Inte alla punkter var uppenbart för mig. Jag visste att min första erfarenhet är inte idealiskt, men jag är säker klarat med felsökning av alla de oundvikliga problem.
Några dagar efter starten av den sista etappen av arbetet med Thunderscan jag fick mycket ett intressant telefonsamtal från Jeff Harbers som var chef för laget Macintosh-program Microsoft. Det rapporteras att Microsoft har utvecklat ett mycket viktigt strategiskt projekt, och de tror att jag skulle vara en idealisk kandidat för dess genomförande. Jeff inte avslöja andra detaljer på telefonen, men han erbjöd att flyga till Seattle för att diskutera allt personligen. Jag var förbryllad tillräckligt för att stoppa arbetet med Thunderscan och sitta i planet.
Jeff plockade upp mig på flygplatsen och vi leds till huvudbyggnaden av företaget Microsoft, där vi anslöt sig Neil Conze - en begåvad 23-årig programmerare på Macintosh. Jag kände honom från tiden för vårt gemensamma arbete på att lägga till funktioner till en assembler. Han på den tiden var bara 16 år gammal.
Jeff frågade mig vad jag för närvarande arbetar med. Jag berättade för honom om Thunderscan, men när nämnda experiment med verktyget app byta hans haka föll till marken. Jeff kunde inte tro att jag faktiskt sagt det.
"Det här är precis vad vi ville prata! Det är bra att du redan arbetar på det "- Jeff utropade.
Han förklarade att det är nödvändigt att arbeta hårt för att få det att fungera konsekvent tillämpningar i små områden av Macintosh 128K RAM. Dessutom har Lotus tillkännagav nyligen en ny mjukvara för Jazz Macintosh 512K, vilket gör att du snabbt och enkelt växla mellan dess funktionella områden. Syftet med besöket var att övertala mig att skriva en liknande ansökan, slå på ett kontrakt med Microsoft.
Neil Conze presenterade potentiella projekt utvecklat verktyg på bordet. Han föreslog att använda samma minnesområde, som jag omedelbart vägrade, berättar om den alternativa metoden, med separata områden som ger den största tillförlitligheten.
Min dag i Microsoft avslutade ett privat möte med Bill Gates. Jeff tog mig till sitt kontor och bad om ursäkt och lämnade oss ensamma.
Efter den åtföljande utbyte av artigheter, Bill tittade upp och frågade mig i ögonen: "Du är verkligen en bra programmerare, är det inte? Jag tror att du verkligen måste vara en bra programmerare. "
"Jag tror det," - svarade jag, utan att veta varför han smickrar mig.
"Jag tror det också. Hur tror du hur mycket tid det tar att genomföra detta projekt? En månad eller två? Det förefaller mig, en bra programmerare ska hantera detta på ett par månader. "
"Jag vet inte - Jag sa - vet inte ens om det är möjligt att genomföra."
"Låt oss se - sade han lite nedlåtande ton - det bör inte ta mer än tio tusentals rader kod, och en riktigt bra programmerare kan skriva minst tusen rader i vecka. Jag tror att det kommer att ta dig inte mer än tio veckor. "
Jag vet inte vad jag ska svara, så jag höll bara tyst och lyssnade.
"Vad tror du, hur mycket pengar kan tjäna en bra programmerare? Vi betalar våra bästa anställda om två tusen dollar i veckan. Tror du inte att du måste betala mer? "
"Jag vet inte" - svarade jag. Det blev klart att Bill försökte slå mig på ett mycket snabbt sätt att skriva det här verktyget.
"Om du får om fyra tusen dollar i veckan, - fortsatte han - att i slutet av tio veckor kan du få fyrtiotusen."
Jag sa till honom att jag kommer att göra allt för att se till att detta verktyg fungerar bra med program från Microsoft. Jag ville göra det i vilket fall som helst och utan detta förslag, eftersom Microsoft-program har varit mycket populär bland användarna. Vi skakade hand och jag lämnade kontoret på ett positivt.
Hemma i Palo Alto, ville jag att utveckla ett koncept av verktyg för att byta program, trots slutdatum för Thunderscan beredning.
Till slut var jag tvungen att skapa ett användargränssnitt för detta verktyg. Jag har arbetat non-stop 20 timmar, att utveckla ett kärnprogram. Otroligt var det trevligt att titta gradvis förbättrar stabiliteten av verktyget, lösa vanliga problem med minnet.
Under arbetet med sitt projekt, jag märkte Bud Tribble, som återvände till Apple i juli 1984 till posten som Software Manager efter en medicinsk praktik vid University of Washington och bodde nära mig.
Jag frågade Bud för sig själv, för att visa snabb växling mellan MacPaint, MacWrite och MacDraw. Han var imponerad, men till min förvåning har klagat över att övergången sker för snabbt.
"Och om någon kommer att göra denna switch av misstag? Detta kan leda till förvirring, - han berättade - det kan vara möjligt att använda animation för att skapa en smidig övergång "?.
Denna idé verkade riktigt bra. Vi bestämde att ändra programmet måste rullas horisontellt, och alla program som körs klart kan visas i ett litet område på skärmen. Jag skrev snabbt nödvändiga koden och blev förvånad över hur stor programmet blixtrade över skärmen.
Jag visade detta koncept till dina vänner från Apple och några enkla användare. Allt positivt omfamnade mitt projekt. Tyvärr har jag inte tid att Thunderscan revision, men jag har fortfarande uppfyllt löftet, och han var klar i slutet av november.
Efter en kort paus var det dags att gå tillbaka till utvecklingen av verktyg för att byta program, började jag ringa Switcher. I början av december hade jag insåg det mesta, bland annat användargränssnittet.
I början av januari 1985 fick jag ett telefonsamtal från Guy Kawasaki, som berättade att Apple är intresserad av att köpa Switcher. Det första steget var att genomföra en produktpresentation till Steve Jobs.
Att gå in i hans kontor, var jag lite orolig, bedöma projektet i en kvarts miljon dollar, men han var säker på att Steve betala mig aldrig så mycket. Jag var stolt över sitt barn, och jag var intresserad av reaktion jobb på honom. Running MacWrite, MacPaint, MacDraw och Finder, jag avsiktligt visade upp Switcher med animation, för att sedan göra en spektakulär intryck. Jag snabbt växla mellan program i båda riktningarna.
"Ja, jag såg nog - Steve avbröt mig - det är bra. Vi vill integrera detta projekt i Mac ».
Ett ögonblick stod han och tittade på mig intensivt, som om han ville skrämma mig.
"Jag vill inte att du ska användas Apple».
"Vad menar du?" - förbryllad hans ord, jag frågade honom en fråga.
"Du kommer inte att kunna avsluta programmet utan den information som du kan komma hit. Som ett resultat har du förlorat lusten att avsluta projektet. "
"Programmet är klar exakt hälften. Jag tvivlar på att om jag betalar ärlig, jag kommer inte att motivera att slutföra arbetet, "- Jag började bli arg.
Efter att ha sett mig ännu allvarligare utseende, meddelade Steve ett enda nummer, utan någon förklaring.
"Hundra tusen dollar."
"Jag vet inte - Jag sa till honom. - Jag tror att Switcher är mycket dyrare"
"Inte argumentera med mig, - parerade jobb - ett rimligt pris, och det vet du."
Det verkade som om jag inte hade något alternativ, och jag var tvungen att kapitulera för Steve prissättning. Med honom var det verkligen mycket svårt att argumentera. I slutändan, vid undertecknandet av ett slutgiltigt avtal med Guy Kawasaki jag kunde få bonusen, som i framtiden förde mig en annan femtio tusen.
Som väntat den svåraste delen av arbetet med Switcher var att få honom att arbeta kontinuerligt med Microsoft-program. Utvecklare har låtit sig olika friheter med systemet har skyggat från sedvanliga instruktioner, vilket orsakade mig vissa svårigheter.
Jag var tvungen att översätta pseudokod till bytekod. Översättning med sex lag för efterföljande felsökning var ganska smärtsamt för Switcher.
En av den senaste tidens problem, jag möter upp till den första utgåvan Switcher mars 1985, Det var genomförandet av möjligheten att "döda" Hung ansökan utan att behöva stänga av alla omedelbart. Jag har lagt till funktionen i kombination med förmågan att övervaka status för program som körs.
Jag var tvungen att välja en tillräckligt sällsynt kombination av tangenter för att starta denna funktion. Jag valde fyra knappar, vilket, som det verkade, var det mycket svårt att komma över av en slump, men ändå blev överraskad när jag fick ett telefonsamtal från Jeff Harbers från Microsoft.
"Jag gillar det här alternativet tvingas slutförandet av programmen, men du måste ändra kortkommandot, eftersom vi använder detta när du arbetar med Microsoft Word». Jeff förklarade för mig att Ordet är en mycket komplicerad redaktör och har ett stort utbud av kortkommandon.
Jeff erbjöd inte något konkret, men kallade mig nästa dag, erbjuder en annan kombination.
"Vi kommer att ändra ordet i nästa nummer. Problemet är att vi inte har kommit för att hitta en säker knappsekvens. Vi använder bara dem alla "- skrattade åt mig, Jeff.
Frisläppandet av den slutliga versionen av Switcher officiellt hölls i April 1985. Jag stödde flera versioner efter lanseringen, men till slut gav det till Phil Goldman, en begåvad programmerare från Princeton, som har fått ett jobb på Apple. Han började utveckla Multifinder, som blev mottagaren Switcher 1987.
via Folklore.org