Do you really need to download an app to own it?

I’m not being philosophical here (do we truly own anything?) but when you consider how quickly and easily you can download and install something like a flashlight app, it makes you wonder what the advantage to keeping it on your device actually is. Unless you work down a mine, it’s unlikely you’ll need those special use case apps all that often; so as long as you’re able to access an app quickly when you need it most, what benefit is there to having it take up space the rest of the time?

Android Instant Apps are Google’s answer to this dilemma. Instant Apps is a feature that lets you use an app without needing to fully download it onto your phone: just find it in the Play Store and click ‘Open App’. Better yet, it allows you to jump to a specific activity within an app you don’t have installed, simply by tapping a URL. It’s already available for some users and is in the process of rolling out to the rest of us. But what does it really mean for you? And how should developers adapt to this new feature?

Using Android instant apps

To access Android instant apps on your device, you simply need to turn the option on in your settings menu – as long as you have a Nexus or Pixel device. Head to Personal > Google and then Services. Now just toggle Instant Apps on and then tap ‘Yes, I’m In’ when the notice comes up. You can try it out with some of the early adopters like BuzzFeed or Wish. If you don’t have one of those devices, then you may still be able to find it in your settings, but the apps won’t be available yet for you to try. Don’t worry though, they’re coming!

Android Instant Apps can also be launched from a URL. This is similarly handy because it essentially extends the web browsing experience to add more power and native functionality – not to mention allowing us to share experiences from within apps.

What this could mean for users

So, what does this mean for users? Should you be excited, worried or indifferent?

On the whole, this is pretty exciting news and many expect it to be a game changer for the way we use our devices. There are many apps in the Play Store that are typically ‘one-use-only’ affairs, or things you will seldom use again. And there are still plenty of us with a paltry 16 GB of internal storage on our devices (or even less).

Most of us would prefer to use a native app over a website where possible but we don’t want the hassle of installing it.

While it’s not too much trouble right now to install an app and then uninstall it immediately after, Android Instant Apps promises to streamline the process even further so that you can save time and enjoy even greater efficiency from your device. Most of us would prefer to use a native app over a website where possible but we don’t want the hassle of installing it.

This is what you call ‘having your cake and eating it too’.

Better yet, is the promise of being instantly dropped into a specific useful page in an app with no hassle involved in installing it. The example Google gave at the recent developer conference was that a user could tap a parking meter with their phone to instantly open up a parking app (through NFC) on the payment page, ready to pay with Android Pay.

Another example was that you might be able to share a crossword puzzle with a friend over WhatsApp. Had particular fun with that puzzle? Then you can send the link over and the recipient will be able to dive right to that page within the app, with no need to install it first or even navigate through the menu.

Web browsing will become far more seamless, as sites switch between web pages, apps and back again. In future, we might even see sites using links to launch instant apps from other developers. While checking out nearby restaurants in Maps you could click a review link in Yelp and then open up the Uber app to book a taxi!

Web browsing will become far more seamless, as sites switch between web pages, apps and back again.

Speaking of the future, it is definitely easy to look at Android instant apps as being a big step toward an inevitable evolution for our online experiences. With data plans becoming more and more generous, connections becoming increasingly speedy and cloud storage being commonplace; it’s only a matter of time until we no longer have to download anything. Instant apps still actually download and install a portion of the software, but in future even the processing is likely to be outsourced to a server somewhere and that will drastically reduce the need for expensive hardware.

This is a small step in that direction, but it is a positive one.

Security and limitations

The worry that some might have reading this, is that it could present security issues. What if a webpage were to temporarily install an app on your phone that could bill you through Android Pay for instance?

An app can’t start billing you or reading your contacts unless you say that it can.

While Android instant apps may introduce some new security concerns, there are measures in place that ensure users shouldn’t need to worry for the most part. All network traffic from inside the apps will use HTTPS. Signing in will need to be handled by Smart Lock (which also keeps the process nice and speedy) and users will need to give permission just as they do for installed apps. An app can’t start billing you or reading your contacts unless you say that it can.

Google’s Instant App FAQs page, tells us that these apps can use the following permissions:

  • BILLING
  • ACCESS_COARSE_LOCATION
  • ACCESS_FINE_LOCATION
  • ACCESS_NETWORK_STATE
  • CAMERA
  • INSTANT_APP_FOREGROUND_SERVICE only in Android O.
  • INTERNET
  • READ_PHONE_NUMBERS only in Android O.
  • RECORD_AUDIO
  • VIBRATE

Anything not in this list is not supported by Instant Apps. Notice that things like Bluetooth, set alarm, use fingerprint and set wallpaper are missing.

Other limitations include the lack of support for background services (apps that run potentially without the user’s knowledge), for push notifications, for accessing external storage, or for looking at installed apps on a device. Instant apps also won’t be able to change settings on the user’s device, such as their wallpaper.

As you might expect, there is also a file size limit for instant app downloads too, that being 4 MB for each ‘feature’ or each page (think activity) of an app. This of course creates more potential limitations. It means, for example, that developers can’t pack an app full of rich media, though of course there’s nothing to stop them from streaming media from elsewhere.

But it does pretty much discount something like a fully 3D game. At the moment at least. Google has this to say on the subject:

“Games are a highly specialized category of apps, and often have unique tools, large assets, and high performance requirements. Even so, we are interested in exploring game use cases. Check the Android Instant Apps posts on StackOverflow

In the short term, there is nothing to stop you from creating games, but they will generally be things like puzzle games or very basic 2D platformers at a push. Hardware acceleration with OpenGL ES 2.0 is supported however, so future potential is there.

Time will tell whether some of these restrictions are lifted or whether more are introduced.

Time will tell whether some of these restrictions are lifted or whether more are introduced. It will also be interesting to see how developers and brands adopt the feature. One thing worth bearing in mind is the fact that iOS does not currently have a comparable service. Businesses might be cautious about introducing new experiences that only a certain section of their audience will be able to appreciate – but again, only time will tell.

What this means for businesses and developers

Businesses should be excited at the prospect of Android instant apps though, as this creates a lot of new opportunities for increased engagement and probably sales as a result. As we’ve already touched on, Android Instant Apps will provide a way for websites to link to more dynamic content for mobile users and this in turn will allow for the use of location awareness, in-app purchases and more. The real appeal for a business then, is the ability to let a user seamlessly order a pizza or buy a product through their app, or to get directions to a store. And the ability to share links to pages within apps will greatly increase the discoverability of those apps and potentially lead to more traffic. Those users that don’t like your app are also much less likely to leave a negative review too.

Instant apps will be a must for businesses that want to leverage the maximum marketing potential of their mobile apps then. However, for developers that make their living from app installs or from advertising, the benefits may be less clear cut. If you make your money from ads, then you may benefit from having more users frequenting your individual activities (and Firebase is supported). On the other hand though, the lack of requirement to install the app, might reduce how often some users come back to your app after their first encounter.

Instant apps will be a must for businesses that want to leverage the maximum marketing potential of their mobile apps.

Instant apps will be supported by Android versions dating all the way back to Jelly Bean, meaning that they will be available to millions of users but seeing as they won’t be available on iOS, some web pages might be reluctant to make them a big part of their strategy.

How developers can implement Android instant apps

An in-depth tutorial is beyond the scope of this post but we can quickly go over what is involved in creating an instant app.

The good news is that Android Studio 3.0 will come with instant app support out of the box. You’ll download the Android Instant Apps SDK from the SDK Manager and then you’ll use the App Links Assistant for easily adding your links. The emulators will now support testing on a local environment too (deep links were previously tested using ADB).

The biggest difference is the use of a new type of construct: feature modules. These work like libraries with their own code, resources and manifests and will be accessed in the same way from your installable app, but they will build as individual .apks for your instant apps. An instant app module will act like a container (a .zip) for your feature modules.

So to convert a regular app into an instant app, you’ll first use the App Links Assistant to modify your manifest and define entry points and URLs to access them. This works in a similar manner to the way that you would currently insert a deep link for linking directly to activities within a pre-installed app on your device.

You’ll then convert your application module and place it within a base feature module. You’ll rename the application to be a feature and change the Gradle file so that instead of com.android.application, you have com.android.feature. You’ll also add a line to Gradle to define your base feature. You’ll then add an application module for your current app, a ‘base’ feature module for the main app and a feature module for each instant app. All your app modules will build off the base feature module and so will have dependencies added to the Gradle files. There are a few additional steps and you’ll find a more detailed explanation below.

Google assures us that this whole process can be handled in less than a day for a basic app, but it will depend a lot on your current app structure, as well as the scale of the project you have in mind. If you want to create a store app and make every product listing its own feature, then you’re going to have numerous additional steps compared to building a regular app – but for larger projects it could take significantly longer. It certainly does introduce a number of additional steps if you want to make each page in a store run as a separate instant app for instance.

Best practices

Android instant apps introduce a host of new challenges for designers and developers and will require a new design language and way of thinking.

Google has shared some best practices here. For example, developers mustn’t aggressively urge users to download the full application. Developers can use an install button to prompt this but must do so in a subtle manner. Prompts should be limited to no more than two or three instances. Likewise, they need to avoid branching their UI and they are definitely encouraged not to add splash screens to individual pages. Smart Lock should be used for identity to avoid users having to continually log in and out of the apps and sites.

Android Instant Apps

It’s definitely worth reading through the full guide, but the best way to summarise this is to keep the transition between the web page and the app as seamless as possible while also remembering that users will be loading these pages from within the regular app.

Conclusion

So what do you make of Android instant apps? Can you see yourself using them? Developers: will you be converting your current apps, or using this feature for future projects?

Personally I see a lot of appeal and hope this is a step toward a ‘no downloads future’. For now, the ability to link friends directly to pages within apps will hopefully increase engagement and introduce a range of new use cases.

Success will likely hinge on the willingness of developers to put in that extra time though, which in turn will depend on just how ready users are to change their relationship with their software.