Google ha deciso di introdurre la compressione Brotli al fine di rendere più veloci gli aggiornamenti Android via OTA. La maggior parte delle persone neanche fa caso alle dimensioni che questi aggiornamenti hanno di solito. Questo perché, in genere, gli update vengono scaricati automaticamente in background sfruttando la connessione Wi-Fi. Si tratta, in effetti, di un grosso lavoro a carico del server back end.

Per questo motivo, un risparmio anche nell’ordine di qualche megabyte può fare una differenza significativa. Questo perché tali numeri andranno moltiplicati per potenziali centinaia di migliaia di utenti.

A tale scopo, Google ha lavorato per portare in Android Brotli, il suo algoritmo di compressione. La finalità perseguita consiste nel rendere più veloci gli aggiornamenti OTA.

Che cos’è Brotli

Brotli è un algoritmo di compressione sviluppato da pochi dipendenti di Google. Esso è in grado di migliorare significativamente il rapporto di compressione rispetto ad altri algoritmi come GZIP. Inoltre, Brotli ha dimostrato una notevole velocità di decompressione.

Lo svantaggio è, invece, che la compressione di file tramite Brotli è piuttosto lenta. Pertanto, questo algoritmo viene in genere evitato quando si tratta di comprimere contenuti dinamici.

D’altro canto, l’algoritmo Brotli è ottimo quando si tratta di comprimere dei contenuti statici, come possono essere pagine web. Ciò comprende anche file di applicazione scaricati dal Google Play Store.

Dal momento che ci sono ben oltre 2 miliardi di device Android nel mondo, anche un risparmio di piccoli quantitativi di dati nella distribuzione di patch dal Play Store può risultare importante per Google.

L’algoritmo di compressione Brotli, usato per i download di app dal Play Store, permette agli utenti di risparmiare 1,5 petabyte (1,5 milioni di gigabyte) di dati al giorno.

Quali benefici per gli OTA

Gli aggiornamenti OTA non vengono distribuiti agli utenti con la stessa frequenza degli update delle app dal Play Store. Tuttavia, essi hanno dimensioni tendenzialmente molto maggiori. Ad esempio, un pacchetto OTA prima della compressione può essere di 2 GB.

Uno sviluppatore di LineageOS riporta che nel caso di Moto G4 era stato possibile risparmiare 50 MB su un build non ufficiale. Considerando che, di media, una build LineageOS per Moto G4 è da 350 MB, il miglioramento è notevole.

Inoltre, dal momento che Brotli incrementa anche la velocità di decompressione, ne consegue che gli aggiornamenti possono essere applicati più rapidamente. Gli aggiornamenti OTA vengono inviati a ciascun utente in forma di archivio, che deve essere decompresso, prima che le patch possano essere introdotte via bsdiff.

Ad ogni modo, gli utenti di dispositivi con partizioni A/B (come Pixel, Pixel 2, Essential Phone, Razer Phone, Moto Z2 Force, Xiaomi Mi A1) probabilmente non noteranno miglioramenti. In quel caso, infatti, gli aggiornamenti vengono applicati alla partizione inattiva in background. Comunque, anche questi device beneficeranno di update OTA più piccoli grazie a Brotli, facendo risparmiare banda all’utente.