Users often get a popup message that asks them for an active Wi-Fi connection to download a certain app just because it is heavier than the permitted app size. Most users always avoid large apps exceeding 50 or 100MB size because of these constraints. Moreover, app size unnecessarily bigger than required pulls factor for retaining users over a long time since such apps consume a good amount of device storage space as well. To make things worse, heavier apps are likely to be sloppier in speed and performance when compared to lighter apps with crisp and small APK size. But when you can compromise neither with the look and feel and visual elements nor with the app contents and features, what can you do to downsize the app without actually interfering with the user experience? Well, this is precisely why as an app developer I consider it worth explaining some of the effective ways to reduce the app size while maintaining a consistent user experience.
App thinning: the solution for iOS
When it comes to device storage space getting severely hit due to the massive size of the apps, users of iOS devices, including iPhone and iPad, are at a loss since Apple does not support expandable memory cards as with Android and other platforms.
A bounty of photos, a few favourite media files, some frequently accessed productivity and workplace apps, few apps for a movie, songs, social media and chat and some addictive apps for mobile gaming that may be the common breakup of most used apps by a typical iPhone user. But one fine morning when trying to download a new app you are asked to free up some disk space to continue, you just cannot decide which one to drop since you find all of them as useful or fulfilling to your needs.
To address this issue, from iOS 9 upgrade, Apple officially came with app thinning — a new way to leverage the app features based on the need of the user and device in use. App thinning is nothing but rendering a stripped-off version of an app with a minimum required features and making other features and contents available as and when needed by the user.
For instance, a gaming app can be a much lighter with features and graphics needed for the level game player is playing. As and when the player progresses to another level the subsequent features and graphics can be uploaded replacing the previous level. Thus, by making game features available as per the level of the game, the app can always be lighter and thinner in size.
App thinning is provided in three major ways as App Slicing, On Demand Resources and Bitcode.
App Slicing: This is done by App Store to create a different minimalist version of the app based on the device one uses and technical specifications like resolution and CPU. With this method, the same app in spite of their overall identical look and feel will be rendered for iOS and Android devices in different versions.
On-Demand Resources: An app is installed with bare minimum features and contents, and then as when the use of the app calls for advanced features, required resources are rendered. With on-demand resources, a game at first installed version does not need to come packed with resources for all levels. As the game player progresses from one level to another the resources for them are made available.
Bitcode: This thinning procedure is nothing but Apple’s effort to optimise the file sizes of an app with most advanced compressing technique.
What about app downsizing for Android apps?
As of now, Android as a platform could not deliver a comprehensive and almost effortless solution like App Thinning just like the Apple’s iOS. With Android, app downsizing remained a responsibility of the developers principally. The web is full of publications and posts about the ways to reduce Android app size. Here, we are going to explain a few credible and tested methods.
Reduce resources
The resource size of your APK has a substantial bearing on the loading time and overall performance. Many apps simply get slower because of the bulk of unused resources. Consumption of memory and utilisation of device power are two significant considerations to maintain a small size of the APK. By just reducing the number and size of your files you can give a solid boost to the app speed and performance.
Using proper media formats
When it comes to images and media files, some formats are heavier and can make your app size bulkier with no apparent reason. For images, the recommended formats would be PNG or JPEG. A combination of both PNG and JPEG can work better for different types of image files. As for audio files, AAC is regarded as the best-compressed format to ensure optimum sound quality. For video files, use H264 AVC and always make sure that the video is encoded with smaller resolution compared to the larger screen of target devices.
Unbundle APK into several smaller ones
You app APK most of the times comes packed with many data that majority of users hardly need, but they never fail to create the bulk of the app size. For example, regional data and language settings may not be required by all. To make the app leaner in size, you can unbundle these layers of data that are not central to the core app feature into several smaller APKs. This would allow the app access these APKs as and when needed while maintaining the lean size of the core app.
To conclude, reducing app size is no longer a choice but a necessity for apps if they want to remain on the device screens of their users for long. Device storage constraint is still a major factor for uninstalling apps, and you need to address it with apps optimised with reduced file sizes and APK.