The Android N Developer Preview is out, well ahead of its final release! This means that developers and enthusiasts can have an early head-start into understanding various features and changes in what’s going to be the latest flavor of the Android operating system.
Google has already announced the availability of Android N Tools on its Developers website (here) using which developers can start testing their apps on Nexus and other devices. This release has certainly gotten the developer community talking about new and exciting features that are going to be made available on Android N.
Some of you may have read about it already but do you really understand it? If you don’t know how these features can be potentially useful for businesses, developers and end-users, you haven’t really understood them. You have merely read about them.
So let’s take you through the most important features. But first, here’s a little intro into what’s being offered before we get rollin’:
Tools for Android N
Thomas Carlyle aptly said: “Man is a tool-using animal. Without tools he is nothing, with tools he is all.” The tools provided by Google for Android N define how people are going to shape what’s going to become of the Android world! Here’s a handy list:
- Hardware and Emulator Images: “Run and test your apps on a range of devices or on an emulator.” This is nothing new to developers already working on Android Studio (or Eclipse, for people who like things of historic value). For the uninitiated, this will allow you to run your own Android app on either your device or on your computer via a software (emulator) that can mimic a great deal of a real device behavior.
- Android Studio 2.1: This is the real deal which is going to set everything apart from older versions of the IDE. Android N adds support for Java 8 Language features which requires a new compiler called Jack. And guess what! This compiler is being currently supported only in Android Studio 2.1. So well, you have to upgrade.
- Android N Preview SDK: The SDK (Software Development Kit) is obviously necessary for any kind of development activity that has to happen for Android N. Without the SDK, the developers would be out on a limb!
- Java 8 JDK and JRE: These provide the foundational platform for the system to be run on. In order to compile against Android N, Android Studio 2.1 would be required, which in turn requires Java 8. If you are wondering where and how you are going to get this, the answer lies here.
- Android N Preview on device: So, after you set everything up on your computer, it’s time to turn your attention to your mobile device. Getting the Android N Preview on device will require more effort than just downloading and installing. All the info is here.
New Features – Making sense of the Hype
Time to talk about the new shiny:
- Behavior changes
“Wait! What! That’s not a feature, is it?” Well, we do understand that you are looking for features, but take a moment to read this! Android N has implemented certain performance improvements and these may translate to changes that you may need to bring about in your app:
- Permission Changes: If you already have an app that you are thinking of porting over to Android N, then using the right set of permissions is something that you must think of. Apparently, there has been only one change – “GET_ACCOUNTS”, has been done away with. Developers not using this permission in their apps – rejoice.
- Project Svelte: Background Optimizations: We will keep the grizzly details out of this text for matters of brevity. But a condensation of the idea would result in something like this: “Removed three implicit broadcasts in order to help optimize both memory use and power consumption” – source
- Doze: As simple as it sounds, this feature literally puts the Android device to sleep (actually, much more complicated than just that), and in doing so, improves the battery life. Although this was introduced in Android 6.0, there have been improvements and surrounding these are recommendations which will need to be applied to write a good Android N app.
- Accessibility Improvements: This is where things begin to get interesting. We have features like:
- Screen Zoom
- Vision Settings including
- Magnification gesture
- Font size
- Display size
And finally, if you want to read it all, you can find the most authentic text about it here.
- Multi Window Support
Ah! Finally, we are on track now! Remember those really big devices (also known as phablets) like the Samsung Galaxy Note 2 that were released in the not so distant past. Those monster devices (maybe timid compared to the ones we have today) back then used to boast of multi window support wherein the user could run and view two applications in parallel on their device screen. This is now a standard and a documented feature in Android N.
Given the processing power of most devices today, this feature comes as not such a big surprise. However, our guess is that this is going to captivate and engage a major percentage of Android device owners as they will be able to perform multitasking with two apps running side by side! This feature is not limited only to phones and tablets running Android N, but has also been made to support Android TV devices. On phones and tablets, this feature will be manifested as a split screen mode, whereas on the Android TV devices, this will provide the picture-in-picture mode. And yes, the ability to perform drag and drop (in larger devices though). That’s what we call awesome!
Well, the important question remains:
What does this mean for businesses and professionals?
Competitive businesses like to stay on top of latest technologies – that’s a given. But besides that, they would want their apps to be resizable so that other contextual apps can be brought into view. The drag-and-drop feature could become an indispensable tool. Imagine having the email app and the calendar app running side by side. The user drags and drops a text from an email into the calendar to automatically create an event.
This feature also makes the life of music professionals that much more easier and fun – they can play music on multiple apps and share audio content between the apps in the most unique and creative ways.
What does this mean for developers?
The Android document says: “It’s straightforward to add multi-window support to your app…” (See here). But don’t get too excited about this! Complex to nearly unsolvable scenarios are known to have risen from the simplest of problems. Taking care of simple things like not forcing the app to be in a particular orientation, or not trying to programmatically set the order in which certain apps appear on the display, or even not trying to force an app to open in the multi-window mode when the option has been disabled on the device. Read on for what this feature may mean for end-users as well.
What does this mean for end-users?
To say the least, as an Android device user, I’d be super excited about this feature, although the same can’t be said for everyone else. A few possible scenarios just to give you an idea:
- Reading the news on the device and keeping a tab on the weather.
- Viewing the email inbox and getting sports update live.
- Drag and drop images/videos/files directly into emails, or messenger apps like Whatsapp!
- Notification Enhancements
Notifications are those little widgets that keep appearing at the top of your android device. Till Android Marshmallow (I am hoping you know this!), push notifications were pretty straightforward. Other than tapping those, or swiping them away, there was hardly anything that the user could do in terms of interacting with the notifications. This changes in Android N with the following features:
- Direct Reply: This feature provides a superfast way of dealing with a notification. Without actually opening the app, you could perform actions directly from the notifications shade. For instance, a quick response to a text message can be composed right from the notification when the device receives one. Or if you would like to perform actions like “Archive” or “Snooze”, the notification will provide those features right there!
- Bundled Notifications: This one is huge in terms of being able to manage notifications. Everyone with a smartphone must have faced this issue at least on one occasion, where there are hundreds of notifications in the notifications’ shade and if you tap on the clear button, all of them disappear in one go. Android N provides a great solution to this problem by automatically grouping related push notifications. Now you can choose which group of notifications you want to clear and which ones you want to interact with. Users can use a very simple and intuitive interaction with the device to progressively expand the notification groups.
- Peeking Notifications: Sometimes, an app may want to capture the user’s attention when the user is viewing or interacting with some other app. Android N provides a way for apps to do this by presenting a special notification called the heads-up notification. A small floating notification is displayed to the user when the device is active (i.e. the device is unlocked and its screen is on) along with options to perform an action.
- Custom Views: Hear me say this out loud! Android N users are simply going to fall in love with this feature… (pause!)… provided a developer makes full use of this! I can picture the most colorful and vibrant notification shade ever! Let your creativity run wild. Do something amazing to capture your user’s attention.
How will the New Notifications feature affect businesses and developers?
With this nifty new feature, we hope businesses will actually worry less about their content not reaching the users. Along with peeking notifications and custom views, user interaction scenarios will certainly increase.
Developers will find this feature particularly interesting. This will not only drive development changes to existing apps, but will also push for more growth in the UI, UX, and IX categories.
As about the end user, he will stand to experience an amazing and a vibrant notification shade. Apart from aesthetics, the enhancements to notifications will also enable users to interact with their devices in a powerful way, while keeping the view clear and organized.
- Profile-guided JIT/AOT compilation
Wait, don’t skip this section. We will try and keep it as simple as possible for you to comprehend. Android N has added a Just In Time compiler with code profiling to ART, which lets it constantly improve the performance of Android apps as they run.
Basically, this means that the app’s performance is going to improve and at the same time, the device won’t even consume too much memory. So no more hung screens, poorly performing or non-responsive devices. What this feature also provides is super-fast installs and updates. Need I say more here!
Faster installations and lower memory footprint of apps means more installations for end users, which in turn means more businesses can reach an ever more number of users, which in turn means more work for developers. (Nailed it!)
- Data Saver
A feature that saves data used on the cellular networks! Well, in case you are wondering why this one is necessary, here’s the reason: even if the app is seemingly not running, it can request for data to be fetched in a background mode. This can become a problem given the state of data hungry apps these days. If apps that make use of features like streaming content, image viewers, optimistic preaching etc are accessed via a cellular network connection, it can lead to high data costs. Data Saver prevents this from happening by throttling background data usage and signaling foreground apps to use less data. Even with this feature turned on, the user can whitelist apps to consume the full capability of the network connection.
- Quick Settings Tile API
Picture this: You want to quickly enable cellular network connection on your device. You pull down the shade on the screen and look for the relevant icon but it ain’t there. What do you do now? You take the more painful route. Go to ‘Settings’ tab and do what needs to be done.
I agree that some of your devices may have had the quick setting to easily do the above, so before you raise your hand in protest, do consider that there are other users with different devices as well.
What if you wanted a quick tile to a particular setting but realized that there’s no edit option to do that! Well well well, Android N has revamped the functionality of the Quick Settings Tile and provides the following:
- More room for additional Quick Settings tiles.
- Paginated display area (horizontal scrolling on pages containing the tiles)
- Ability to add tiles and move them
- Number blocking
Finally, a feature that has been long overdue on Android. Many of you may argue that there are freely available number blocking apps on the Play Store so what’s the big deal about this feature. To them, I have only one thing to say: “those apps do not have carrier level integration.”
Here’s what I mean – although the calls can be blocked and sometimes the texts too, they are done at the app-on-the-device level. That is to say, the call does reach the mobile device but is blocked only after the app is able to read data about the incoming call. Same goes for the texts. The result? You hear the phone ring once and then you get the busy tone! This can be confusing to the end user because it can give you the impression that the person on the other end is busy.
However, in the case of carrier app integration, the call (or text message) will be discarded by the carrier using service-side blocking. This is useful for users as they will not be bothered anymore by unwanted calls or texts.
Android Developers, hit the ground running
The list of features stated above is by no means a complete list. We have just tried to cover the most exciting ones. If you want to know it all, do read up about the additional features as well: Android TV for Recording, Work Profile Security Challenge, Always on VPN, Accessibility Enhancement, Direct Boot, Key Attestation, Network Security Config, Default Trusted Certificate Authority, APK signature scheme v2 and Scoped directory access.
Looking for a partner to build your Android App?