Google has announced Android Instant Apps during Google I/O keynote, enabling applications to run without having to install them first.
One of the new Android features announced during the keynote at Google I/O 2016 was Android Instant Apps. Companies interested in implementing deep linking – Apple, Facebook, Twitter, URX – are trying to convince application developers to index their applications with deep links, so when a user taps on a deep link is taken to a certain page within the application. (For more details on how deep links work we recommend this InfoQ post). But that requires the application to be installed first. Google was initially pursuing this idea too, but now they have come up with a tweak that implements deep links in Android without having to install an application. When a user taps on a deep link, the related application is downloaded and the corresponding activity is shown even if the application has not been previously installed. Google showed such instant applications running inside other applications. The user experience was seamless, returning to the initial app after the user was done with the instant one. The users can be provided with the option to permanently install the application if they choose to.
In demos shown during the keynote, the target applications loaded pretty fast, and some commented that they loaded faster than a web page in Chrome in their hands-on test. That is possible because the application to be loaded is prepared by being split up in modules, and only the desired module is loaded. To make it work properly, developers will have to modularize their applications. It is the same application, the same source code, but there are two builds generated: one for the regular installable APK and a modular one for instant run. The later is also stored on Google Play, without requiring anything special from developers. According to Google, preparing an application for instant run usually takes less than a day, but the effort required depends on how an application is structured.
An instant application needs Play Services and it runs on API level 16+, that is Android Jelly Bean 4.1+. Android Instant Apps will use the permission scheme introduced with Marshmallow. And “if an app supports the permission model introduced in Android 6.0 (API level 23), it does not require any additional work to become an Instant App that runs on older devices,” according to Google. Also, some features are not available for Instant Apps, such as background services, background notifications or unique device identifiers.
Android Instant Apps are currently in preview, those interested being invited to fill in an Interest Form. Instant Apps will be generally made available later this year.