Google a annoncé hier de nouveaux outils de compression pour réduire encore la taille des mises à jour pour les applications, qui peuvent parfois représenter un problème. Bien que les chiffres montrent l’efficacité de la méthode, elle ne se fera pas sans impact sur l’autonomie. Explications.
Il a toujours existé deux grandes méthodes pour mettre à jour un système ou une application, qu’il s’agisse d’une suite bureautique ou d’un jeu. On peut simplement compresser les fichiers complets pour les décompresser ensuite sur l’appareil et procéder par écrasement des données. Ou on peut au contraire réduire les différences à leur plus simple expression, le processeur devant alors exécuter des calculs plus importants.
Réduire toujours plus la taille des patchs
En juillet dernier, Google avait annoncé l’utilisation de l’algorithme bsdiff pour détecter et compresser les différences entre l’APK installé sur l’appareil mobile et celui présent sur le Play Store. Le gain annoncé était d’environ 50 % par rapport à la technique utilisée auparavant, permettant de générer des mises à jour plus petites à télécharger. Il y avait donc gain de temps et moins de pression sur les forfaits data, à moins bien sûr de le faire sur une connexion Wi-Fi.
Google en remet une couche, avec une nouvelle technique baptisée « File-by-File patching ». Cette fois, le gain est en moyenne de 65 % et peut même atteindre 90 % sur certaines applications. La création du patch passe par la décompression de l’ancienne et de la nouvelle application, toujours via bsdiff.
Les modifications sont cependant appliquées sur les données décompressées, avant qu’elles soient recompressées. Les signatures sont ensuite comparées pour vérifier que le nouvel APK formé sur l’appareil correspond bien au dernier disponible sur le Play store.
Une augmentation parfois significative du temps d'installation
On se rapproche donc beaucoup plus de l’intervention « minutieuse » avec un minimum de données envoyées. Ce qui engendre une charge supplémentaire pour le processeur, ce dont Google prévient d’ailleurs. Ainsi, sur des appareils récents, datant de 2015 au moins, l’étape de compression réclame en moyenne une seconde par mégaoctet. Un temps qui est loin d’être négligeable, et qui sera encore plus important sur des appareils plus anciens.
Globalement, Google indique que si la taille des mises à jour est divisée par deux, le temps d’installation est quant à lui doublé. L’éditeur indique que ces changements sont introduits pour économiser autant de données que possible. Mais l’introduction de ce mécanisme est étrange à une époque où les forfaits data ne cessent de grandir.
Car les utilisateurs, s’ils constatent un impact sur leur autonomie, risquent d’attendre systématiquement d’avoir à disposition un chargeur et un réseau Wi-Fi. Il se pourrait aussi que cette nouveauté s'adresse à des marchés plus spécifiques comme les pays en voie de développement, où les constructeurs de smartphones fondent de nombreux espoirs pour la croissance de leur activité dans les mois et années à venir.
Notez enfin que la technique « File-by-File patching » est open source. Elle fait partie du projet Archive Patcher, que l’on peut trouver sur GitHub.