The big news is here! As some of you might have been reading, Google had recently launched Android O’s developer preview before the product release on Google I/O, a tradition being followed by them for quite some time. Though a lot is still not known about the new update, we would list down some of the awesome features which will delight end users and developers both alike.
1. Background Limits – We saw an improvement in this section with the last iteration of Android Nougat. This feature aims to improve the battery life of smartphones. The background limits will focus on broadcasts, background services, and location updates. There are limitations placed on the services that an application can run in the background without impacting the foreground services. Apart from music players, for the other background services, there will be a limited window after an application goes in the background post which it cannot launch any background tasks whereas all the existing tasks will be stopped as and when system memory requirements increase. Same goes for broadcasts and location updates. You can learn more about background limits here.
2. Notification Channels – Another important update that will affect end user directly is the notification channel. With this update, Google has provided more flexibility to end users. A user can choose the notification channel about which he wants to get notified and block the rest of the notifications. However, if it is not implemented properly, an end user can block the main channel resulting in decreased app user base. You can learn more about notification channels here.
3. Auto-fill API – Auto fill saves a lot of user time but somehow this feature has been missing from the base Android framework and custom implementations were never good. With the new framework based API, we hope to see a lot of new applications providing this feature. Though users have been using autofill on various websites for many years now, it will still require a lot of time to be spent on learning and implementing this new API. As of now, the preview version has some bugs and it is duly reported by google on the API introduction page. Learn more about API implementation here.
4. Fonts – This is one of my favorites. After multiple iterations, we now have inline XML support for fonts. We have seen multiple ways of applying fonts and almost all of them require us to write a custom view or adding libraries to handle this. This feature would ease the process of adding new fonts. However, every new font file (.ttf or .otf) can increase the application size by around 1MB and hence, the usage of font template should still be limited and predefined while designing application.
5. PIP - Picture in Picture though already available for Android TV, it has now also ported to tablets and phones. We can place an application in picture in picture mode and provide custom interactions. This is basically an extension of the multi-window feature and frankly, we are yet to see a widespread support for the multi-window feature. While there has been a constant demand from users to play videos in the background, not many applications have achieved this.
6. Java 8 – Now, Android supports the java-8 time library. Lambdas and Stream APIs are already supported by Android and therefore now we can bid farewell to “joda time”.
7. Adaptive Icons – We can also see changes in the icons that we see in Android launcher. Now, developers can provide the application icon in two layers and the same will be animated and displayed in different shapes based on the masks provided by OEMs. It is a presentation option to improve the user experience, but designers will also need to learn the new icon guidelines provided by Google as animations are highly dependent on the size of the icon images.
There are many other lower layer API bundles and features which would not have a direct impact on the end user or developers unless you are working with OEMs. These APIs include AAudio, LDAC, WebView improvements and a few others. Considering the previous naming conventions, I can assume that this update from Android might be named Android Oreo. This is because as Oreo as a product already has a niche marketing strategy and both Google and Oreo would benefit from this. Remember, Google offered a huge sum to Nestle for Android Kit-Kat and it just survived for 8 months following the launch of Lolipop. What are your thoughts?