Quella delle architetture hardware di Apple è una storia molto travagliata. Da sempre sostenitrice dell’idea che quel “tocco in più” offerto dai propri prodotti nasca dall’armonizzazione di hardware e software, la casa di Cupertino è alla continua ricerca della soluzione migliore per realizzare le proprie idee, storia che abbiamo già raccontato qualche anno fa e che passa attraverso numerose soluzioni non propriamente standard.
Sui Mac questo concetto è venuto un po’ a mancare a causa del forzato passaggio ad Intel (evento che risale ormai a 8 anni fa) anche se, tra Tunderbolt e alcune soluzioni progettuali volte a ridurre il più possibile ogni collo di bottiglia, siamo comunque di fronte ad alcune macchine dall’architettura inusuale (come i MacBook Pro Retina o i più recenti Mac Pro ) anche se non certo “proprietaria”. Viceversa, nel mondo iOS Apple sta spingendo l’acceleratore proprio sull’estrema personalizzazione dell’hardware, strada iniziata con l’ormai lontana acquisizione di PA-Semi , concretizzatasi con il primo SoC marchiato Apple (l’ Apple A4 del primo iPad) e portata a livelli ancora più esasperati nell’iPhone 5S, con un processore a 64bit (l’ Apple A7 ) affiancato da un inedito coprocessore di movimento, l’ Apple M7 .
Al di là del fatto che tutta la concorrenza si prepara ormai a seguire questa strada, lo scorso anno sono stati molti quelli che hanno espresso perplessità in merito a questa scelta di Apple: in fin dei conti si tratta di un scelta lungimirante , una scelta orientata (ancora una volta) a spingere prima degli altri verso un’immediata ottimizzazione del codice verso le soluzioni degli anni a venire. Certi cambiamenti possono comportare tempi di adozione lunghi, ma Apple non è quel tipo di azienda disposta a scendere a compromessi: l’intenzione di Apple è che tutti gli sviluppatori seguano le migliorie introdotte nell’hardware così che tutti gli utenti possano beneficiarne, ed è per questo che il keynote della recente WWDC è stato fortemente rivolto agli sviluppatori. Tra la miriade di novità di cui si è ampiamente parlato, ce ne sono un paio passate per certi versi inosservate perché apparentemente di interesse molto più ristretto per i consumatori: Metal e Swift.
Metal è una libreria realizzata per “avvicinare” il codice dei programmatori all’hardware dei SoC Apple, così da massimizzare le prestazioni: il risultato più immediato si ottiene a livello grafico, e la demo mostrata sul palco della WWDC non lascia dubbi sui risultati che si possono ottenere. Se quanto visto è stato realizzato con un Apple A7, non vedo l’ora di avere tra le mani uno dei prossimi dispositivi con Apple A8. Swift è invece un nuovo linguaggio di programmazione che dovrebbe consentire una maggiore semplicità di programmazione, così come risultati migliori dal punto di vista della sicurezza e dell’efficienza del codice (e quindi delle prestazioni).
Dopo questa lunga premessa, arriviamo al punto cruciale della discussione: è vero che da iPhone e iPad arriva la gran parte del fatturato di Apple, ma tutto questo sforzo progettuale (sia dal punto di vista dell’hardware che da quello degli strumenti di sviluppo) è giustificabile per il solo mondo mobile? In definitiva, arriveranno mai dei Mac realizzati su architettura ARM? Da quel che ho notato seguendo Apple da molti anni posso dire che quando una voce si ripete con molta insistenza, superando anni di diffidenza, sotto sotto c’è sempre qualcosa di vero: è successo con i Mac-intel, con iPhone, con iPad, e presumibilmente sta accadendo anche con iWatch (sebbene manchi ancora qualsiasi ufficialità alla cosa, gli indizi sono ormai troppi per credere che non possa essere vero).
Parlando di Mac con processori ARM, non è di molto tempo fa la fuga di notizie che vuole Apple in fase avanzata di test su Mac con quattro (o addirittura otto) processori ARM quad-core. Tra le macchine oggetto di questa “sperimentazione” ci sarebbe anche un notebook, notizia che potrebbe fare il paio con un’altra indiscrezione che vuole Apple in procinto di rilasciare un nuovo MacBook ultra-sottile con schermo da 12″ e grande trackpad: ma lasciamo da parte le indiscrezioni (che sicuramente ci hanno offerto lo spunto per riaprire la discussione) e analizziamo la cosa dal punto di vista tecnico e strategico.
Tecnicamente parlando ci sarebbero tre questioni da affrontare: la potenza di calcolo, la migrazione dell’OS (da parte di Apple) e la migrazione delle App (da parte di sviluppatori e utenti). Sulla potenza non credo ci siano grossi problemi: Apple sta lavorando su molti fronti, dalla progettazione del chip (realizzati intorno alle proprie esigenze) all’architettura della macchina (come visto sopra, si parla di quattro/otto processori quad-core) passando per l’ottimizzazione del codice (cioé i già citati Metal e Swift). Si tratta di una soluzione che solo Apple può adottare perché la casa di Cupertino è, al momento, l’unica azienda che progetta da sé tanto i processori quanto il sistema operativo. In ogni caso caso è evidente che l’eventuale cambio di architettura avverrebbe solo nel momento in cui le nuove macchine avessero una capacità di calcolo pari o superiore all’equivalente soluzione x86, altrimenti non avrebbe senso.
Anche la migrazione dell’OS a mio avviso non sarebbe un grosso problema: basandoci su esperienze passate, Apple sarà in fase di test già da diversi anni, tantopiù che OSX e iOS poggiano sulle stesse basi pur girando su due architetture differenti. Per le applicazioni la questione potrebbe essere più delicata: se tecnicamente è una situazione già affrontata in altre occasioni (durante le quali Apple, tutto sommato, ne è uscita sempre bene), un cambiamento così drastico in una fase in cui un’azienda sta vedendo assestarsi la propria posizione sul mercato dei computer potrebbe richiedere uno sforzo eccessivo a sviluppatori ed utenti. Con queste considerazioni stiamo arrivando a parlare di strategia, e il discorso si complica.
Supponiamo che, con tutti gli strumenti del caso, Apple riesca a rendere completamente trasparente (o quasi) la transizione delle applicazioni, sia dal punto di vista dello sviluppo che per quanto riguarda gli utenti; con Metal gli sviluppatori si troverebbero tra le mani delle librerie in grado produrre del codice fortemente ottimizzato, e potrebbero sfruttarlo tanto per i dispositivi mobile quanto per i Mac (pur preservando delle GUI distinte). Considerando poi che iOS è il sistema che forse ha più attratto gli sviluppatori in questi ultimi anni (nonostante le evidenti questioni di market-share, è sempre il melafonino a generare il mercato più interessante ), riuscire a traghettare questa forza su OSX sarebbe un’ottima opportunità per Apple e per i Mac, e anche la presentazione di Swift è sicuramente orientata ad attrarre un maggior numero di programmatori verso questo mondo.
Se quanto appena scritto è vero, verrebbe quindi da chiedersi perché mai non realizzare direttamente un Mac con iOS, magari riprendendo l’idea che Microsoft sta portando avanti con la linea dei Surface Pro (con una sorta di “doppia interfaccia” da utilizzare nelle diverse occasioni). Al di là delle dichiarazioni di Apple, da prendere con le pinze, che ha sempre detto di voler tenere distinti i due mondi (pur facendoli convergere come flussi di lavoro ), la mia impressione è che le intenzioni della casa della mela siano effettivamente quelle di separare l’usabilità di un’interfaccia desktop da quella di un’interfaccia touch.
Chi ha avuto la pazienza di seguirmi fino a qui si chiederà quindi quali potrebbero essere le strategie di Apple in tal senso, soprattutto considerando il fatto che la macchina attualmente al top della gamma, il nuovo Mac Pro , è una macchina le cui particolarità costruttive non si prestano ad un cambio così drastico di architettura. A meno che Apple non abbia in serbo delle grosse sorprese.
Dobbiamo immaginare un futuro in cui ci saranno due diverse categorie di Mac, quella x86 e quella ARM? Tecnicamente potrebbe essere la soluzione più azzeccata (consentirebbe di portare avanti parallelamente due diverse strade, anche sul mercato) ma sarebbe anche quella più dispendiosa in termini di “mantenimento”, sia per Apple che per gli sviluppatori (che è proprio quello che si vorrebbe evitare, visto che siamo partiti dal presupposto di invogliare gli sviluppatori a lavorare su OSX). A meno di grosse sorprese credo quindi che prima di vedere dei Mac con processori ARM passerà ancora qualche anno: nel frattempo potremo farci qualche idea in più quando verrà rivelato l’Apple A8 (e quindi i nuovi iPhone) e quando vedremo i nuovi portatili della Mela.
Domenico Galimberti
blog puce72
Gli altri interventi di Domenico Galimberti sono disponibili a questo indirizzo