Tech giant Google has reduced the size of its application updates by up to 65% using new software, a move that will save data costs for users.
The new file-by-file patching will minimise the amount of data that end users have to download for application installs and updates, Google Play software engineer Andrew Hayden wrote on the company’s Android Developers blog. App updates using file-by-file patching can be up to 90% smaller than the full app in some cases, he wrote.
“Imagine you are an author of a book about to be published, and wish to change a single sentence – it’s much easier to tell the editor which sentence to change and what to change, rather than send an entirely new book. In the same way, patches are much smaller and much faster to download than the entire APK,” Hayden explained in the blog. APK refers to Android application package and is the file format to install apps on the operating system.
According to the company, Android users downloaded and installed some 65 billion apps from its Google Play store last year. Many developers have started pushing out updates more frequently to match up to the new functions or to patch security vulnerabilities.
With file-by-file updates, Google Play sends a patch to the end user device that describes the differences between the old version of the application and the new version of the app, Hayden explained.
Android applications are packaged as APK files containing highly compressed content. With file-by-file patching, when an update is ready, the uncompressed content in the update is compared against the uncompressed content in the original version of the app in order to identify the differences, or ‘delta’, between the two versions.
The differences are then applied to the old app and the content is recompressed in a manner that ensures the updated app on an end user system is identical the updated version in Google Play, said the blog.
For the moment, Google will use the technique only for patches that are delivered as auto-updates. Such updates happen in background without any interaction and typically occur at night when a phone is likely to be least used.