Adobe verkleint de app-grootte met 20% via app-bundels en dynamische levering

Achtergrond

De creativiteits- en productiviteitstools van Adobe helpen mensen al sinds 1982. Maar terwijl Adobe-apps zoals Photoshop, Illustrator en Lightroom al decennia lang favoriet zijn onder creatievelingen, is de pdf-indeling (die Adobe zo'n 30 jaar geleden uitvond) wellicht de bekendste van al deze tools.

De grootste mobiele Android-app van Adobe, Adobe Acrobat Reader, is de gratis internationale standaard om op betrouwbare wijze pdf-documenten te bekijken, te ondertekenen en van opmerkingen te voorzien. De app is inmiddels al meer dan 500 miljoen keer gedownload. En na al die jaren wordt de app alleen maar beter. "In het afgelopen jaar hebben we heel veel functies toegevoegd aan de Android-app", zegt Shubham Garg, computerwetenschapper bij Adobe. Maar hoewel gebruikers enthousiast waren over de nieuwe functies, merkten ze ook dat de app groter was geworden en dat leidde weer tot minder conversies. Dat was een probleem, "vooral in ontwikkelingslanden, waar we deze problemen steeds vaker tegenkomen", legt Shubham uit.

Wat ze hebben gedaan

Dankzij Android App Bundles wist Adobe de app-grootte van Acrobat zonder al te veel moeite te verkleinen. "De overstap naar app-bundels was heel makkelijk", zegt Shubham. "Onze app ondersteunde de minimumeisen voor de Android SDK-versie en Gradle al, dus er waren aan onze kant maar een paar kleine wijzigingen in de code nodig om alles te ondersteunen." Zodra ze op een veilige manier een kopie van de ondertekeningssleutel hadden overgezet naar Google, was de implementatie volgens hem zo klaar.

Naast bundels koos Adobe ervoor verschillende app-functies te modulariseren om de app-grootte zo nog verder terug te dringen. "We gebruikten al bibliotheekmodules in de app zelf, maar dankzij dynamische functies moesten we op een andere manier nadenken over modularisatie", legt Shubham uit. "De app kon nu standalone worden geleverd zonder compilatietijd-afhankelijkheden voor functies en de functies konden dan later worden geïnstalleerd."

De eerste functie die werd gemodulariseerd was Fill & Sign. Dankzij dynamische levering hoefden ze niet meer elke schermdichtheid en taalspecifieke resource toe te voegen aan elke APK. En omdat ze de oude APK's al hadden verdeeld op basis van architectuur, had het team er geen extra werk aan om ze geschikt te maken voor app-bundels.

Resultaten

Dankzij app-bundels en dynamische levering is de app-grootte van Acrobat verlaagd tot 15 MB (ongeveer 22 tot 25% kleiner). Op sommige apparaten was het resultaat nog aanzienlijker, met een vermindering van ongeveer 30%. Daarnaast verliep de uitrol perfect: "Er was geen vermindering van prestaties en de downloadfunctionaliteit werkte probleemloos", zegt Shubham. Hij schrijft dat deels toe aan hoe makkelijk het is om te testen. "We vertrouwden op het intern delen van apps, waardoor we over een Play Story-omgeving beschikten terwijl we ook apps waarin fouten kunnen worden opgespoord konden uploaden zonder ons zorgen te maken over verschillende versies."

Bundels besparen het team ook tijd, omdat ze nu maar één artefact naar Google Play hoeven te uploaden. "Eerder waren we afhankelijk van 4 verschillende APK's, die per architectuur waren opgesplitst", aldus Shubham. Nu is er één bundel. Het team heeft ook een stijging van 5 tot 7% opgemerkt als het om het conversiepercentage voor installaties gaat en er zijn minder gebruikers die klagen over de grootte van de app.

Als het om dynamische levering gaat, "is de app-installatie zowel kleiner als sneller", zegt Shubham. Vóór de modularisatie moest het team 4 verschillende APK's uploaden voor elke release. En omdat elke APK een andere versiecode had, moesten ze de statistieken en analytische gegevens afzonderlijk meten. Dit was een omslachtig en foutgevoelig proces. Maar dankzij app-bundels hoeven ze maar één artefact te uploaden met één versiecode. "Dit heeft ons geholpen het ontwikkelingsproces te vereenvoudigen. We kunnen nu enkele builds met onze testers delen en er zeker van zijn dat die op alle apparaten werken", zegt Shubham.

En nu? "We willen experimenteren met voorwaardelijke leveringsfuncties om de pluspunten van een kleinere app-grootte of dynamische levering van bepaalde functies te zien door specifieke doelgroepen te targeten", vertelt Shubham.

Aan de slag

Alle app- en game-ontwikkelaars kunnen Android App Bundles gebruiken. Ga vandaag nog aan de slag.

Ga naar de Play Console