Ouvrir le menu principal

iGeneration

Recherche

Google économise la DATA en réduisant à fond le poids des mises à jour sur Android

Florian Innocente

jeudi 08 décembre 2016 à 14:15 • 15

Android

Google a mis au point un nouveau mécanisme pour réduire encore plus la taille des mises à jour qu'il envoie vers les smartphones Android. Un procédé gagnant-gagnant : c'est moins de données à faire transiter depuis ses serveurs et le destinataire récupère plus vite sa mise à jour, laquelle ponctionne moins son forfait s'il n'est pas en Wi-Fi.

Avec "l'App Slicing", annoncé pour iOS 9, Apple avait élaboré un système équivalent, du moins dans l'intention. Après un faux départ, il a été réinstauré sur l'App Store (documentation développeurs). Il s'agit d'envoyer vers l'utilisateur des mises à jour dont le contenu est optimisé pour son appareil iOS (pas besoin des images d'un iPad si l'on a un iPhone, par exemple). Cependant, si l'on constate bien des écarts sensibles entre le poids d'une app annoncée sur l'App Store et ses mises à jour disponibles, la différence n'est pas toujours aussi importante que celle obtenue par Google.

C'est un paradoxe, alors que l'on parle d'applications mobiles, celles-ci n'ont plus rien de légères. Word sur iOS pèse pas moins de 482 Mo et une autre telle que Dropbox n'a rien d'un poids plume non plus avec ses 132 Mo. Des dizaines de milliards d'apps et de jeux sont téléchargés sur Google Play, rappelle Andrew Hayden, un ingénieur de Google, dans un billet. D'où l'impérieuse nécessité de limiter le poids de ces transferts.

Cet été, Google a utilisé l'algorithme bsdiff pour réduire en moyenne de 47 % la taille d'une mise à jour, comparé au poids total de l'app. Un cran supplémentaire a été atteint après l'adoption d'une nouvelle méthode dite du File-by-File patching.

En moyenne, une mise à jour peut maintenant voir son poids réduit de 65 %, voire de 90 % dans le meilleur des cas. Cela se traduit par une économie journalière de 6 pétaoctets, soit 6 000 To qui n'auront plus à être acheminés vers les utilisateurs.

Les applications Android sont des fichiers APK, qui eux-même sont à la base des archives ZIP d'un genre particulier. C'est l'algorithme Deflate qui est le plus souvent utilisé pour compresser ces contenus. Il a un défaut, si l'on modifie ne serait-ce qu'une infime partie du fichier original (par exemple des fautes corrigées dans l'interface), sa recompression va produire un résultat très différent du précédent. Il sera fort compliqué de comparer deux versions compressées d'une même app pour trouver ce qui a changé à l'intérieur.

Imaginez que vous soyez l'auteur d'un livre sur le point d'être publié, et que vous souhaitiez y changer une seule phrase - il est beaucoup plus simple de dire à votre éditeur laquelle doit être modifiée et de quelle manière plutôt que de lui renvoyer le livre complet modifié.

Le File-by-File patching fait cela, il consiste à envoyer vers le terminal de l'utilisateur un petit fichier qui contient les changements ainsi que l'endroit où les appliquer.

Côté serveur, Google va donc décompresser l'ancienne version de l'app et la nouvelle, puis générer le fichier qui liste les différences dans leur code respectif. Ce fichier est compressé puis envoyé vers le téléphone. L'ancienne version de l'app qui y est installée ainsi que ce fichier sont décompressés, cette mise à jour est appliquée et l'app est recompressée.

Sur un jeu comme Farm Heroes Super Saga qui pèse 71 Mo, la précédente méthode donnait une mise à jour de 13,4 Mo alors que la nouvelle descend jusqu'à 8 Mo.

Cliquer pour agrandir

Côté pile, la mise à jour envoyée est beaucoup plus compacte coté face, ce travail de décompression/recompression sur le téléphone prend plus de temps. Sur un smartphone de 2015, il faut compter un peu plus d'une seconde par méga-octet et cela augmentera sur des modèles moins récents ou peu puissants.

En gros, explique Andrew Hayden, pour une mise à jour dont la taille a été divisée par deux, le temps de traitement pour son application est doublé. Par conséquent, Google limite pour le moment l'emploi de cette technique aux mises à jour envoyées automatiquement, pendant la nuit. De manière à éviter qu'un utilisateur qui a demandé manuellement une mise à jour ne trouve pas le temps trop long. Reste que les résultats sont spectaculaires au vu des quelques exemples choisis.

Rejoignez le Club iGen

Soutenez le travail d'une rédaction indépendante.

Rejoignez la plus grande communauté Apple francophone !

S'abonner

Apple sommée de retirer TikTok aux USA dès janvier

13/12/2024 à 20:45

• 36


Somfy : une mise à jour TaHoma a cassé les scènes HomeKit

13/12/2024 à 18:30

• 26


Le service de paiement Wero affiche déjà 8 millions de transactions pour 14 millions d'utilisateurs

13/12/2024 à 17:00

• 21


AirTag : United traquera les bagages perdus avec le partage de position d'iOS 18.2

13/12/2024 à 16:00

• 12


Promo : le mini chargeur de voyage 3-en-1 d’Anker à 75 € (-25 %)

13/12/2024 à 14:47

• 2


Resident Evil : Capcom supprime la connexion internet obligatoire et lance une série de promos

13/12/2024 à 11:43

• 18


USB-C : Apple va arrêter la vente des iPhone SE et iPhone 14 dans l'Union européenne

13/12/2024 à 10:23

• 39


Apple sortirait des nouvelles versions de l’Apple TV et du HomePod mini en 2025

13/12/2024 à 07:53

• 15


L’Apple TV serait le premier produit à étrenner la puce Wi-Fi de la pomme

12/12/2024 à 21:15

• 44


Avez-vous personnalisé les boutons de l'écran verrouillé d'iOS 18 ?

12/12/2024 à 18:15

• 84


La sortie morcelée d’iOS 18 ralentirait le développement d’iOS 19

12/12/2024 à 17:30

• 51


iPhone 17 : les rumeurs s'alignent sur des capteurs photo en bandeau

12/12/2024 à 16:45

• 41


Plans souligne les itinéraires les plus écologiques

12/12/2024 à 15:15

• 38


Apple Music est désormais distribué via Canal+ avec une remise de 30 % 🆕

12/12/2024 à 12:52

• 51


L’app Air France affiche désormais des activités en direct

12/12/2024 à 12:45

• 4


Avec tvOS 18.2, le HomePod 2 « améliore les dialogues »

12/12/2024 à 11:15

• 11