Google Tests Streaming Apps
Perhaps foretelling the future of the mobile app experience, Google Inc. has begun the first live testing of its Instant Apps streaming project, which lets users try an app without going through the traditional store download and installation process.
The company introduced Instant Apps in May. After enlisting a small number of Android developers to refine the experience, Google yesterday announced the start of a limited test in which several selected apps will be available in Instant Apps versions.
Google will further iterate the project according to user/developer feedback before expanding it.
"To develop an instant app, you'll need to update your existing Android app to take advantage of Instant Apps functionality and then modularize your app so part of it can be downloaded and run on-the-fly," the company said in a blog post yesterday. "You'll use the same Android APIs and Android Studio project. Today, you can also take some important steps to be ready for Instant Apps development. The full SDK will be available in the coming months."
Instant Apps -- perhaps a precursor to the mobile model of the future -- lets users tap on a URL to run certain parts of an app instantly, with no downloads or installation necessary. Google says this lets users discover and experience an app with minimal friction.
The company -- with a huge investment in the Google Play app store -- is quick to caution that Instant Apps functionality isn't designed to replace an existing Android app, but rather just complement an app.
And, at this stage of the game, such app replacement simply isn't feasible, as certain functionality that app users take for granted isn't available, such as the use of background services, ability to do background notifications and access unique device identifiers.
Specifically, Google identified the following as beyond the reach of Instant Apps:
- Run on the device without users being aware. Foreground services are available. Instant apps can only be started through activities that support App Links, so services, content providers or broadcast receivers won't be able to start your app. Push notifications are currently not supported in instant apps.
- Access external storage on the device. However, instant apps can temporarily use internal storage private to the app.
- Discover or interact directly with the list of installed apps on the device (for example, via explicit intents).
- Receive broadcasts from the system or other installed apps, or use Google Cloud Messaging. In the future, instant apps may support a limited set of broadcasts while the app is running.
- Access device identifiers that (1) persist longer than the instant app and (2) are not resettable by the user (for example, Settings Secure Android ID (SSAID), Build Serial, Mac Addresses, IMEI, IMSI). NOTE: developers will have access to the Advertising ID.
- Change device settings (for example, change the user's wallpaper).
What developers can do at this stage, Google says in its Instant Apps guidance, is program quick-hit functionality such as watching a video or buying something.
Because Instant Apps are built on the existing Google Play store functionality, they can leverage store services such as location, identity and payments. They can also hook into Google's back-end services provided by its Firebase platform, such as analytics, databases, storage, crash reporting and so on.
Google provided the following list of steps (many of which are ordinary best practices anyway) to prepare an existing app for Instant Apps suitability:
- Remove any unneeded bulk from your app.
- Support URL-based navigation.
- Refactor your app, if necessary.
- Implement runtime permissions from Android 6.0.
- Implement Smart Lock for Passwords if your app authenticates users.
- Identify unsupported features.
Of course, the time and effort required for this process -- which requires a regular APK app build and a separate Instant Apps build -- will depend on how an existing app's APK package is constructed.
"As a developer, you won't need to build a new, separate app. It's the same Android APIs, the same project, the same source code," Google said. "You'll simply update your existing Android app to take advantage of Instant Apps functionality. In fact, it can take less than a day to get up and running for some developers, though the effort involved will vary depending on how your app is structured. You modularize your app, and Google Play downloads only the parts that are needed, on the fly. And when you do upgrade, your app will be available to more than a billion users on Android devices going back to Jelly Bean."
While Google is testing the app-streaming waters, other companies have jumped in wholeheartedly. 1APP, for example, lists the following in its company manifesto:
While hardware has dramatically increased, and the app store economy had led to an initial Cambrian explosion of new types of software in the form of apps, the transmission of apps has been stuck in the dark ages.
Being tied to stores and downloaded software creates a situation where only the biggest app developers and platforms can succeed, and even then only with enormous amounts of marketing dollars. We started 1APP because we believe instant access of apps, delivered wherever and however users want it, is the next necessary phase of mobile, and will transform the ecosystem for app developers, platforms, device makers and carriers alike.
The initial four apps available for Google's live testing program come from BuzzFeed, Wish, Periscope and Viki.
Developers wishing to get early access to the Instant Apps program, including documentation, can sign up to apply for inclusion.
David Ramel is the editor of Visual Studio Magazine.