Google today announced Android App Bundles, a new tool for developers that will make apps radically smaller. The trick here is that developers can now say which of their apps’ assets should be included for a given device so there’s no need to ship every visual asset for every screen size and support for every language to every user, for example — something many developers do today. That can result in install files that can sometimes be more than 50 percent smaller than before.
As Google’s Stephanie Cuthbertson told me, large download sizes are often an issue for users in developing countries, but elsewhere, too, users often balk at installing large apps. “Apps are targeting more countries than over, they have more features than ever,” she told me. “But we know the larger apps are, the fewer installs they get.”
To enable this new feature, Google rearchitected its whole app serving stack. As Cuthbertson noted, that was a major project. Since the Android team had been toying with this idea for a while, though, most of the Android platform was ready for this change.
So while the standard APK format isn’t going to change, every user now essentially gets a somewhat personalized file when hitting the Install button in Google Play.
Google says it trialed this service with some of its own apps already, including the YouTube and Google apps. A couple of other partners also tested it already; Microsoft, for example, saw a 23 percent file reduction for the LinkedIn app.
Most of the hard work to enable this feature is handled by Google, but developers who want to make use of it do have to specify which assets and languages they want to ship to which users. As Cuthbertson noted, much of this was possible before, but it was hard to do for developers. Now, they can use the same development flow as before and only have to make some very minor changes to enable support for App Bundles.
In addition to delivering the full app through an App Bundle, Google is also today introducing a related new tool: dynamic features. This essentially allows developers to make their apps modular. As Cuthbertson noted, that may be especially interesting to developers whose apps offer lots of features, some of which may only see usage by a very small number of users. For those users, developers can simply ship that feature on demand when they attempt to use it. Developers can start experimenting with these features in the latest canary release of Android Studio.