One of Google’s primary goals is to spread its Android operating system to any device that you may touch, and that’s going to be a major theme this week at Google’s I/O 2014 developer conference. Android Wear smartwatch development will be front and center. Android TV—a rumored entertainment service from Google—may make an appearance. Android is the prime delivery mechanism for Google’s advanced search product, Google Now.
Former Microsoft CEO Steve Ballmer once infamously chanted “developers, developers, developers!” at a Microsoft event. (A developer event, naturally.) Google’s head of platforms Sundar Pichai might as well come on stage at I/O 2014 and chant, “Android, Android, ANDROID!”
If Android is central to Google’s overall mission, Android Intents—a developer feature that lets Android apps interact with one another—is core to what makes Android unique. As mobile devices have proliferated, the basic infrastructure of how we access information on the Web—namely, websites connected by links—is being supplanted by apps that frequently just don’t talk to one another well, if at all.
That change hasn’t been to Google’s liking, both because it cuts against its long-held mission of indexing the world’s information and because it undermines its core search-advertising business model. So it has quietly built out an infrastructure based on Intents that in some ways replicates the functionality of hyperlinks in the world of apps.
In fact, Google embedded Intents in Android at its inception. They’re easily overlooked, but if you want to get a sense of how our access to the world’s online information will evolve over the next few years, Intents are a pretty good place to start.
What Are Android Intents?
Android Intents are a developer-level technology let apps “shake hands” with one another to help a user complete an action—opening a map, say, or sharing a photo. Unlike similar capabilities in Apple’s iOS and Windows Phone, Intents allow developers to easily create features that connect multiple apps together without having to build each integration separately. (They also make it possible for Android users to choose alternatives to various default apps such as the browser, the mapping application, or the interface theme.)
Intents is used by over 90 percent of Android apps in the Google Play app store. They allow developers to share data between apps without having to hard-code that behavior into the apps themselves. Intents live deep within Android and serve as a kind of plumbing system that shuttles all manner of media and other data into and out of apps in a consistent and universal way.
Have you ever clicked on a link or a video in an app in Android and had a screen pop up asking you which app you would like to use to complete that actions? For instance, if I clicked on a video in an email, a box pops up and asks, “Complete this action using …” and then lists a series of apps such as YouTube or Chrome.
That’s what users experience from Intents. It’s less cumbersome than it might sound, as you can choose a default option and then never see the dialog box again unless you clear the default in settings. The important thing is that the system provides the choice in the first place.
For developers, Intents means that they don’t need to get the cooperation of every other app maker in order to make a feature work across apps. The Intents system includes a long list of actions it can complete; developers simply register a new app with the appropriate capabilities in the Intents system. If an action doesn’t exist in the Intents directory, it’s possible to define it and build it into Intents so any other app developer can use it.
For the last several years, Android Intents was pretty much a unique developer feature. None of the other major mobile operating systems had anything quite like it.
Apple’s own home-grown apps could communicate with each other, but third-party apps were largely left out in the cold. Apple’s control over iOS gave consumers few options beyond Apple’s default apps. Microsoft’s Windows Phone also doesn’t have many developer hooks for cross-app communication and functionality, letting apps live in their own hubs and tiles on the home screen.
Android has never been the easiest operating system to develop on—oddly, the consensus among developers I have asked is that Windows Phone is the easiest on which to code. But Android-first developers and designers have embraced and evangelized features such as Intents as important and unique aspects of the operating system. The fact that nine out of ten apps in the Google Play store have adopted Intents is a good indication of just how deeply ingrained they are in the Android app development experience.
Apple has belatedly recognized the value of letting apps communicate among themselves. One of the biggest new features in its forthcoming iOS 8 operating system is what Apple calls “extensibility.” This is a feature that allows apps to share data and communicate with each other despite being isolated in “sandboxes” for security.
One consequence of extensibility is that iOS apps will, for the first time, be able to receive and handle data that would normally be the province of a designated default app—such as, say, the iOS keyboard. If the popularity of Android Intents is any indication, extensibility is likely to be a big hit among iOS developers.
Cross-Linking For Android Apps
On the Web, the link is king. Site addresses in the form of uniform resource locators (URLs) have long been the standard for how users navigate the Web, clicking through from one page to another.
Smartphones and tablets are beginning to change that basic paradigm. On mobile devices, the app is king—and that means URL-based links often just won’t work for many purposes. Google built Android Intents to offer an app-based alternative that offers something like the universal access to information we normally associate with the Web.
Android Intents may not even register in the mind of the average smartphone user. They are just bopping between apps, reading a Tweet and sharing a picture and reading an article and watching a video and sending an email. But the app-to-app sharing is taking place nonetheless.
One good example of Intents user interaction is seen in an app called Link Bubble, built by independent developer Chris Lacy out of Australia. Link Bubble is essentially a mobile browser, reimagined for the modern smartphone users.
Link Bubble essentially “grabs” links that users click in various apps. Instead of then opening a browser and forcing the user to wait while a page loads, it loads pages in the background, showing the link as a bubble—something like a Facebook Messenger chat head—right there on top of the app user interface.
Users can tab on a bubble to expand it immediately, or share the link by flicking it across the screen (to the right for Facebook, to the left for the read-it-later app Pocket, for instance).
Link Bubble will also automatically open apps from links you click on in other apps. For instance, if you click an Instagram photo on Twitter, normally you’d be redirected to the Instagram website before going into the Instagram app itself. With Link Bubble, you’d click from Twitter and be taken straight to the Instagram Android app.
The ReadWrite team will be at Google I/O this week, bringing you all the news and analysis that you will need from Google’s biggest week of the year.