Ask a Developer: What are Android instant apps and why should I build them?

ask a developer

Android instant apps are a new model of native Android apps — and so far only on Android — that run without on-device installation. They are very small apps that have the functionality of a traditional app, but just aren’t stored on the phone itself. Each instant app could have a version that can be installed if the user chooses, but with one click, a user can use the app instantly and it won’t take up much device space.

A few popular instant apps are: Vimeo, NYTimes Crosswords, and Dotloop. Dotloop increased its users by 62 percent with the instant app and the NYTimes Crosswords sessions doubled. Instant apps have the potential to change how people interact with their phones on a daily basis.

Brands should consider creating instant apps because they allow users to try features of an app before committing to full on-device installation. The hope is that app creators will see a decline in immediate app drop-offs or uninstalls as users will be more likely to keep the apps they download after getting a taste of it through the instant apps.

Here are a few scenarios that demonstrate the potential for instant apps.

cell phones

Imagine you’re a customer in a line at a counter and you realize that you can pay for the product through the store’s instant app. Would you rather follow a quick link and pay for the product with Android Pay via the instant app or download an entire app?

Content producers can get parts of their content out to consumers without them needing to download a full app as well. Vimeo’s instant app increased viewer session length by 130 percent, and Onefootball’s users shared and read more content by 55 percent. People can engage with a portion of your content, get hooked, bumping your numbers, and then may download your app for the full experience!

Instant apps make these use cases possible. The idea of cluttering your device with apps that you only use for one or two features seems complicated and silly, for both the user and the app developer. App creators and brands are beginning to understand that racking-up app downloads doesn’t mean much if the user isn’t committed to keeping and using the app for more than five minutes. On top of that, users are less likely to reinstall an app that they’ve previously uninstalled.

Instant apps allow the user to declutter their phones and keep the apps they’re committed to, while letting the app creators retain more engaged users.

Instant apps core differences and useful tips

Building an instant app isn’t necessarily harder, it’s just a different process. The main difference is in the instant app’s 4MB maximum size requirement. Imagine bringing a 50MB app down to 4MB…probably not the best approach! I suggest making multiple modules: a base module and then a module for each feature. However, keep in mind that the combination of the base and feature module cannot exceed 4MB.

feature1

Through modularization, you are building something bigger by breaking it down into smaller features. Feature 1 has to be independent from feature 2, but they can call to each other through deep-linking. Plan and modularize your code first, otherwise you’ll risk refactoring your code into modules and files, adding complexity and bugs. Getting each module’s granules to work together smoothly can also be a bit tricky. Fortunately there are countless resources online (Android Developers has great free resources, and there is also: Google CodeLabs) that will walk you through this process.

We’re already seeing that people aren’t willing to download apps anymore, and with instant apps the user can consume immediately with the choice of further downloading.

To create fully separate modules, you will need to deep-link. Deep-linking is the process of using a hyperlink to invoke a web URL or a particular aspect of an app. So you could deep-link one part (or module) of the app into another. Plan ahead so you can figure out how to best link the apps and specific parts together.

Rather than converting and breaking down a larger 50MB app into multiple components, it is easier to make a highlighted feature into an instant app. At this point, the user will have a feel for the app and can then choose whether they’d like to download the full app.

The final difference in building an instant app and a regular app revolves around data. Data can be saved locally, or can be stored in a database. I built a firebase backend to store the data and the instant app could then retrieve any needed data.

Building an instant app involves the same sort development environment; you can use normal Android (either Android Studio or Eclipse – development software/integrated development environment) and even the same codebase. It really comes down to the initial setup and planning, which is different than standard Android app development. The overlap of resources and tools in making instant apps makes it well worth committing to that initial project planning hurdle in building an instant app because of the benefits they provide (mentioned above).

The way of the future?

If Google keeps pushing instant apps, then I truly believe that this is the way of the future for Android developers. We’re already seeing that people aren’t willing to download apps anymore, and with instant apps the user can consume immediately with the choice of further downloading.

Even though some build aspects are different, I don’t know a single developer that doesn’t enjoy a challenge and change of pace now and then. Building an app that is completely segmented is really an exciting yet totally manageable process. Your developers will feel a huge sense of accomplishment in mastering the complexity required to push an app live that keeps users happy while driving more engagement.

Nathalie Simons

Nathalie Simons

Nathalie Simons is a Lead Agile Software Engineer at TribalScale. Her passion for technology began in highschool when she began coding, leading her to pursue a computer science degree at Ryerson. Her love for coding, creating, and building led her down the path of creating digital products. At her core, she’s an Android developer, but she’s also experienced in using machine learning, AI, and IoT technology. On the side, Nathalie has worked on projects that leverage image recognition, and bluetooth beacons to create connected smart home experiences. As one of the lead Android Engineers at TribalScale, Nathalie has built products that are experienced by millions of users, including ABC News, Radio.com, and Helpful, just to name a few.