|Android Instant Apps Enter Live Testing|
|Written by Mike James|
|Friday, 27 January 2017|
Last year at Google I/O the one of the most interesting announcements was the idea of an instant app. A sort of crossover between a native app and a web app. Now they are almost here with the start of live testing.
What's the best thing about web apps?
Possibly the fact that users don't have to install them. They simply visit the website and use the app. Of course many web app creators wish that their app could have more presence on the device, i.e. they would quite like it to be installed so that the user will return again and again. Well, it seems that in Google's collective brain the instant gratification of web apps is more important.
Here is the I/O 2016 presentation:
An instant App is a standard Android Native App - i.e. written in Java with some C/C++ if needed and served to the end user as if it was a web page. That is the instant app is downloaded and run on-the-fly. The user selects a link to the app and then just gets to use it. If they like it they can also opt to install it without having to revisit the app store.
In principle, you don't need to do anything special to make your app instant. That is, you don't need to create two versions of your app - the same code can be run in either installed or on-the-fly mode. However, to make it workable you will have to make some changes. The most obvious is to put your app on a weight loss diet. Yes you have to shrink the size of the API so that it can be downloaded as quickly as possible. This might be extra work, but it's worth it even for the installable app.
Next you have to support URL-based navigation. The Instant App API supports the transfer of a URL that the user clicks on to a single Activity in your app. If you want to start another Activity then it has to use the URL address for that Activity.
A very vague requirement is to refactor your app so that any URL addressable module is under 4MBytes in size. That is, effectively an Instant app cannot be larger than 4MBytes unless it divides itself into a set of smaller Instant apps each one invokable using a URL. Obviously how much this looks like a single app is going to depend on how fast the network connection is.
There are also a list of smaller requirements including to use Android 6.0 permissions and implement smart lock if you authenticate users.
There are also some unsupported features most of which are perfectly reasonable. Instant apps cannot:
It is worth checking that your app doesn't do any of these things before spending time on the other issues.
Some Instant Apps are already rolling out to some users:
"We’ve been working with a small number of developers to refine the user and developer experiences. Today, a few of these Instant Apps will be available to Android users for the first time in a limited test, including apps from BuzzFeed, Wish, Periscope, and Viki. By collecting user feedback and iterating on the product, we’ll be able to expand the experience to more apps and more users."
At the moment if you want to get in on the act you have to submit your request to Google to be included in the preview.
Is the Instant App concept a good one?
Without fast WiFi and 4G networking it is a very bad idea. If you have a large app then giving the user the opportunity to download it every time they run it is probably not a selling point. You also need to keep in mind that the user might not know that your app is being delivered as an Instant App and might just think that the sluggish behavior is your fault.
If the app is small and can work by downloading small chunks of new data and behavior then perhaps it will give the user a good enough experience. What this means is that you are probably going to have to do more work refactoring your app than Google suggests.
As a way of easing the initial install barrier it seems like a good idea, but we all want the user to stick with the app and install it.
So Instant Apps are more like a "try it before you buy it" feature.
or email your comment to: firstname.lastname@example.org
|Last Updated ( Friday, 27 January 2017 )|