Programmazione.it
Greenpeace
Dimenticare il software versioning grazie a Chrome
Scritto da Luca Domenichini il 25-05-2011 ore 09:46
Intel Parallel Studio XE
Chrome è il prodotto con il quale Google ha deciso di mettere la sua pesante impronta nel mondo dei browser web. Rilasciato nella sua prima forma (v. 0.2.149) il 2 settembre 2009, come risultato dell'assemblaggio di almeno 25 diverse librerie open source (tra cui il Netscape Portable Runtime di Mozilla, i Network Security Services, NPAPI, SQLite), ha visto succedersi nell'arco dei mesi un numero impressionante di release: ben 15 quelle stabili, inclusa l'attuale 11.0.696.

La politica di rilasci di Chrome ha subito una notevole accelerazione il 22 luglio 2010, quando Google ha deciso di modificare la frequenza delle release stabili, passando da una ogni trimestre a una ogni sei settimane, e introducendo il quarto canale nel sistema di release, il cosiddetto Canary (dalla funzione svolta dai canarini nelle miniere: se una modifica uccide Chrome Canary, viene bloccata anzitempo).

Una caratteristica fondamentale di questo browser è la sua modalità di aggiornamento, completamente automatica, che non richiede conferme da parte dell'utente, ma si occupa all'avvio di verificare la presenza di versioni più complete in Rete: tramite Google Updater su Windows, tramite Google Update Service su Mac OS X, tramite i vari gestori di pacchetti su Linux. Pur non potendomi includere in questa categoria, esiste un folto gruppo di persone che apprezzano molto tale sistema, poiché garantisce una immediata diffusione delle migliorie e delle correzioni di tutti i difetti noti al team di sviluppo (cosa non possibile se l'utente, comunemente pigro e poco interessato alle "questioni tecniche", deve accettare manualmente l'operazione).

Nei fatti, l'utente di Chrome, abituato all'uso di questo strumento in continua evoluzione, vede il numero di versione cambiare così di frequente che non è in grado di abituarcisi. Ne è un esempio l'opinionista e tecnologo Jeff Atwood, di Berkeley (California), che ad oggi preferisce dimenticare l'esistenza del concetto di versioning e assegnare a Chrome l'arbitrario numero di versione ∞ (infinito): "Una volta — dice — è persino successo che il numero di versione cambiasse proprio mentre cercavo il mio numero di versione".

Si tratta, oltre che di un simpatico aneddoto e punto di vista, anche di una rivoluzione tecnologica importante, perché il costo di implementazione per quella che Atwood chiama "fluidità" è stato molto alto per Google, che ha investito fortemente affinché in milioni di computer ogni giorno l'aggiornamento semplicemente avvenisse senza guai, blocchi, incertezze. L'ottimizzazione svolta da Google viene concretizzata oggi con l'applicazione di uno speciale algoritmo, l'algoritmo di Courgette, che minimizza il numero di byte necessari alla migrazione da una versione precedente all'ultima disponibile.
Copyright Programmazione.it® 1999-2005. Tutti i diritti riservati. Testata giornalistica iscritta col n. 569 presso il Tribunale di Milano in data 14/10/2002.