Bruce Horn je bil eden izmed pomembnih oblikovalcev Macintosh programske opreme. Skupaj s Steve Cappsom je sprogramiral Finder, ki je še danes jedro Mac OS operacijskega sistema. Preden je Bruce prestopil k podjetju Apple, je delal v Xerox raziskovalnem centru (PARC) zato je tudi najbolj kompetenta oseba, ki lahko razloži takratno razmerje med podjetjima Apple in Xerox.
V poletnih mesecih leta 2007 je obiskal Slovenijo. S kolesom se je odpravil iz Ljubljane do Ajdovščine. Prekolesaril je razdaljo (Logatec – Kalce – Podkraj – Col). V Ajdovščini se je srečal z znanim slovenskim podjetnikom g. Ivom Boscarolom, ki je za svoje delo prejel več nagrad. Bruce je bil nad obiskom Slovenije navdušen.
Kje se je vse začelo
Že več kot desetletje poslušam razpravo o izvoru Macintosh uporabniškega vmesnika. Večina ljudi misli, da izvira neposredno iz družbe Xerox potem, ko je Steve Jobs obiskal Xerox PARC (Palo Alto Research Center). To “dejstvo” ljudje, ki ne vedo dovolj (in tudi ljudje, ki bi morali!), ponavljajo znova in znova. To seveda ni resnično – obstajajo nekatere podobnosti med vmesnikom družbe Apple in različnimi vmesniki na Xerox sistemih, vendar so vmesniki zelo različni.
Ko je Steve obiskal PARC je videl Smalltalk ter integrirano programsko okolje z možnostjo izbire besedila z miško, pojavne menije, okna in podobno. Skupina, ki je znotraj podjetja Apple delovala na projektu Lisa, pa je zasnovala sistem na lastnih idejah, združenimi s spomini na Smalltalk-ovo demonstracijo ter tako naredila še en sistem. Med uporabo Mac in Smalltalk sistemov ni veliko podobnosti.
Smalltalk nima aplikacije Finder in je pravzaprav tudi ne potrebuje. Povleci-in-spusti datotečno urejanje izvira iz Mac skupine, skupaj s kopico unikatnih konceptov kot so:
- viri in “dual-fork” datoteke za shranjevanje postavitve in mednarodnih informacij ločeno od kode
- definicijske procedure
- povleci-in-spusti sistemske razširitve in nastavitve
- tipi in izdelovalci za datoteke
- neposredno urejanje imen dokumentov, diskov in aplikacij
- presežni tipi podatkov za odložišče
- večje število pogledov datotečnega sistema
- namizni pripomočki
- nadzorne plošče ter mnogo drugih konceptov.
Skupina Lisa je prav tako razvila nekaj osnovnih konceptov:
- pojavni meniji
- slikovni in okenski modeli, ki temeljijo na tehnologiji QuickDraw
- odložišče ter programsko opremo z možnostjo enostavne lokalizacije.
Smalltalk je imel miško s tremi tipkami in pojavne menije za razliko od menijske vrstice in eno-gumbne miške na Mac računalniku. Smalltalk ni imel niti oken, ki bi se sama posodabljala – potrebno je bilo klikniti na okna za ponoven izris, aplikacije pa niso mogle izrisovati v delno zakrita okna. Bill Atkinson ni vedel tega, zato je izumil regije za temelje QuickDraw pogona in Window Manager urejevalnika tako, da je lahko hitro izrisoval v prekrita okna in ponovno izrisoval dele oken v ospredju. Ena izmed lastnosti Macintosh računalnikov, ki je identična lastnostim v Smalltalk sistemih, je izbira besedila z rezanjem in lepljenjem, ki jo je razvil Larry Tesler za lasten Gypsy urejevalnik v PARC razvojnemu centru.
Kot se vam morda že dozdeva, je razlika med Xerox sistemsko arhitekturo in Macintosh arhitekturo ogromna. Mnogo večja, kot je razlika med Mac OS in Windows sistemoma. To ni presenetljivo, saj je Microsoft videl precej Macintosh lastnost (API-jev, primere programske kode, ipd.) med razvojem Mac sistema od leta 1981 do 1984; namen predstavitev je bil, da bi jim pomagali pisati aplikacije za Mac sistem, ob tem pa so njihovi sistemski razvijalci dobili predlogo po kateri so zasnovali Windows sistem. Za primerjavo, Mac in Lisa razvijalci so morali izumiti lastne arhitekture. Seveda je bilo nekaj bivših Xerox uslužbencev v Lisa in Mac skupinah, a razvojni cilj za te naprave je bil tako drugačen, da nismo uporabili našega znanja o Xerox sistemih tako pogosto kot mislijo nekateri ljudje.
Strojna oprema je bila tudi zelo napredna. Ponujala je zasnovo vse-v-enem, štiri-glasovni zvok, majhno podnožje, uro, diskete z mehanizmom za samodejno odstranjevanje, serijske priključke in tako naprej. Majhno, prenosno, lično ohišje se je očitno razlikovalo od grdih škatel PC računalnikov, zahvaljujoč Jerryju Manocku in njegovi skupini. Celo embalaža je razkrivala neverjetno kreativnost in strast – se morda kdo od vas spomni odpiranje embalaže originalnega 128K Mac računalnika? Mac, navodila za odpiranje, ilustrirana in lepo napisana navodila za uporabo ter animiran program za vadbo z zvočno kaseto, so bili okusno zapakirani v kartonasti škatli z grafiko v Picassovem stilu na stranici.
Pogled nazaj
Po mojem mnenju, je bila programska arhitektura razvita v družbi Xerox za Smalltalk in Xerox Star precej bolj napredna kot na Mac ali Windows sistemih. Xerox Star je bil precejšen dosežek, z lastnostmi, ki jih tedanji sistemi niso niti začeli vključevati, čeprav vidim OpenDoc kot precejšen napredek v primerjavi s sistemi družbe Xerox. Še vedno zelo spoštujem računalniške razvijalce centra Xerox PARC zaslužene za inovacije, ki se nam danes zdijo povsem običajne in od katerih sem se sam naučil veliko o oblikovanju programske opreme.
Apple bi lahko razvil bolj napreden sistem za borbo proti Xerox arhitekturam. A Mac se je moral začeti prodajati in moral je biti dovolj poceni – na voljo ni bilo časa, niti sredstev za “najboljši možen” sistem. Kot “mlajši bratec” sistemu Lisa, Macintosh ni imel večopravilnosti ali zaščite – nismo imeli prostora za dodatno kodo ali zahtevani sklad. Originalni Macintosh je imel izredno velike pomnilniške in diskovne omejitve. Na primer, Resource Manager je zavzemal manj kot 3000 bitov kode v ROM pomnilniku in Finder je zasedal le 46K na disku. Naredili smo veliko kompromisov, ki smo jih obžalovali do določene mere. Celo takrat smo bili nekateri razočarani zaradi kompromisov, ki smo jih morali narediti, a če bi naredili drugače, je vprašanje kako bi se sistemi sploh prodajali.
Preteklost in prihodnost
V mnogih pogledih je računalniški svet zelo malo napredoval od leta 1976, saj ponovno izumljamo že razvite stvari. Smalltalk je imel dober bit-kodni, več platformni virtualni pogon že veliko pred Javo. Objektno usmerjeno programiranje je danes izredno pomembno, staro pa je že skoraj 30 let (oglejte si Simula-67 jezik). Tudi okolja niso kaj dosti napredovala. Menim, da so Smalltalk okolja iz poznih 70-ih najbolj prijetna, najbolj čista, najhitrejša ter najboljša programska okolja, ki sem jih kdajkoli uporabljal. Čeprav je CodeWarrior precej dober za razvijanje v C++ jeziku, še nisem naletel na okolje podobno Smalltalk sistemom, ki sem jih uporabljal pred skoraj 20 leti. Po mojem mnenju, današnji Smalltalk sistemi niso več tako čisti, enostavni za uporabo ali tako dobro zasnovani kot njihovi predhodniki.
Niti slučajno še nismo blizu ultimativni računalniški-informacijski-komunikacijski napravi. Imamo še veliko dela na sistemski arhitekturi in uporabniških vmesnikih. Pravzaprav mora biti zasnova uporabniškega vmesnika podprta z globokimi arhitekturnimi spremembami in ne samo z novimi uporabniškimi vmesniki. Vmesniki so strukture, ne slike. Niti Copland niti Windows 95 (niti NT, če smo natančni) ne predstavljata zadnje besede pri operacijskih sistemih. Na žalost marketinška strategija upočasnjuje razvoj naslednje revolucije. Še vedno pa mislim, da lahko računate na Apple za vpeljavo teh izboljšav na tržišče.
Mnoge stvari, ki se jih spomnim kot, da izvirajo iz podjetja Apple, so bile skoraj zagotovo razvite ločeno nekje drugje. A Mac jih je predstavil svetu.
Viri
Bruce je članek napisal že davnega leta 1996, z njegovim dovoljenjem je bil objavljen v knjigi Andy Hertzfelda) in ravno tako mi ga je dovolil objaviti tukaj. Iz angleščine, ga je prevedel Matic Kunaver. Originalen tekst si lahko preberete na folklore.org