While focusing on app features & monetization, product owners often forget that the app size plays an important role in SEO, promotion and user acquisition. Below we described 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.
First of all, the app’s size is regulated by 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 the users can download the app without a notification about the file size, extra data usage charges, and recommendation 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?
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 device. 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.
Smaller apps generally have a better chance of being ranked 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.
Knowing that smaller app size results in better user acquisition rates and higher ranking in app stores, you may want to know how to actually reduce the app size. Here are a few ways how we as developers do that:
If the application consists of a large number of copypasted/duplicated code, the developer can reduce the written code twice, or three times by optimizing the app and using scalable architecture.
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.
In terms of 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 for rendering images with high resolution, iOS spend a lot of memory and the app size increases. For a recent project, we used the ImageOptim app. This app reduces image size without giving up its quality.
There are different techniques to reduce app size for iOS applications called App Thinning:
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.
It’s a common practice for our mobile development team to work with the app size while further developing and supporting the existing mobile apps.
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 helpedus 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 reduced from 100+ Mb to 30-40 Mb depending on the device’s architecture and screen size.
Another case was completely different. One of our clients was struggling with SEO issues and problems with the web and mobile apps that couldn’t be addressed in the existing code due to several reasons. The client and our dev team decided to re-develop the apps from scratch. Although the re-development was triggered by many issues not related to the mobile app size, the fresh mobile applications were a pleasant bonus.
We started development with scalable architecture, decreasing about 70% of code base. Using Bitcode technology, removing half of third party SDKs, and optimizing images with ImageOptim app, we significantly reduced the application size.
As a result, comparing with the old mobile application, the new app has decreased in size by 2 times from 149 mb to 71 mb.
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 they also provide a better user experience by improving app performance, download speed, and reliability.
The datarockets mobile development team has a broad experience supporting existing mobile applications, updating technologies and frameworks to the latest versions, and 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!
Check out our newsletter