Twitter verkleint de app-grootte met 33% met behulp van app-bundels

Ontdek hoe Twitter zijn app vereenvoudigde en verkleinde met Android App Bundles.

Achtergrond

Voor het Twitter-team is het erg belangrijk dat de app licht en makkelijk te installeren blijft, vooral voor gebruikers in opkomende markten waar de dataverbindingen niet altijd stabiel genoeg zijn voor grote apps. "We willen dat iedereen Twitter overal kan gebruiken, vooral in opkomende markten, en voor veel mensen is de APK-grootte een obstakel", aldus César Puerta, senior software-engineer bij Twitter. "Met app-bundels konden we onze distributiegrootte moeiteloos aanzienlijk verkleinen."

Wat ze hebben gedaan

Voorheen splitste Twitter zijn app handmatig in 4 ABI's, waarmee ze de grootte aardig konden beperken. Maar de app-bundel maakt dit veel makkelijker en nog effectiever, dus ze stapten graag over.

Voor Twitter definitief de overstap maakte, beoordeelde het team app-ondertekening van Play (een vereiste van de app-bundel) uitgebreid om te checken of het voldeed aan de beveiligingsnormen van Twitter. "We konden dit zien aankomen en planden hier dus genoeg tijd voor in", aldus César. Maar "toen de definitieve versie van app-bundels er eenmaal was, werd die makkelijk in gebruik genomen en we zagen geen regressies in de werking."

Tijdens het ontwikkelingsproces pakten ze met bundletool de APK's uit die ze naar het QA-team distribueerden. Ook testten ze hun app-bundels uitgebreid onder een grote groep gebruikers voordat deze werden uitgerold naar productie. Dit proces werkte zo goed dat ze hun interne 'dogfood'-app naar de Play Store overzetten voor een betere dekking en om problemen sneller vast te stellen.

Resultaten

Na de conversie rolde het team de nieuwe, gemodulariseerde app-versie moeiteloos uit naar hun 13,6 miljoen gebruikers. De releases van Twitter waren al geautomatiseerd, dus het nieuwe proces leek erg op wat het team al eerder had gedaan. Toch was er een onverwacht voordeel: "Met één versie-ID in plaats van 4 (voor ABI-splitsingen) konden we onze statistieken beter samenvoegen", aldus César.

Daarnaast konden ze de algemene app-grootte met 30-40% verkleinen, naast de besparing die ze al met de ABI-splitsing hadden bereikt. Een van de manieren waarop ze dat deden, was met een functiemodule om een grote native bibliotheek (3 MB per ABI) te distribueren die maar voor enkele apparaten nodig was.

De volgende stap is om Periscope, de Twitter-app voor live video's delen, ook naar de app-bundel te migreren. Het team werkt ook aan de modularisering van de hele Twitter-app. "Als we helemaal zijn overgestapt op functiemodules, overwegen we voor een aantal functies waarschijnlijk dynamische distributie", aldus César, maar hij schat dat dit nog wel 6 tot 12 maanden duurt. César hoopt dat hun ontwikkelaars dankzij de modularisering modules kunnen hergebruiken voor zowel Twitter als Periscope. Dat zou veel tijd en onnodige duplicaties besparen.

Aan de slag

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

Ga naar de Play Console