Apple: 1995–2011: una NeXT con una differente denominazione
Steve Jobs e il rinnovamento di Apple
L’anabasi di Jobs e dei suoi “pirati”
La storia del NeXT è stata raccontata più volte e da ultimo, molto in dettaglio, da Walter Isaacson, il biografo di Steve Jobs. Ai nostri fini è sufficiente sapere che nel 1996 la tecnologia di NeXT e tutti i suoi dipendenti furono assorbiti dalla Apple a seguito del rientro di Jobs nella società che aveva co-fondato nel 1976. Da lì è iniziata la lunga marcia verso la Apple di oggi: un’azione della Apple nel 1995 valeva 1,95 dollari, a settembre 2018 valeva 200 dollari. Un investimento di 1000 dollari fatto nel 1995, considerando anche i frazionamenti azionari avvenuti nel frattempo, varrebbe oggi cica mezzo milione di dollari. Coloro che con Jobs approdarono da NeXT alla Apple avevano percorso un lungo e doloroso cammino simile ai greci nell’Anabasi.
Ma questo si sa.
Non tutti sanno però che gli anni di NeXT possono essere suddivisi in due fasi ben distinte. La prima fase è quella di NeXT Computers Inc., cioè della costruzione della “macchina perfetta”. In questa fase gli stimoli manifatturieri assorbono le migliori attenzioni del gruppo. È la fase in cui si replica il modello, diciamo, Apple. È un periodo che dura dal 1986 al 1992, quando viene deciso di abbandonare la costruzione della macchina per concentrarsi interamente sul software, in cui si individua il vero valore aggiunto, ciò di cui ha bisogno il mercato. È il modello Microsoft a prevalere. Così la società nel 1993 cambia nome da NeXT Computers Software Inc. Questa fase dura dal 1992 al 1996 e se ne sa pochissimo anche perché da quel momento diventa storia della Apple. Di quella fase è stata il prequel. Eppure nelle stanze di NeXT successero delle cose importantissime e veramente decisive per lo sviluppo della tecnologoa Apple negli anni successivi.
La mafia NeXT
Una cosa, però, si conosce di meno. La tecnologia del NeXT e soprattutto il suo sistema operativo, NeXTstep, ha nutrito incessantemente la tecnologia della Apple per oltre 20 anni e gli uomini e le donne provenienti da NeXT sono stati collocati nei posti di maggiore responsabilità della società della mela. Tanto che a un certo punto non si faceva mistero dell’esistenza di una sorta di “mafia NeXT” o “casta NeXT”, tanto importante era l’influenza e la retribuzione delle persone che venivano da quell’esperienza, i nextonians.
Tra i nextonian passati ad Apple in ruoli di primo piano c’è Avie Tevanian, la mente dietro l’architettura software di NeXT e successivamente di Mac Os X, che è rimasto in Apple fino al 2006 come Chief Software Technology Officer. Proviene da NeXT Scott Forstall, che è stato responsabile dello sviluppo del software iOS fino all’ottobre 2010. Anche Craig Federighi, successore di Tevanian e oggi responsabile dell’intera area software di Apple, è un nextonian. Tra loro c’è pure Bud Tribble, uno dei fondatori di NeXT, a cui si deve la famosa definizione di “campo di distorsione della realtà” a proposito della visione di Jobs. Bud è tornato in Apple nel 2002 e ha ricoperto fino al 2015 la carica di Vice-president of Software Technology.
Nel 2017 Scott Forstall al Computer History Museum di Mountain View, in un meeting indetto per celebrare il decennale dell’iPhone, ha raccontato come è nato l’iPhone nella mente di Steve Jobs e come è stato realizzato dal team che Jobs aveva messo insieme per crearlo.
Da NeXTSTEP a Mac Os X fino a iOS
Che tra NeXTstep e iOS ci sia un rapporto di diretta filiazione, mediato da Mac Os X, è qualcosa che va oltre ogni ragionevole dubbio. Un consistente numero di classi che costituiscono l’architettura del sistema di sviluppo di iOS (denominato Cocoa e poi Swift) hanno il prefisso “ns” che sta per NeXTstep. Prima ancora di iOS, NeXTstep era diventato Mac Os X, che nel 2000 fu rilasciato come sistema operativo della nuova generazione di Mac.
Proviene direttamente da NeXTstep il tool grafico, parte di xCode — l’ambiente di sviluppo di iOS –, per costruire l’interfaccia utente delle applicazioni per i dispositivi iOS e per unire i vari elementi che la compongono. Non ha neppure mutato il suo nome, si chiama Interface Builder e produce un file .nib (abbreviazione di NeXT Interface Builder).
Anche la “x” inclusa nel nome del nuovo sistema operativo dei Mac è un indizio mica da poco: sta per NeXT o, forse con maggiore probabilità, sta per Unix, che oltre a costituire il nucleo di Nextstep è anche il nucleo di Mac Os X. L’origine di questa “x” comunque non la conosciamo, ma tra tutto questo c’è una strettissima parentela.
Che Jobs volesse preservare e sviluppare l’eredità dei suoi 10 anni di duro lavoro e di travaglio in NeXT è fuori discussione. Durante quella esperienza, libero da ogni costrizione esterna e con i capitali messi da Ross Perot e da Canon, aveva dato attuazione alla sua visione di rendere il computer il più smart degli elettrodomestici.
Unix e il micronucleo Mach
Come NeXTstep, Mac Os X e IOS sono basati su Unix, il sistema operativo portabile sviluppato nei laboratori Bell e rilasciato nel 1969. La principale caratteristica di Unix è la sua capacità di eseguire applicazioni in timesharing. Il timesharing consente alla memoria centrale del computer (CPU) di distribuire il suo tempo tra più attività e più utenti. Il che significa che se un’applicazione si blocca inaspettatamente per una qualsiasi ragione, questo evento non provoca il blocco dell’intero sistema e conseguentemente delle altre applicazioni in timesharing.
Unix consente agevolmente il multitasking, la protezione della memoria e l’esecuzione di programmi e servizi in background, cioè senza il controllo diretto dell’utente. Tutte proprietà che i sistemi operativi dei primi personal computer non avevano. Per esempio un sistema motorizzato da Unix può eseguire un brano musicale mentre effettua una stampa e l’utente sta processando una formula in un foglio di calcolo e un secondo utente remoto sta scaricando un file in rete dalle risorse di quel computer.
Per sviluppare l’architettura di sistema di NeXTstep Jobs chiamò Avie Tevanian che aveva lavorato al progetto Mach della Carnegie Mellon University. Mach, che diventerà il kernel di NeXT, era costruito su un approccio radicale conosciuto come “architettura del micronucleo” in base al quale il sistema operativo doveva esternalizzare il maggior numero di funzioni allo scopo di migliorare la sua stabilità. Un principio contrario a quello in voga all’epoca.
Ecco come Isaacson descrive questa fondamentale integrazione di NeXTstep nel nuovo sistema operativo della Apple:
Al MacWorld di San Francisco del gennaio del 2000, Jobs varò il nuovo sistema operativo Macintosh Os X, parzialmente realizzato con software che la Apple aveva acquistato dalla NeXT tre anni prima. Era una circostanza appropriata, e non del tutto casuale, che egli avesse desiderato tornare alla Apple nello stesso momento in cui il sistema operativo della NeXT veniva incorporato in quello della Apple. Avie Tevanian aveva introdotto il kernel Mach, un nucleo tipo Unix, del sistema operativo NeXT e lo aveva trasformato nel kernel Mac Os, conosciuto come “Darwin”. Esso offriva protezione della memoria, networking avanzato e multitasking con prelazione.
Proprio ciò di cui il Macintosh aveva bisogno — continua a scrivere Isaacson. Sarebbe diventato il fondamento del Mac Os. Alcuni critici, tra cui Gates, fecero notare che la Apple non aveva adottato integralmente il sistema operativo NeXT. C’era del vero, perché la Apple aveva deciso di non saltare a un sistema completamente nuovo, ma di proporre un’evoluzione di quello già esistente. Le applicazioni software pensate per il vecchio sistema Macintosh risultavano essenzialmente compatibili (in emulazione di sistema) o comunque facili da importare nel nuovo sistema: passando a quest’ultimo, l’utente Mac avrebbe percepito molte novità, senza tuttavia dover fare i conti con un’interfaccia completamente nuova.
Una evoluzione soft che il team dei nextonian e degli sviluppatori della Apple seppe realizzare alla perfezione, rendendo evanescenti tutte le preoccupazioni del precedente management sulle possibili devastanti conseguenze di un passaggio così delicato e strategico nell’architettura del software di sistema.
Objective-C
Come NeXTstep, Mac Os X e iOS sono stati sviluppati in Objective-C, un linguaggio di programmazione a oggetti derivato dal linguaggio C. Objective-C consente agli sviluppatori di applicazioni di utilizzare blocchi di codice preimpostati (oggetti) per sviluppare determinate funzioni routinarie, senza bisogno di programmarle da zero. Gli oggetti sono una sorta di componenti prefabbricati che si possono assemblare per ottenere un determinato edificio, come si fa con il Lego.
Nella citata intervista del 1995 Jobs dichiarò che la programmazione a oggetti avrebbe rivoluzionato il modo di creare software nei successivi 20–30 anni. E così è stato.
Alcune applicazioni tutt’oggi utilizzate sul Mac o sull’iPhone sono l’evoluzione del software inizialmente sviluppato per la piattaforma NeXT. Tra queste Numbers (inzialmente Parasheet), Keynote (inizialmente Concurrence), Pages, OmniGraffle (inizialmente Diagram!).
Objective-C era stato creato da Brad Cox, un brillante sviluppatore dello Xerox PARC, come evoluzione di SmallTalk, le cui grandi potenzialità Jobs aveva immediatamente intuito durante la sua leggendaria visita al centro. Jobs ottenne da Cox la licenza per l’uso di Objective-C nel NeXT e nel 1995 Apple acquisì Stepstone, la società fondata da Cox, proprietaria del linguaggio.
AppKit Framework
Insieme al linguaggio Objective-C, NeXT sviluppò anche una serie di oggetti preconfezionati da utilizzare per sviluppare software. Questi oggetti furono raccolti in un framework denominato AppKit che in casa Apple è diventato Cocoa per Os X e nel 2008 Cocoa Touch per iOS.
Oltre a sollevare gli sviluppatori dal compito gravoso di sviluppare parti rutinarie del software, AppKit consente alle più disparate applicazioni di mettere l’utente nelle condizioni di usare le stesse modalità di utilizzo di alcune funzioni, sollevandolo da ogni problema di apprendimento.
Interface Builder
Interface Builder è un tool grafico che consente agli sviluppatori di costruire una interfaccia utente prelevando blocchi funzione (drag & drop) da una palette di oggetti (bottoni, caselle di testo, menu a comparsa, finestre ecc.) che costituiscono una interfaccia grafica. Questi elementi oltre a presentare un definito e omogeno aspetto grafico hanno incorporate tutte le necessarie funzionalità. La palette è estendibile con nuovi oggetti che una volta costruiti possono essere trascinati al suo interno e da quel momento resi disponibili come gli oggetti nativi. Le diciture degli oggetti si autolocalizzano in base alla lingua selezionata nel software di sistema.
Interface Builder è stato costruito dallo sviluppatore francese Jean-Marie Hullot che Steve Jobs, nel 1985, chiamò a lavorare a NeXT dopo aver assistito a una demo che lo aveva convinto di aver messo le mani su una “killer app”. Interface Builder non fu integrato in NeXTstep, ma offerto come applicazione a sé stante insieme al Sofware Development Kit. Apple ha poi integrato Inteface Builder in Mac Os X e in iOS. Con Interface Builder, su un computer NeXT, Tim Berners-Lee, al cern di Ginevra, ha sviluppato il primo prototipo di World Wide Web.
Display PostScript
Mentre tutti i sistemi operativi degli anni Novanta utilizzavano la grafica raster (cioè costruita a griglie di pixel) per visualizzare testo e icone sugli schermi dei computer, NeXT utilizzava la grafica vettoriale (cioè a punti, linee, curve, poligoni) per visualizzare a video icone, testo e illustrazioni. La qualità di un’immagine vettoriale è enormemente superiore a quella di un’immagine bitmap o raster perché è in grado di sfruttare la risoluzione massima del dispositivo dove viene visualizzata. Mentre nella grafica raster è la risoluzione dell’immagine a determinarne la qualità di visualizzazione.
La tecnologia utilizzata da NeXT, per ottenere la grafica vettoriale a video, era fornita da Adobe (la casa di software di Photoshop, Illustrator e Acrobat) attraverso un linguaggio chiamato Display PostScript. Gli ingegneri di NeXT riscrissero interamente il motore del tool di Adobe per adattarlo al sistema operativo orientato agli oggetti.
Mac Os X e iOS usano oggi un differente tool, chiamato Quartz, per la visualizzazione della grafica a video il quale, però, impiega lo stesso concetto di grafica vettoriale. Quartz produce immagini vettoriali simili al PostScript usando il modello di rendering dei pdf. L’abbandono del PostScript è dovuto essenzialmente ai costi derivanti dall’acquisizione delle licenze d’uso da Adobe, con la quale Jobs ha avuto un rapporto burrascoso.
I bundle
Sia Os X che iOS usano una modalità di gestione dei file derivata da nextstep. Si tratta dei bundle, cioè una directory che permette di raggruppare il codice sorgente eseguibile e tutte le risorse, compresi i plugin, necessarie al funzionamento di un’applicazione. Tutti questi file risiedono all’interno di questo pacchetto senza essere compilati nell’eseguibile come succede con Windows. Il sistema operativo, a basso livello, vede il bundle come un insieme di file e l’utente come una semplice icona. Si tratta di una soluzione che semplifica enormemente l’operatività grazie alla semplice struttura gerarchica delle directory.
Il file manager
Il Finder è il file manager di Apple che si occupa di gestire la navigazione tra i dischi, le cartelle e i file. Con Mac Os X il Finder fu interamente riprogettato sul modello del file manager di NeXTstep, che nella sua essenza è simile a quello di Windows. Oltre alla semplice lista dei file o delle relative icone di una directory, tipica di Mac Os delle origini, Mac Os X introduce anche una visualizzazione di tipo gerarchico del tutto analoga a quella di NeXTstep. Questa struttura si sviluppa a finestre contigue mostrando il contenuto della directory o della risorsa selezionata così da avere visualizzato l’intero percorso della risorsa all’interno del file system.
La classica clessidra del Mac Os che si visualizza nella fase di caricamento di una risorsa o a seguito del crash di un’applicazione è stata sostituita da una sferetta rotante colorata. Questa è tal quale era nel NeXT.
RenderMan
Nel 1986, con capitali propri, Jobs acquistò The Graphics Group (poi ribattezzato Pixar Animation Studios) da George Lucas per 10 milioni di dollari. Ne divenne CEO e maggior azionista. Alla Pixar la prima preoccupazione di Jobs fu quella di sviluppare un nuovo linguaggio per la creazione di grafica tridimensionale nell’intento di trasformarlo in quello che il PostScript era diventato per la grafica bidimensionale. Questo linguaggio era RenderMan.
Jobs voleva che questo linguaggio andasse a impattare anche il mercato degli utilizzatori di personal computer, come stava avvenendo con il desktop publishing nel mondo delle pubblicazioni. Pam Kerwin, direttore marketing della Pixar, ha un lucido ricordo delle intenzioni di Jobs:
Aveva queste grandi intuizioni di come RenderMan potesse diventare un prodotto per tutti. Nelle riunioni, continuava ad avere idee su come la gente comune lo avrebbe usato per creare stupefacenti grafiche 3d e immagini fotorealistiche.
In realtà Jobs pensava che sarebbe stata proprio una workstation evoluta, il NeXT, a portare il 3d alle masse. Fu così che decise di rendere il linguaggio RenderMan parte integrante di NeXTstep con il nome di 3d Graphic Tool. Lo divenne a partire dalla release 3.0 di NeXTtstep rilasciata nel 1992.
RenderMan non dette un grande contributo al successo del NeXT, ma con questo linguaggio la Pixar ha realizzato i suoi film di animazione dal palmares strabiliante: 380 premi e 780 nomination tra cui 15 Oscar e 46 nomination.
La questione dei contenuti e il primo ebook
L’iPhone è oggi uno dei dispositivi più utilizzati per leggere libri digitali. Allo scopo, esiste una specifica applicazione preinstallata sull’iPhone, iBooks, e soprattutto l’applicazione Kindle sviluppata da Amazon e scaricabile gratuitamente dall’AppStore. L’offerta di ebook è praticamente sterminata e ogni titolo prodotto dagli editori tradizionali o da altri soggetti non convenzionali difficilmente è priva di un’apposita versione digitale più o meno ben sviluppata.
Come abbiamo visto, una delle stelle polari del pensiero di Jobs era la stretta integrazione tra hardware, software e contenuti in un pacchetto perfettamente confezionato. A un certo punto arrivò il momento di occuparsi dei contenuti di NeXT. Jobs voleva che avesse dei contenuti interessanti, unici ed esclusivi ed e così che decise di includere nel NeXT un sostanzioso pacchetto di materiali, un vero e proprio scaffale di consultazione. La sua prima preoccupazione fu quella di acquisire una grande opera del Canone occidentale da installare sul sistema.
Pose la sua attenzione sull’opera completa di Shakespeare nella prestigiosa edizione della Oxford University Press. Isaacson racconta in dettaglio come nacque l’idea di includere l’opera del grande drammaturgo nel NeXT. Appena Jobs venne a sapere che i testi di Shakespeare erano stati digitalizzati volò a Oxford per incontrare il management della Oxford University Press a cui offrì, senza indugi, 70 centesimi di dollari per ogni NeXT venduto in cambio del diritto di utilizzare l’opera completa digitale del maestro di Stratford-upon-Avon. Si sarebbe incaricato il team di NeXT di sviluppare l’appropriato software di lettura, di navigazione e di ricerca full-text che costituisce ancora oggi uno standard di leggibilità, navigabilità e qualità tipografica difficilmente superabile anche dagli ebook di oggi.
I manager della Oxford University Press, alquanto increduli e sbalorditi da un interesse così forte di un costruttore di computer verso un’opera letteraria tanto da spingerlo a percorrere 8500 chilometri nottetempo per incontrarli, gli offrirono anche il Dizionario delle citazioni, che fu incluso nel NeXT sempre con software sviluppato dal team di NeXT. Al lancio del NeXT, Jobs presentò così la cosa: «Quello che abbiamo fatto è il primo vero libro digitale. Era dai tempi di Gutenberg che non si assisteva a un progresso tale nello stato dell’arte della tecnologia del libro a stampa». Esagerato, ma verosimile.
Un’operazione analoga fu conclusa con la Merriam-Webster che rese disponibile a Jobs il suo American Dictionary of the English Language e il Dizionario dei sinonimi e contrari, due risorse consultabili stand-alone, ma anche contestualmente all’interno delle applicazioni che potevano incorporare questo contenuto costruito come un oggetto dagli sviluppatori del team di Jobs. Una funzionalità che si sarebbe vista molto dopo, spesso malamente implementata.
Questo insieme di contenuti e di strumenti di consultazione dei contenuti fu denominato “Digital Librarian”, che non era solo una mera raccolta di materiali, ma consentiva contenuti generati dagli utenti che potevano beneficiare di tutte le potenzialità del tool.
NeXT era anche un sistema totalmente multimediale come poi lo saranno i sistemi basati su Mac Os X e iOS. Basti concludere dicendo che NeXT e NeXTstep sono stati due delle esperienze più seminali e ricche di insegnamenti della storia della tecnologia, seconde solo a quella dello Xerox PARC di Palo Alto, anch’essa un clamoroso fallimento commerciale.
E allora, triplice urrà per i fallimenti!
… un’ultima cosa
Nel 1989 la NeXT si trasferì dall’originaria ed elegante sede di Palo Alto in un nuovo e più grande edificio a Redwood City, meglio collegata a Fremont, dall’altra parte della baia, dove aveva sede la fabbrica dei NeXT. L’edificio, che si affacciava sulla baia, era un fabbricato nuovo, ma Jobs volle ristrutturarlo a fondo e soprattutto trasformare la hall in qualcosa di monumentale.
Chiese allora al suo architetto preferito Ieoh Ming Pei, che aveva ideato la main entrance del Louvre, di progettare una grande scalinata che sembrasse scesa dal cielo. Quando Jobs mostrò il progetto di Pei al costruttore, questi dichiarò, senza mezzi termini, che non si poteva fare. Al che Jobs rispose: «Certo che si può fare… e adesso mettiamoci al lavoro». Così ebbe la scalinata eterea che desiderava. Queste scale divennero in seguito il modello delle scalinate degli Apple Store di tutto il mondo, una delle caratteristiche più peculiari, ammirate e imitate di questi ambienti. Nella costruzione delle scale dell’Apple Store di San Francisco, la Apple ha investito un milione di dollari.