Storie vecchie e nuove della mela di Cupertino, a cura di Nicola D’Agostino

Dischi, filesystem e Mac – Intervista a Drew Thaler (prima parte)

Venuto all’attenzione dei più per una serie di interventi sul filesystem ZFS su Mac, il curriculum di Drew Thaler vanta numerosi progetti a Infinite Loop. Una delle sue aree di maggiore competenza sono i filesystem e le unità ottiche, su cui lavora attualmente presso Sony, ma che sono anche il leit motiv ricorrente del suo blog, intitolato ironicamente “Recording Artist”.

Abbiamo contattato Drew per fargli alcune domande e non solo ha accettato con entusiasmo ma si è rivelato una fonte di numerose e ghiotte informazioni e retroscena su Apple, le sue tecnologie e meccanisimi interni. Ringraziandolo per la disponibilità vi presentiamo di seguito la prima parte dell’intervista:

Drew ThalerStorie di Apple: Presentati ai lettori di Storie di Apple e parlaci di cosa fai e quale è il tuo legame con Apple
Drew Thaler: Ciao! Mi chiamo Drew Thaler e sono un ingegnere software low-level. Ho passato gran parte della mia carriera a lavorare su software per Mac OS, tra cui uno stage in Apple già durante il college e in seguito sono stato assunto per cinque anni.

SdA: Su che parti del Mac OS hai lavorato?
DT: Nella sezione CPU Software sviluppando driver per nuovo hardware: accelerazione video, PCMCIA, riproduzione hardware di DVD ed altro ancora. Ero parte di un piccolo gruppo di programmatori che ha creato la parte di masterizzazione CD e DVD di Mac OS 9 e Mac OS X chiamata DiscRecording.framework. E in tempi recenti ho lavorato per un anno come esterno per il CoreOS filesystem group

SdA: Hai lavorato anche su iTunes nelle prime versioni: in che fase e ruolo esattamente? Come era visto il software? Era chiara dall’inizio l’importanza strategica del software e la sua accoppiata con l’iPod?
iTunes 1.1DT: I miei amici ed io avevamo sviluppato presso un’azienda la tecnologia per la masterizzazione CD/DVD e siamo stati assorobiti da Apple. A pensarci è un po’ assurdo ma all’inizio di novembre del 2000 iTunes non aveva alcun supporto per la masterizzazione. La nostra acquisizione andò in porto a metà di quel mese e sei settimane di sviluppo frenetico più tardi eravamo riusciti a integrare la nostra tecnologia sia in iTunes che nel Finder di Mac OS 9 giusto in tempo perché venisse mostrata al MacWorld di San Francisco del gennaio 2001 e rilasciata qualche settimana più tardi. Io ho continuato a lavorare con il team di iTunes quasi sino alla fine del 2003.

iTunes è sempre stata considerato un software rappresentativo, “di bandiera”, per Apple. È una delle parti più visibili del Mac OS e Steve Jobs in persona supervisiona molte delle decisioni sull’interfaccia. Steve è stato cruciale nel prendere SoundJam (programma di terzi su cui iTunes fu basato, ndr) e togliere funzioni al fine di semplificarlo, semplificarlo e ancora semplificarlo.

da SoundJam ad iTunes

Ho il massimo rispetto per i programmatori di iTunes visto quanto hanno dovuto passare perché Steve è un perfezionista con cui non è facile lavorare e che a volte può avere un caratteraccio!

Non sarei però così sicuro che l’iPod e l’iTunes Store fossero già previsti dagli inizi di iTunes. Quando noialtri siamo entrati in Apple iTunes era però già un successo e il progetto iPod era già stato messo in moto.
Era tutto estremamente segreto, anche per gli standard Apple, ma comunque ci erano giunte delle voci interne perché lavoravamo a stretto contatto con il team di iTunes. Il nome scelto però è stata una bella sorpresa. Ricordo di aver pensato: “Ma che razza di nome stupido è iPod?”

SdA: Come si chiamava l’azienda di cui facevi parte poi assorbita da Apple?
DT: Eravamo in una sussidiaria della Prosoft Engineering chiamata Radialogic e in procinto di divenire una ditta sé stante.
the Authoring Support extension iconDal punto di vista formale Apple non ha mai acquisito la Radialogic visto che tecnicamente non era un’entità separata, ma ha concluso un accordo con la Prosoft per rilevare tutta la parte Radialogic ed i suoi programmatori.

Eravamo in cinque per l’esattezza: John Bertagnolli, Ed Wynne, Mike Shields, Nathan Duran ed io. Avevamo creato i programmi “CD Master” e “Storage Master” Radialogic. the Firewire Authoring Support extension iconIl “motore” di CD master è diventato l’estensione “Authoring Support” di (Mac) OS 9, e i nostri driver FireWire e USB per le unità esterne CD e DVD sono diventati le estensioni “FireWire Authoring Support” e “USB Authoring Support”.

SdA: Uno delle lacune iniziali di Mac OS X era proprio la masterizzazione. Sai per caso i motivi di questa mancanza?
DT: Sì, certo. Avevamo progettato il nostro software per (Mac) OS 9. L’avevamo fatto pensando anche a Mac OS X ma essendo all’epoca ancora esterni a Apple era tutto molto teorico e nessuno di noi aveva avuto tempo per fare un po di’ prove con (Mac) OS X fino in pratica al gennaio del 2001. Fu allora che cominciammo a lavorare ad un port su Mac OS X. Ma scoprimmo presto che non supportava molte delle caratteristiche di cui avevamo bisogno: niente accesso diretto al masterizzatore, nessun modo per gestire i supporti vergini, nemmeno mutex ricorsivi nella libreria pthread! È chiaro che cominciammo a rivolgerci alle persone nel CoreOS per risolvere questi problemi ma c’era così tanto che mancava che i piani prevedevano un rilascio della masterizzazione per Mac OS X per giugno o luglio del 2001.

Mentre eravamo all’opera per risolvere tutti quei problemi fu rilasciato Mac OS X e verso la fine di marzo, forse proprio il giorno del lancio, Steve annunciò che “la masterizzazione di CD sarà disponibile in Mac OS X entro la fine del prossimo mese”. Tutto il nostro team è uscito fuori di testa. COME??? Ma nessuno ci aveva detto niente! E improvvisamente tutto cambiò. Passammo da “Facciamolo come si deve” a “Facciamolo il più in fretta possibile, ad ogni costo!”. Aggirammo con hack il problema pthread, scrivemmo in fretta e furia una estensione per il kernel e riuscimmo a rilasciare tutto in quattro settimane. La masterizzazione di Mac OS X fu resa disponibile i primi di maggio come parte del 10.0.2, il secondo aggiornamento del sistema: leggermente in “ritardo” sull’annuncio ma ben tre mesi in anticipo sulla data prevista dal nostro piano originario.

SdA: Prima hai menzionato la riproduzione hardware di DVD. Era per desktop o portatili? E sai qualcosa sulle motivazioni di Apple di non supportare le schede per la decodifica nei Powerbook G3 con Mac OS X?
i processori Ziva della C-CubeDT: L’hardware di decodifica nei desktop e nei Powerbook in realtà era molto simile. I driver per entrambi furono scritti da un collega, Mike Puckett, e io l’ho aiutato nel tenerli aggiornati. I chip usati erano degli Ziva della C-Cube che facevano quasi tutto il lavoro di decodifica: avevano semplicemente bisogno che gli venissero passati blocchi di dati DVD. Mike aveva dato al progetto il nome in codice Oubliette che ho capito essere un modo per ironizzare sul fatto che rubava tempo ed energie. Una volta infatti gli chiesi “Ehi, perché hai chiamato il progetto Oubliette? Secondo il dizionario è una trappola… una grossa voragine nel terreno da cui una volta caduti non si riesce più ad uscire. Ah. Ok, lasciamo perdere.”

È probabile che il motivo del mancato supporto di Mac OS X alle schede di decodifica è che i modelli che le montavano erano in procinto di divenire obsoleti. Quando Mac OS X è uscito c’era ancora tantissimo da fare e investire risorse di sviluppo (lavorando sulle schede) temo non fosse un buona idea.

SdA: Nel tuo curriculum affermi di aver “sviluppato una dimostrazione tecnica dell’arrotondamento dei caratteri sub-pixel su schermi LCD”. Era per Mac OS 9 o X?
accordo Apple-Microsoft 1997DT: Era per il 9, nel 1998 quando Apple aveva appena annunciato l’accordo quinquennale con Microsoft e quindi avevamo accesso a tutti i loro brevetti. I monitor a tubo catodico erano ancora i più diffusi per i desktop ma io lavoravo nella divisione PowerBook dove avevamo solo LCD. E ovviamente (la tecnologia) Clear Type di Microsoft mi colpì e perciò sviluppai una piccola demo software che mostrava le differenze tra l’antialiasing sul singolo pixel, già supportata da Mac OS 9 e quella sub-pixel di Clear Type. Quest’ultima aveva un aspetto migliore, sopratutto sugli schermi piatti LCD usati all’epoca che avevano una risoluzione minore rispetto a oggi. La demo fu mostrata a un po’ di persone in Apple e quasi tutti quelli che la videro sembravano interessati. Poi ho lasciato Apple per lavorare sulla masterizzazione di CD e quindi non so come sia andata a finire. Però qualche anno dopo l’antialiasing sub-pixel è apparso su Mac OS X. È probabile che fosse semplicemente una scelta ovvia ma mi piace pensare che la mia vecchia demo abbia influenzato qualcuno. :-)

SdA: Visto il tuo punto di vista privilegiato come ritieni sia stata gestita la transizione da Mac OS 9 a Mac OS X ma anche la loro coesistenza?
Aqua nel 2000DT: È stata una transizione molto difficile per Apple e ha richiesto tantissimo tempo. Così tante cose erano diverse ed è stato necessario riprogettarle e riscriverle! Secondo me dopo quattro lunghi anni di lavoro hanno semplicemente deciso di far uscire Mac OS X 10.0 che fosse pronto o meno. :-)
Non penso che Mac OS X fosse completamente pronto il giorno che fu rilasciato ma di sicuro mostrava molto del suo potenziale. Poi ci è voluto un po’ di tempo per maturare e oggigiorno penso che gran parte di noi non riusciremmo ad immaginarci un mondo senza Mac OS X.

Per un anno o due dall’uscita del 10.0 quasi tutti in Apple hanno lavorato un po’ su entrambi i sistemi. I Mac nuovi potevano partire con entrambi quindi bisognava scrivere driver per tutti e due. Per fare un esempio iTunes ed il nostro software di masterizzazione erano disponibili per entrambi. E quindi tutto richiedeva letteralmente il doppio del lavoro! Quando il 9 fu ritirato noialtri fummo più che felici di poterci concentrare solo su X.

(Continua nella seconda parte)

Leave a Comment

Questo sito usa Akismet per ridurre lo spam. Scopri come i tuoi dati vengono elaborati.