The Magic of App Size Reduction

Lift off

While focusing on app features & monetization, product owners often forget that app size plays an important role in SEO, promotion and user acquisition. Below, we described the reasons why app size matters, simple development approaches to reduce the size quickly, and two impressive case studies showcasing how our mobile team successfully reduced the size of client applications by 2-3 times.

Does Size Really Matter?

First of all, the app’s size is regulated by the App Store and Google Play.

As per Apple regulations, it became essential to optimize the size of the application

If any of the device variant sizes exceed the 200 MB over-the-air download limit, a yellow warning appears next to the build string in the Builds table and next to the variant size in the App Store File Sizes table. Click the warning icon to read the full warning. Apple will also send you an email with this information.

This means the number of app installations can be higher if users can download the app without being notified about the file size, extra data usage charges, and recommendations to use Wi-Fi.

Almost the same requirement exists for Android developers:

Apps on Google Play have a size limit, which is based on the maximum compressed size of your APKs at the time of download across all supported devices.


The maximum size limits are:
150MB: Maximum compressed download size of APKs for one device generated from app bundles. The app bundle itself can be many times larger than this size.

What about business benefits? 

Better User Acquisition & User Experience

App size plays a significant role in user acquisition and user experience. Mobile devices have limited storage space, and if an app takes up too much space, users may not want to download or keep it on their devices. And if a large-sized app requires an update, the update itself will also be significant in size. Consequently, the user will need to consume network data once again to download it. 

Higher Rank in App Stores

Smaller apps generally have a better chance of ranking higher in app stores like Google Play and Apple AppStore. Most app stores prioritize fast downloads and efficient use of storage space – and smaller-sized apps tend to hit both these goals. In addition, smaller apps may be perceived as more lightweight and user-friendly, which can create a better user experience. This may yield more positive user reviews and ratings, which is important for app store ranking algorithms.

Simple manipulations to reduce the app size

Knowing that smaller app sizes result in better user acquisition rates and higher ranking in app stores, you may want to know how to reduce the app size. Here are a few ways how we, as developers, do that:

Delete unused code

If the application consists of many copypasted/duplicated lines of code, the developer can reduce the written code by optimizing the app and using scalable architecture twice or three times.

Delete unnecessary resources and dependencies

And make sure to run regular maintenance checks on your codebase. This will help you identify and remove any files that are no longer needed and potentially save space. Additionally, there are many available tools designed to analyze code and remove unused portions. For instance, there are Lint tools for Android and iOS that can detect unused code, resources, and various performance issues. Moreover, Firebase provides a performance monitoring tool that makes it easier and more efficient to identify sluggish methods, unused resources, and other bottlenecks that may hinder optimal functioning.

Optimize images 

Regarding iOS app development, for the newest device, it is advisable to use only images for devices with higher resolution screens (@2x.png to @3x.png). Also, iOS uses a lot of memory to render high-resolution images, and the app size increases. For a recent project, we used the ImageOptim app. This app reduces image size without giving up its quality.

Use App Thinning for iOS

There are different techniques to reduce app size for iOS applications called App Thinning:

  1. Slicing: iOS creates a variant of your app that only includes the code and resources needed for a particular device.
  2. Bitcode: You can enable Bitcode in your project to allow iOS to optimize your app’s binary code.
    By enabling Bitcode, it was possible to reduce the application size by 6%.
  3. On-Demand Resources: You can divide your app’s resources into downloadable packages that are downloaded only when needed.

Use advantages of a specific language

For instance, using structures is preferable to classes, making them a great choice for small data structures. Enums and optionals can help significantly reduce the app size and loading.

***

The techniques above will decrease the size of the app quite a bit and decrease the download time. They also keep your app under the OTA(Over The Air) size limit.

Let’s dive into real examples 

Our mobile development team often works with the app size while further developing and supporting existing mobile apps.

G-plans: from 100+ Mb to 30-40Mb

When we took over the development of G-Plans, we were worried about the Android version of the app being too large. With a download size of over 100Mb, this had a significant impact on the download time and installation process.

To tackle this problem, our solution involved uploading the builds to Google Play in AAB format instead of APK. This decision helped us offload a portion of the build process to Google and leverage their ability to implement specific optimizations on their end. Moreover, we initiated the process of optimizing the images we were using in the app and removing unused code and resources more strictly. This approach aimed to minimize their influence on the overall size of the app bundle.

Consequently, the app’s download size was reduced from 100+ Mb to 30-40 Mb, depending on the device’s architecture and screen size.

Bunz: 70% of code base decrease and -50% of app size

Another case was completely different. One of our clients struggled with SEO issues and problems in the legacy web and mobile apps. The client decided to make a big app restructure and re-develop the apps from scratch with our help. Although the re-development was triggered by many issues unrelated to the mobile app size, the fresh mobile applications were a pleasant bonus.

We started development with scalable architecture, decreasing about 70% of the code base. Using Bitcode technology, removing half of the third-party SDKs, and optimizing images with an ImageOptim app, we significantly reduced the application size. 

As a result, the new mobile application is twofold smaller (149 MB -> 71 MB).

Mobile app development for Bunz project

In conclusion, we clearly see that reducing the size of mobile apps is crucial for developers, users and business owners. Smaller apps not only reduce the amount of storage used on a device but also provide a better user experience by improving app performance, download speed, and reliability.

The datarockets mobile development team has broad experience supporting existing mobile applications, updating technologies and frameworks to the latest versions, improving performance and optimizing the code by reducing the size of the mobile applications. Drop us a line here if you have any questions about your app!

Tanzilya

Tanzilya

Mobile App Development Lead at datarockets

From our blog

Stay up to date

Check out our newsletter

© 2024 Red Panda Technology (dba datarockets). All Rights Reserved.