Adobe reduces app size by 20% with app bundles and dynamic delivery
Adobe's creativity and productivity tools have been helping people since 1982. But while Adobe apps like Photoshop, Illustrator, and Lightroom have been beloved by creatives for decades, it's the humble PDF — which Adobe invented nearly 30 years ago — that may be the biggest household name.
Adobe's flagship Android mobile app, Adobe Acrobat Reader, is the free global standard for reliably viewing, signing, and commenting on PDF documents with more than 500M+ downloads. And after all these years, it just keeps getting better. "Over the last year, we've added a great number of features to the Android application," said Shubham Garg, Computer Scientist at Adobe. But while users loved the new features, they also started to notice the increased app size, which led to fewer conversions. This was a problem, "particularly in developing economies, where we see both of these issues being more prominent," said Shubham.
What they did
Android App Bundles allowed Adobe to reduce Acrobat's app size without too much effort. "It was easy moving to app bundles," said Shubham. "Our app already supported the minimum Android SDK version and Gradle requirements, so it required negligible code changes on our part to support." Once they securely transferred a copy of their signing key to Google, he said, rollout was easy.
In addition to bundling, Adobe chose to modularize several app features to decrease their app size even more. "We were already using library modules inside the app, but dynamic features introduced us to a different way of thinking about modularization," said Shubham. "The app could be delivered in a standalone manner without having compile-time dependencies on features, and the features could then be installed at a later time."
The first feature they modularized was "Fill & Sign". Using dynamic delivery, they no longer had to include every screen density and language-specific resource in each APK. And because they had already split their old APKs by architecture, the team didn’t have to do any additional work to make them compatible with app bundles.
App bundles and dynamic delivery were able to reduce Acrobat's app size by 15 MB, or about 22% - 25%. For some devices, savings were even larger — around 30%. And the rollout went perfectly: "We didn’t experience any performance degradation, and the download experience was seamless," said Shubham. He credits that, in part, to the ease of testing. "We relied on internal app sharing, which provided us a Play store experience while also allowing us to upload debuggable apps without worrying about the versioning."
Bundling also saves the team time, as they now only need to upload a single artifact to Google Play. "Earlier, we had to rely on 4 different APKs, split by architecture," said Shubham. Now, there's just a single bundle. They've also seen an increase of 5%-7% in their install conversion rate, and fewer users are complaining about the app size.
As for dynamic delivery, "the app install is both smaller and faster," said Shubham. Before modularization, the team used to upload four different APKs with each release. And because each APK had a different version code, they had to measure the vitals and analytics separately — a cumbersome and error-prone process. But with app bundles, they only need to upload a single artifact with a single version code. "This has helped us simplify our development process, and we can now share single builds with our testers and rest assured that it would work across all devices," says Shubham.
Next up? "We would like to experiment with conditional delivery features to see the benefits of app size reduction or dynamic delivery of certain features by targeting specific audiences," said Shubham.
All app and game developers can use Android App Bundles. Get started today!