The first Developer Preview of Android N was a pretty big hit with a boatload of new features for both users and developers. Unlike last year, Google didn't ship the second preview with just a series of bug fixes–there are already new APIs for developers. One such addition is called Launcher Shortcuts and it promises to bring a new interaction model to the homescreen. The simple icons we've always known will soon be able to expose easily glanceable information, quick actions, and clever shortcuts into various parts of an app.
Launcher Shortcuts have a lot in common with the regular shortcuts supported by Android since the beginning. Both are displayed with an icon and a title (Launcher Shortcuts may also have a second line of text), and tapping on either one fires an Intent that should pre-load some parameters or lead to some special part of an app other than it's default landing screen.
These days, most launchers lump the traditional shortcuts in with widgets, but that's just the first of a few ways Launcher Shortcuts differ from their classic counterparts. In a sense, the new API is designed to have shortcuts exist in two states: Dynamic Shortcuts and Pinned Shortcuts.
The first time any Launcher Shortcut is seen, it will be in the form of a Dynamic Shortcut. Instead of hiding them among widgets in the app drawer, these are meant to be linked to an app's launcher icon and displayed in a short list after users perform a gesture. As the name implies, they are "dynamic," which means apps can make changes to their appearance and function.
Android N allows apps to define action-specific shortcuts which can be displayed in the launcher. These launcher shortcuts let your users quickly start common or recommended tasks within your app. Each shortcut contains an intent, which links the shortcut to a specific action in your app. – Android N API Overview
There is currently a maximum of five dynamic shortcuts allowed, but that limit will probably vary from one device to the next. There is also a rate-limiting system that prevents apps from making too many changes over a period of time. The counter resets once per day and doesn't allow for very many modifications, so developers will want to make updates sparingly.
While Dynamic Shortcuts are useful by themselves, there is a secondary form called Pinned Shortcuts. These are basically the midpoint between Dynamic Shortcuts and classic shortcuts. They are copies of the Dynamic versions and share all of the same characteristics and functions, even allowing for modifications through the API, but they can be placed anywhere on a launcher.
Your app can create up to five dynamic shortcuts. When users perform a gesture over your app's launcher icon, these shortcuts appear. By dragging the shortcuts onto the launcher, users can make persistent copies of the shortcuts, called pinned shortcuts. Users can create an unlimited number of pinned shortcuts for each app. – Android N API Overview
There's technically no limit to the number of Pinned Shortcuts that can be created; and once they exist, they are effectively permanent–apps cannot remove them, only the launcher.
Since apps can make changes to Launcher Shortcuts, they can be used a bit like an informational widget that is revealed with a gesture. However, this won't be practical for every app given the limited number of modifications and even more restrictive nature of only having an icon and a little bit of text to work with. A great example was provided by Steve Albright, in which a weather app provides a forecast for the next few days.
Contextually aware apps are still possible, especially if they use their updates carefully. For example, Google Maps may provide a list of likely destinations based on itineraries, scheduled events, or personal habits.
Of course, this can also be a handy feature for apps that don't need to make changes, or only need to display a very small amount of information so users don't need to open the app at all. <ahem>
Backup and Restore
Documentation already calls for Pinned Shortcuts to support Backup and Restore from Android 6.0 Marshmallow. In other words, they can travel from one device to the next, so developers should plan to make sure a shortcut works outside of the context in which it was originally created.
Backup and Restore
Shortcuts will be backed up and restored across devices. This means all information, including IDs, must be meaningful on a different device.
Is This 3D Touch On Android?
In short, sorta... It will be... But it doesn't have to be... So it won't be....
There's been a lot of speculation that Google may be planning to steer Android toward pressure-sensitive screens, and combining that with this new Launcher Shortcuts feature certainly looks a lot like a copy of Apple's 3D Touch. Given that there are already devices with this exact feature slated for release, like the Mi 5 from Xiaomi, it's not even a mystery–it's inevitable that there will be a form of 3D Touch in the Android ecosystem.
However, each OEM and 3rd-party launcher developer is responsible for supporting Launcher Shortcuts in its own way. Google has yet to set forth any rules or guidelines, so developers are free to experiment with interesting ways to get the most out of this API. For example, the developer of Nova Launcher, Kevin Barry, has already implemented partial support using a downward gesture.
Since hardware with true pressure detection is incredibly rare right now, launcher developers aren't likely to rush toward supporting it, and they certainly won't make it the only method. Alternate gestures will remain very popular, not just until the necessary hardware proliferates, but well after that. Many iOS users have complained that they don't like 3D Touch, and if it hasn't caught fire on iOS, and it's probably not going to fare any better on Android.
Simply put: yes, we'll see 3D Touch on Android. However, relatively few people will use it, so we don't need to care.
Classic shortcuts have long been considered one of the most overlooked features on Android, and it's possible Launcher Shortcuts may suffer the same fate. Unless a launcher adds a visible badge on each app with shortcuts, this isn't a very discoverable feature, especially for users that don't even know it's there. Likewise, developers may not give the API much attention unless it becomes fairly popular. Nevertheless, there is plenty of potential for Launcher Shortcuts to be a great feature for Android. Google hasn't yet released a version of its own launcher with support, but with only a month until I/O and a fresh developer preview, it's probably not too far away.