Cucciolo di Leone
Cucciolo di Leone
Come molti di voi forse sapranno, il libro scritto a quattro mani con Lucio Bragagnolo ed edito da Apogeo, "Guida a Mac OS X", è di gran lunga il più venduto tra tutti quelli che ho scritto. Disponibile in due edizioni — quella completa con oltre cinquecento pagine di grande formato a trentanove euro e quella economica in formato tascabile da 7,90€ — ha venduto complessivamente oltre ventimila copie, più di tutti i miei altri libri messi assieme.
Non vi stupirà scoprire che l'editore è ansioso che Lucio ed io mettiamo assieme una versione aggiornata e corretta a Mac OS X 10.7 Lion, il nuovo sistema operativo che Apple presenterà durante la prossima estate. Ci stiamo lavorando, un po' in affanno per mille motivi uno dei quali è una vecchia spina nel fianco: Apple si rifiuta di dire quando Lion sarà effettivamente sugli scaffali e di conseguenza per noi è difficile schedulare il lavoro. Da Cupertino escono a intervalli irregolari e imprevedibili nuove versioni provvisorie del sistema operativo, ciascuna delle quali introduce novità che potenzialmente potrebbero costringerci a tornare indietro a correggere il testo, o ri-catturare le schermate.Noi ci barcameniamo come possiamo, nel tempo che abbiamo (e che non è infinito) e con le poche informazioni che abbiamo a disposizione.
Non posso entrare nei dettagli perché la casa di Steve Jobs, per consentire a chicchessia di entrare i possesso di una copia di Lion a questo stadio del suo sviluppo, pretende che si firmi un accordo di non divulgazione. Si chiama "non disclosure agreement", in sigla NDA. Il contratto, insomma, prevede che noi non si possa parlare del nuovo sistema operativo prima che sia commercializzato da Apple. Naturalmente anche questa è una bella seccatura per due divulgatori. Siamo costretti a guardarci e riguardarci ogni anfratto del programma per scoprire cosa ci sia di nuovo, col terrore di dimenticare qualcosa di davvero importante. Non possiamo affidarci ad altre fonti, perché sostanzialmente non ce ne sono: tutti gli altri potenziali recensori sono vincolati dall'accordo di non divulgazione come noi. Certo, chi come noi possiede legittimamente una copia di Lion può commettere un reato penale e distribuirlo, per esempio attraverso Internet, con ben poche possibilità che Apple lo peschi in flagrante e lo consegni alla giustizia. E chi è curioso, chi vuole dare una occhiata ai lavori in corso, e vuole a sua volta commettere un altro reato penale, può scaricare abusivamente la copia di Lion e installarla su un suo calcolatore. Poiché il mondo è pieno di sciagurati, ci sono parecchie persone che procedono proprio in questo senso e di conseguenza sul web si trovano (anche se non dovrebbe essere possibile) informazioni in merito a Lion. La… parte del leone… la fanno siti privi di scrupoli, quelli specializzati in voci di corridoio, quelli che vivono di pubblicità e sarebbero disposti a pubblicare qualsiasi cosa, non importa quanto questionabile (o incerta, o imprecisa), pur di moltiplicare gli accessi.
Pur rispettando le specifiche che Apple ha inserito nello NDA, una cosa debbo dire di Lion. Non mi va giù il fatto che Apple abbia scelto di concentrare tutti i suoi sforzi sulla parte visibile del sistema operativo. Sono il primo a dire, anzi ad aver sempre detto, che il Finder è migliorabile e il Dock ancor di più. Ma il vero compito di un autore di sistemi operativi sta nel fornire strumenti agli autori di applicazioni. Io scrissi un articolo in merito che venne pubblicato a inizio 2010 sulle pagine di Macworld Italia. Ecco il brano più significativo:
Sicuramente Time Machine è un sistema di backup sufficiente per la maggioranza degli utenti Mac. Tutto ciò sarebbe raison d'être più che sufficiente per Time Machine se si trattasse di un programma a parte, se non fosse un pezzo di Mac OS X. Al contrario, un componente del sistema operativo deve rispettare ben altri canoni. La parte veramente importante del sistema operativo è quel mucchio di codice su cui tutto il resto del software (applicazioni, pannelli di controllo, driver, plugin eccetera) fa affidamento per funzionare. Un esempio? Il Finder è importante, ma se proprio non vi piace potete dimenticarvelo e sostituirlo con altro software prodotto da terze parti - come FileBrowse o Path Finder o XFolders.
Voi mi direte che anche Time Machine è sostituibile con programmi di terze parti. Sicuramente esistono software sofisticati per chi fa un uso sofisticato e avanzato del personal computer e dunque ha bisogno di un sistema flessibile di backup. Ma non è questione comparabile.
Io in iTunes posso chiedere di "mostrare nel Finder" una canzone. Se ho PathFinder attivo l'icona del brano apparirà in questo programma. Il Finder è ben integrato in OS X, eppure dispensabile. Il Finder è una applicazione che internamente chiama le API (application programing interfaces) del sistema operativo per fare tutto il lavoro difficile.
Da molte API ben scritte vengono fuori programmi piccoli e potenti, e i programmi forniti col sistema operativo possono venire variati, potenziati, ispessiti dagli sviluppatori terzi. TextEdit, per esempio: sono poche righe di codice sopra una libreria Cocoa. Se uno sviluppatore ha bisogno di fare un editore di testo che scrive automaticamente in blu le parole che sono nel vocabolario italiano e in giallo quelle del vocabolario olandese lo fa in meno di cento righe di codice.
Se Time Machine l'avesse progettato uno che sa cos'è un sistema operativo mi avrebbe permesso, con meno di cento righe di codice, di fare una applicazione compatibile con Time Machine (cioè che salva i dati nello stesso posto e nello stesso formato) ma che non fa backup dei file di Photoshop (o di Word, o PHP). O magari che li salva zippati e il resto non lo comprime. O che salva sul disco A i video e sul disco B tutto il resto. Oppure che non cambia niente, ma anche mostra in una finestrella galleggiante il nome del documento di cui in questo momento TM sta eseguendo il backup. Tutte cose interessanti, tutte impossibili.
Time Machine fa solo una cosa e la fa esattamente nei termini voluti e progettati in Apple. Di per sé non è un problema. È perfettamente lecito sviluppare un programma che fa una cosa sola -- per un programmatore indipendente. Per Apple, no. Apple deve fare il sistema operativo. Deve fare una serie di API che i programmatori usano per fare qualsiasi cosa. Magari anche una cosa sola. Time Machine è una boiata pazzesca.
Quello che nel 2010 era un problema di Time Machine, nel 2011 è divenuto un problema per tutto il sistema operativo. Abbagliati dallo strepitoso successo planetario che sono iPhone ed iPad, i dirigenti Apple hanno scelto di spostare Mac OS X in quella direzione, rendendolo simile al sistema operativo iOS. E commettendo un peccato mortale: mille miglioramenti alle componenti visibili del sistema operativo non valgono quanto una singola innovazione alle API che consente a mille programmatori geniali la creazione di mille applicazioni originali che siano a ieri non erano possibili.