The Making Of Makaan Android Instant App
In general, the native app offers a better user experience than web and we wanted to provide the best experience to our consumers. Our data show that native mobile apps give a lot better conversion rate than mobile web, so instant app became a natural choice for us and we were extremely excited when Google announced the Software Development Kit (SDK) in 2017 I/O.
With originalAPK size of ~7.2MB, we started our journey by breaking the app into logical feature modules. Based on our analytics data, we concluded that most
Optimising APK size to bring it down below 4MB mark- after refactoring our
code-base in feature modules, instant app size was down to 5MB.
- We used APK analyser to see and carefully check which component could be optimised to reduce the APK size.
- Major optimisation came from image assets, we converted all the required icons to
webpformatwhich reduced the apksize further. We also identified and moved all heavy assets to a remote store to be fetched and cached at runtime.
- We were using an external font which was packed with the APK and was costing us 300KB. We decided to remove the existing font and use Robo-electric which was available out of the box.
- We re-configured our APK only for Englishlanguage support. This also helped us in reducing the APK size.
- We removed few third-party libraries and used our own solution instead. This is one of the important points while building an Instant app, we should use our own in-house solution as much as possible.
- All these
optimisationresulted in instant app size of ~3.1MB.
We did it!
We started getting around 2.5X conversion on compared to mobile web. As a result of instant app release, we also witnessed improvements in app installations.
Not a rosy path
There were a few issues and minor in nature. First and foremost, we use a view binding library butterknife. Though the library is beautiful
Envisaging the future
- We are exploring a more efficient serialisation technique instead of JSON that will not only save the user’s network bandwidth but also result in faster loading & less memory consumption.
- We will be integrating SMSRetriver for frictionless lead dropping experience and better conversion. Asking less permission to do the same task is always better.