[Link alla Prima Parte]
[Link alla Seconda Parte]
6. Riflessioni
iTunes rimane sempre una delle applicazioni Apple che non riesce mai a lasciarmi completamente soddisfatto. Ma bisogna essere obiettivi: da quel che ho visto e sperimentato finora, era da tanto che non usciva una versione di iTunes valida come questa. In passato, a ogni nuova versione, avevo l’impressione che questo programma tuttofare si gonfiasse sempre di più, e diventasse progressivamente meno funzionale e pratico; è vero, si potrebbe classificare così anche quest’ultima incarnazione di iTunes, ma per la prima volta dopo parecchio tempo mi sembra evidente che siano stati fatti dei tentativi per ottimizzare il programma, e non solo per aggiungere funzioni fine a se stesse (quel fenomeno che in gergo viene chiamato feature creep). Lo sforzo riorganizzativo si vede, non è perfetto, ma c’è. Per la prima volta dopo parecchio tempo ho finalmente trovato iTunes un po’ più scattante e reattivo. Un po’, che è meglio di niente.
Si può fare di più? Certamente. Una cosa che ho sostenuto fin da quando è stato presentato iTunes 9 e si è saputo che è ancora un’applicazione Carbon a 32 bit, è che iTunes ha disperatamente bisogno di diventare un programma riscritto in Cocoa, e a 64 bit. Comincio citando lo stesso frammento di John Nack già ripreso dal solito Gruber:
Voglio essere chiaro: penso che Cocoa sia fantastico. Penso che i 64 bit siano una tecnologia fantastica. (Stiamo adottandole entrambe per Photoshop). Ma sono davvero, genuinamente curioso: quali sono gli elementi specifici che la gente ritiene contribuiranno a migliorare le loro applicazioni nel passaggio a Cocoa e/o ai 64 bit? Nel caso di iTunes devo proprio chiedere:
- Davvero gli utenti notano problemi prestazionali di iTunes allo stato attuale? Io non ne ho mai avuti. Filtra la mia libreria di 3.000 elementi a una velocità che sta al passo con la mia velocità nel battere sulla tastiera, fa un ottimo lavoro con il video HD, e scorre fluidamente fra le copertine degli album in vista Cover Flow. Né ricordo altri lamentarsene.
- Davvero si vuole che iTunes utilizzi più di 4 GB di RAM? Credo che si possa tranquillamente rispondere di no.
- C’è chi si lamenta dell’interfaccia grafica (per esempio le barre di scorrimento non standard) e pensa forse che il passaggio a Cocoa renderà iTunes più ‘Mac-like’? Ancora una volta, non ho sentito lamentele di questo genere (o meglio solo alcune piuttosto ridicole).
E dunque? Lasciate che lo dica in altro modo: se voi aveste in mano la direzione dei lavori del team di programmatori di iTunes, perché vorreste (in quanto utente) che dedicassero i loro sforzi verso Cocoa e i 64 bit, a scapito di concentrarsi su altre funzioni che vogliono gli utenti?
Se avessi Nack di fronte, gli direi che sì, ho notato problemi a livello di prestazioni in iTunes. Fino a iTunes 9, la mia libreria musicale di oltre 5.000 elementi non veniva gestita con tutta questa grazia e reattività. E per rispondere alla sua provocazione, se io avessi in mano la direzione dei lavori del team di programmatori di iTunes, li costringerei a riscrivere l’applicazione in Cocoa e a 64 bit se non altro per cogliere l’occasione di rivederla da cima a fondo. Non sono un ingegnere software ma soltanto un utente esperto, lo premetto — ma a mio avviso è indubitabile che iTunes, diciamo dalla versione 4.7 in avanti, sia andato accumulando codice su codice, senza davvero fare una grande opera di smaltimento (una progressione à la Windows, per intenderci). L’accumulo è direttamente proporzionale all’aumento delle funzioni. Le prime versioni di iTunes (qualcuno ricorda la 1.1.1, la 2.0? Esistevano persino per Mac OS 9) erano sostanzialmente dei player di file audio. Poi è venuta l’integrazione con iPod, poi è venuto iTunes Store, la gestione di più dispositivi (iPhone e iPod touch, Apple TV, lo streaming con AirTunes, ecc.), la gestione di filmati, spettacoli televisivi, video musicali, audiolibri, podcast, suonerie, radio Internet; la sincronizzazione di contatti, calendari, bookmark, note, account di posta e persino delle fotografie… Non immagino nemmeno come deve essere la situazione ‘sotto il cofano’.
Come dicevo, iTunes 9 dimostra di essere un mezzo passo avanti, ma la riscrittura di iTunes in Cocoa, ribadisco, può essere l’occasione buona di ottimizzare il programma ancor di più e renderlo ancora più ‘Mac-like’. Ma soprattutto la penso come Gruber quando scrive:
Quando dico che sembra inevitabile che Apple finirà col riscrivere iTunes in Cocoa e a 64 bit, non è perché queste due cose in sé e per sé miglioreranno drasticamente le funzioni e l’esperienza utente di iTunes. Sembra inevitabile perché Apple ha passato a 64 bit quasi tutte le ‘applicazioni di sistema’. Date un’occhiata alla prima nota in fondo alla pagina dedicata alla tecnologia in Snow Leopard:
Tutte le applicazioni di sistema, eccetto DVD Player, Front Row, Grapher, iTunes e X11, sono state riscritte in 64 bit.
Quasi tutto il resto contenuto in Mac OS X [10.6] è a 64 bit. Gli utenti hanno forse chiesto un Dock a 64 bit? È cambiata la vita a qualcuno, adesso che l’applicazione Dizionario e a 64 bit? Naturalmente no. Per alcuni programmi il passaggio a 64 bit ha realmente significato un miglioramento delle prestazioni, ma il motivo per cui Apple ha passato quasi tutte le sue applicazioni a 64 bit è semplice: è quella che oggi considera la maniera migliore per realizzare software Mac. Apple sta tracciando il cammino, dando l’esempio per prima.
Gruber continua facendo un ottimo confronto:
Il Finder è l’esempio più adatto per tracciare un paragone con iTunes. Il Finder di Snow Leopard non solo ha dovuto essere migrato da 32 a 64 bit, ma è stato necessario anche fare il porting da Carbon a Cocoa. Quando Mac OS X era agli inizi, il Finder era l’applicazione che Apple mostrava alle WWDC come esempio eccellente di programma Carbon, la prova che Apple stessa utilizzava le API Carbon per un’applicazione essenziale.
A prescindere dal livello di modernità del Finder come applicazione Carbon […], dev’essere stato un lavoraccio d’ingegneria effettuare il porting a Cocoa. E il risultato è un’applicazione le cui differenze con il Finder Carbon di Mac OS X 10.5 sono praticamente impercettibili dai più. […]
Cocoa non è stata una qualche polverina magica che ha reso il Finder un programma drasticamente superiore. Ma allora perché Apple si è presa il disturbo per modificarla? Perché Cocoa e i 64 bit sono il futuro di Mac OS X. E anzi, per molte nuove API sono il presente. […]
In breve, esistono nuove API e nuove funzionalità in Mac OS X disponibili unicamente alle applicazioni a 64 bit. E dato che non esistono API Carbon a 64 bit, applicazioni a 64 bit significa implicitamente applicazioni Cocoa a 64 bit.
Tutto questo è il ragionamento che ho seguito anch’io, ancor prima di leggerlo nel pezzo di Gruber (e trovarmi quindi completamente d’accordo col suo punto di vista). Probabilmente, il futuro iTunes Cocoa a 64 bit non sarà un’applicazione vistosamente differente dall’iTunes di adesso, né andrà a chissà quale velocità. Ma sono certo che sarà senza dubbio un iTunes più efficiente, sia a livello di reattività, sia a livello di utilizzo di risorse processore, sia superficialmente a livello di feel, di esperienza d’uso, che mi immagino più fluida, senza intoppi, senza dita incrociate quando effettua operazioni laboriose (vedi aggiornamento di Genius e sincronizzazione di iPhone, per fare i primi due esempi che mi sovvengono). Per concludere, mi diverto facendo una previsione: la prossima versione di iTunes, la decima, sarà Cocoa a 64 bit. E si chiamerà iTunes X — sulla scia di QuickTime.
8 Comments