We’ve been trying out Android Nougat (7.0) since March thanks to the Android Beta Program (see below), but with the official release last month, we can now look at what Nougat means for the end-users and for us as developers.
Below are some of the more noticeable features for the users:
Split screen mode
Let’s start with the new split screen mode which makes it possible to have 2 apps visible on the screen at the same time. This can be done by dragging an app from the overview screen (where your recent apps are) to the top of the screen to trigger multi screen mode. Alternatively, you can swipe up from the overview button (square) after enabling it from the settings.
The top half of the screen will consist of the most recent app while the bottom half shows the overview. Selecting an app from the overview will show that app in the bottom half of the screen. By default, the screen is 50/50 but the user can change this to 33/67 or 67/33 by dragging the splitter up or down. Given the high number of different Android devices on the market, we’ve already developed many apps for the different screen sizes, so supporting multi window shouldn’t require that much work.
Split screen mode is already very useful, but Google has also added a new shortcut for quickly switching between the two most recently used apps. You just have to double-press the square button and the previous app will show up.
In Nougat, the notification system itself has support for replying to notifications without having to open the app. Developers used to have to use workarounds, but now the same code used in Android Wear can be used to allow users to reply to messages from the notification system. The notification UI itself also got an update: information has been reorganised and some of the text sizes have changed. Next to these UI changes, notifications for the same app can be grouped together.
The third major change is an update of Android’s power saving possibilities called Doze. In the previous Android version, Doze became active for stationary devices that had the screen off. Nougat has removed the stationary requirement which means that less battery is consumed even when the user walks around with the device.
To help people avoid excessive phone bills caused by exceeding data plans, Android Nougat introduced the Data Saver. This new feature allows you to keep control of your data consumption. By activating Data Saver in Settings, Android Nougat will block app background connections. The system is smart enough to manage and allow more or less connections depending on your current data consumption. Moreover, Data Saver can be turned off for specified apps.
Major or minor update
As developers, we feel that Nougat is closer to Android 6.1 than to 7.0: 6.0 gave us the new permission model that meant we didn’t need to bother our users with all the permissions before they tried the app, and gave us time to gain the trust of the user. We would only ask for permission if the user wanted to try a feature that required it.
Android 7.0 on the other hand has multi window support which we see as the feature with the biggest impact so far that we should add to our apps. It will be interesting to see how much work it will take to ensure the Pixel Perfect User Interface remains after enabling the multi window support, but it won’t be the same kind of challenge as the new permission model was.
Nougat includes changes to the network security replacing the error-prone X509TrustManager class to secure the connections our apps make with the backend. In Nougat, we are given an XML configuration file with a clearly defined format from where we can:
- limit the trusted certificates to the specific group that is used, instead of the larger device group.
- easily pin certificates to further prevent MITM attacks.
- give an option to prevent insecure traffic being sent using a new flag per domain.
Other changes relevant to developers
Besides these features, Google identified the following key developer features: Background Optimizations, JIT/AOT Compilation, SurfaceView, Data Saver, Vulkan API, Quick Settings Tile API, Number Blocking, Call Screening, Locales and Languages, New Emojis, ICU4J APIs in Android, WebView, OpenGL ES 3.2 API, Android TV Recording, Android for Work, Accessibility, Direct Boot, Key Attestation, Network Security Config, Default Trusted CA, APK Signature Scheme v2, Scoped Directory Access, Keyboard Shortcuts Helper, Custom Pointer API, Sustained Performance API, VR Support, Print Service Enhancements, Virtual Files, FrameMetricsListener API
Android Beta Program
Trying the new Beta version of Android before Nougat was a difficult process, involving installing the image manually using a computer. Nougat made it easier by allowing users to just opt-in for the Beta program and receive the update via the air, making it a two tap install process. This means that more users can have access early on to the new features and hopefully give both Google and app developers more testing data.