Leggi questo articolo grazie alle donazioni di Antonio D'Agostino, Luca Rosano.
♥ Partecipa anche tu alle donazioni: sostieni SaggiaMente, sostieni le tue passioni!

Quasi due anni fa, osservando il decadimento generale di qualità nei maggiori sistemi operativi sia desktop sia mobile, lanciai un appello a realizzare aggiornamenti più sostenibili. Era una richiesta rivolta ad Apple, Google e Microsoft, quasi un’implorazione più che un invito a rimettere la qualità al centro dei rilasci, invece della quantità. Per riprendere i termini che avevo utilizzato, di pensare allo slow food e non al fast food come concetto ideale. Naturalmente, le mie osservazioni erano e rimangono da un punto di vista lontano da quello di uno sviluppatore, quale non sono, ma probabilmente anche da quello di un manager, posizione che deve per forza fare i conti con numeri, risultati, target e indicatori di performance imposti dai vertici e dagli azionisti. Cerco di vederla da comune utente, che non lavora per quell’azienda ma ne utilizza i prodotti e si sofferma sulla propria esperienza con essi. A distanza di due anni, come vanno le cose? Purtroppo non bene.

Rispetto alla riflessione del 2017, non andrò nel dettaglio di Google e Microsoft, anche se soprattutto su quest’ultima ce ne sarebbe da dire, visto che ogni aggiornamento di Windows 10, mensile o maggiore che sia, sembra portare bug più o meno gravi. In questo seguito voglio concentrarmi su colei che in fondo è al core del nostro sito, ovvero Apple. Ma prima, come si suol dire nelle fiction, un breve riassunto delle puntate precedenti. Torniamo a cavallo tra il 2017 e il 2018, quando iOS 11 e macOS High Sierra segnarono un picco negativo nella percezione qualitativa del software proveniente da Cupertino. Una serie di falle, tra cui quella celebre dell’utente “root”, costrinse Apple ad una marcia continua di correttivi per i suoi sistemi operativi, arrivando infine a ripensare il modello di sviluppo per le successive versioni.

I piani di iOS 12 e macOS Mojave, specialmente il primo, furono profondamente modificati. Molte funzionalità vennero rinviate, dando più tempo agli ingegneri software di perfezionare quanto esistente. Il risultato fu l’arrivo di release effettivamente molto più ottimizzate, con novità più dosate e un numero minore di bug ad alto impatto, eccettuando quello relativo a FaceTime di gruppo. Questo non significa che non vi siano stati bachi o problemi di sicurezza da risolvere: ci sono e ci saranno sempre, dato che il fattore umano gioca un ruolo inevitabile nell’errore. Ma la percezione generale è stata di un gradevole affinamento, che sembrava aver riportato Apple sulla strada giusta.

Lezione imparata? Arriviamo al 2019, iOS 13 e macOS Catalina. Molte delle feature in precedenza rinviate fanno la loro comparsa alla WWDC di giugno, con l’auspicio che il tempo in più trascorso nello sviluppo abbia fruttato bene. Non è stato così: a causa dello stato “diversamente buono”, definiamolo così, iOS 13 ha perso per strada varie novità durante la fase Beta, spostandone una parte sulla 13.1 la cui breve fase Beta è iniziata quando ancora doveva uscire la .0, la cui vita commerciale è durata di fatto quanto quella di un gatto su una autobahn tedesca. Da lì, una carambola di bugfix, con la 13.1.1 e 13.1.2 uscite a pochissima distanza.

In quel breve articolo pronosticai l’arrivo di una 13.1.3, puntualmente avvenuto poco più di 10 giorni fa. Nel frattempo, la 13.2 sta scaldando i motori in vista di un rilascio che stando alle indiscrezioni potrebbe arrivare la prossima settimana, anche in questo portando un altro pacchetto di funzionalità in ritardo. Non è però da escludere a priori un rinvio, dato che stanno circolando report su un possibile bug dell’attuale 13.1.3 con la ricarica senza fili che si ritroverebbe pure nelle Beta della 13.2.

Parliamo di macOS Catalina. Alcuni giorni fa Maurizio aveva approfondito qui la sua decisione di aspettare ad aggiornare il grosso del suo parco macchine, sia a seguito della sua poco felice esperienza su un MacBook Air fin dalla fase Beta sia considerate le profonde modifiche apportate da tale versione, che hanno impattato non solo le vecchie app a 32-bit ora inutilizzabili ma pure software a 64-bit che funzionavano correttamente su Mojave. Dal canto mio, ho riscontrato invece problemi di altra natura, come lo scanner che ha smesso di funzionare solo sul mio account, app che si aprono casualmente in modo automatico all’avvio nonostante non siano tra gli elementi di login e rallentamenti, inclusi sporadici stuttering nella riproduzione di brani musicali, cui non avevo mai assistito nemmeno con High Sierra.

La 10.15.1 è in preparazione, ma alcuni giorni fa un aggiornamento supplementare ha già provveduto a seccare alcuni bug della prima ora. Un update di suo tutt’altro che leggero, visto che ha richiesto di scaricare più di 900 MB di fix, e menomale che non era la .1. A sua volta, l’aggiornamento supplementare è stato soggetto ad una leggera revisione, che ha coinvolto coloro che ancora non l’avevano installato.

In sostanza: no, non hanno imparato la lezione, si erano solo limitati a rinviare lo scontro con la realtà dei fatti. Lo spiega bene su TidBITS David Shayer, che a molti non dirà granché, ma ha esposto la sua opinione basandosi su “appena” 18 anni trascorsi in Apple. Non mi metterò a tradurre per filo e per segno, anche perché allungherebbe drasticamente questo post, condenserò qui i 6 punti principali su cui si è soffermato. Innanzitutto, l’eccessivo accumulo di funzionalità da implementare in tempi ristretti finisce per avere ovvie conseguenze negative sulla loro qualità e stabilità, non permettendone la giusta maturazione; il risultato è quanto abbiamo sperimentato con iOS 11 prima e con iOS 13 ora. Il secondo punto affronta i report sui crash del sistema operativo e delle app, che aiutano sì a indirizzare gli interventi sui bug più gravi, riducendone la presenza, ma non permettono di tenere facilmente conto di altri bug presenti, che non portano a crash completi ma sono comunque potenzialmente impattanti nell’esperienza d’uso. L’unico modo per scovarli è attraverso prove automatizzate e le segnalazioni sia dai tester, interni ed esterni, sia dal supporto Apple. Ciò porta al terzo punto, un sistema di priorità per i bug che finisce a dare poca importanza a quelli minori, che rischiano di rimanere per sempre ignorati, come illustrato da Shayer nel quarto punto. Il quinto ritorna invece sui test automatizzati, il cui uso è incostante all’interno di Apple e che potrebbero costituire un aiuto importante se utilizzati in modo globale. Infine, il sesto punto guarda alla crescente complessità dei software, in un’azienda molto lontana dai tempi in cui doveva solo occuparsi dei Mac, rendendo molto più gravose le fasi di sviluppo e test.

In fondo Shayer è stato leggero e costruttivo nelle sue critiche. Se fosse vero quanto raccontato su YCombinator da un presunto dipendente Apple, la situazione sarebbe decisamente peggiore. Ma non entriamo nel dettaglio di questi possibili sfoghi, rimaniamo su quanto visibile e oggettivamente accertabile. Come evitare il perdurare di queste negatività tecniche? Perché abbiamo già visto che il problema non si risolve solo spostando funzionalità da una versione all’altra.

Supponiamo che nel 2020 iOS 14, come due anni prima, si concentri su performance ed ottimizzazioni: dobbiamo poi aspettarci l’anno successivo un iOS 15 pieno come un uovo di feature malconce? Per avere aggiornamenti davvero sostenibili occorre secondo me un cambiamento culturale. Quanto suggerito da Rene Ritchie di iMore nel video soprastante è condivisibile: aumentare il “capitale umano” nella sezione software di Apple, ma senza associarlo automaticamente ad un aumento proporzionale di funzionalità, privilegiando invece un approccio qualitativo; ufficializzare ciò a cui si sta già assistendo, un ciclo di rilasci delle funzionalità più cadenzato, che copra da settembre al giugno successivo, l’inizio di un nuovo ciclo. Personalmente, aggiungerei a quest’ultima una variante mutuata da Android, dove sistema operativo e applicazioni vengono aggiornati in modo separato. Credo che una replica di tale soluzione in salsa Apple porterebbe ad uno sviluppo più efficiente, con app native curate più costantemente e versioni di iOS e macOS focalizzate sugli interventi che contano, dietro le quinte e non. In aggiunta, auspicherei la disponibilità dell’app Feedback nello Store invece che limitarla alle sole Beta, aumentandone la sua potenziale utilità. Questi sono però punti di vista da comune utente, non da sviluppatore, quindi la vera somma speranza è che Craig Federighi riesca ad impostare la giusta rotta.

Giovanni "il Razziatore"

Deputy - Ho a che fare con i computer da quando avevo 7 anni. Uso quotidianamente OS X dal 2011, ma non ho abbandonato Windows. Su mobile Android come principale e iOS su iPad. Scrivo su quasi tutto ciò che riguarda la tecnologia.

Commenti controllati Oltre a richiedere rispetto ed educazione, vi ricordiamo che tutti i commenti con un link entrano in coda di moderazione e possono passare diverse ore prima che un admin li attivi. Anche i punti senza uno spazio dopo possono essere considerati link causando lo stesso problema.