Adobe verringert mit App-Bundles und Dynamic Delivery seine App-Größe um 20 %
Hintergrund
Seit 1982 können Nutzer auf die Kreativitäts- und Produktivitäts-Tools von Adobe zählen. Obwohl Apps wie Photoshop, Illustrator und Lightroom bei kreativen Köpfen seit Jahrzehnten beliebt sind, ist es das vor fast 30 Jahren von Adobe entwickelte PDF, das jedem ein Begriff ist.
Adobes kostenlose Vorzeige-App, der Adobe Acrobat Reader, ist für viele Nutzer weltweit das zuverlässige Standardtool, mit dem sie ihre PDFs lesen, unterschreiben und kommentieren können. Die mobile Android-App verzeichnet mittlerweile mehr als 500 Mio. Downloads. Und nach all dieser Zeit findet das Adobe-Team immer wieder neue Wege, den Reader zu verbessern. „Im letzten Jahr haben wir viele neue Funktionen in der Android-App implementiert“, erzählt Shubham Garg, Informatiker bei Adobe. Obwohl Nutzer von den neuen Funktionen begeistert waren, führte die nun erhöhte App-Größe zu weniger Conversions. Ein Problem, das vor allem in Entwicklungsländern verstärkt auftrat, wie Shubham Garg erläutert.
Vorgehensweise
Mit Android App Bundles konnte das Adobe-Team die App-Größe ohne viel Aufwand verringern. „Der Umstieg auf App Bundles war ganz einfach“, erzählt Shubham Garg. „Unsere App unterstützte bereits die Android SDK-Mindestversion und erfüllte die Gradle-Anforderungen, sodass nur kleine Codeänderungen erforderlich waren. Nachdem wir eine Kopie des Signaturschlüssels sicher an Google übertragen hatten, war die Einführung der neuen Funktionen einfach“, sagt er.
Neben App Bundles entschied sich das Adobe-Team dafür, mehrere App-Funktionen zu modularisieren, um so die App-Größe weiter zu verringern. „Wir hatten bereits Bibliotheksmodule in der App verwendet, aber die dynamischen Funktionen ließen uns die Modularisierung aus einem neuen Blickwinkel betrachten“, erklärt Shubham Garg. „Die App konnte eigenständig ausgeliefert werden, ohne dass es zu Verzögerungen wegen der Kompilierdauer von bestimmten Funktionen kam, da sie auch später installiert werden konnten.“
Die erste Funktion, die modularisiert wurde, war „Ausfüllen und unterschreiben“. Mit Dynamic Delivery musste das Adobe-Team nicht mehr jede Bildschirmdichte und sprachspezifische Ressource bei jedem einzelnen APK berücksichtigen. Ihre alten APKs waren bereits von vornherein geteilt, weshalb keine weiteren Änderungen nötig waren, um die App kompatibel mit App Bundles zu machen.
Ergebnisse
Mit App Bundles und Dynamic Delivery konnte Adobe die Acrobat App-Größe um 15 MB bzw. 22 bis 25 % verringern. Bei einigen Geräten waren es sogar um die 30 %. Die Einführung lief perfekt: „Wir hatten keine Probleme mit Performanceeinbußen und auch der Downloadprozess ging reibungslos vonstatten“, berichtet Shubham Garg. Seiner Meinung nach ist das zum Teil auf die einfachen Tests zurückzuführen. „Dank der internen App-Freigabe konnten wir Erfahrung mit dem Play Store sammeln und gleichzeitig Debug-fähige Apps hochladen, ohne uns Gedanken über die Versionsverwaltung machen zu müssen.“
Mit App Bundles spart das Team außerdem Zeit, da nun nur noch ein einzelnes Artefakt bei Google Play hochgeladen werden muss. „Früher mussten wir vier verschiedene geteilte APKs nutzen“, sagt Shubham Garg. Jetzt gibt es nur noch ein einziges Bundle. Adobe verzeichnete außerdem eine um 5 bis 7 % erhöhte Conversion-Rate bei Installationen und erhielt weniger Nutzerbeschwerden zur App-Größe.
Durch Dynamic Delivery „ist die App kleiner und kann schneller installiert werden“, erläutert Shubham Garg. Vor der Modularisierung lud das Adobe-Team vier verschiedene APKs für jeden Release hoch. Da jedes APK einen unterschiedlichen Versionscode hatte, mussten die Vitalparameter und Analysedaten getrennt gemessen werden – was ein mühseliger und fehleranfälliger Prozess sein kann. Mit App Bundles dagegen war nur ein einziges Artefakt mit einem einzelnen Versionscode erforderlich. „Das half uns dabei, unseren Entwicklungsprozess zu vereinfachen. Wir können nun einzelne Builds an unsere Tester ausliefern und uns darauf verlassen, dass die App geräteübergreifend funktioniert“, sagt Shubham Garg.
Was steht als Nächstes an? „Wir möchten mit bedingten Auslieferungsfunktionen experimentieren, um die Vorteile von App-Größenreduzierung oder Dynamic Delivery bei bestimmten Funktionen zu sehen. Dabei konzentrieren wir uns auf spezifische Zielgruppen“, erklärt Shubham Garg.
Jetzt starten
Alle App- und Spieleentwickler können Android App Bundles nutzen. Hier erfährst du, wie das geht.