When you work for an organisation that builds products solely for the Android ecosystem, every year you wait with bated breath for key announcements to come out of Google I/O.
This year there was a lot going on, especially when it comes to building, launching and managing apps. A key theme across the announcements — and in particular when you look at Android O and Go operating systems — is performance. Google is looking to clean up its backyard and weed out applications that are underperforming and impact the UI and UX. For the ecosystem this is a great thing, but as an app developer, it poses both opportunities and challenges.
Firstly a quick nod to language support; Kotlin is now considered a first class language along with Java and C++. Here at Unlockd, we starting using Kotlin around six months ago and although some of the capabilities like test frameworks and static code analysis tools are still a little raw, we love the simplicity and speed-to-market that it provides us. When you look at Android Studio 3.0, the support and tooling should help elevate Kotlin as a preferred dev language of choice which will help accelerate the overall development ecosystem.
When on the topic of support frameworks, there were a number of feature announcements that ensured app developers to ship high quality code. Google seems to be taking a leaf out of Apple’s book and ensuring apps in the Google ecosystem are of a higher quality standard — there’s now no more excuses for chicken scratch code.
The Play dashboard will help identify if there is anything unexpected in production with main culprits including poor memory performance, battery drain of slow interfaces. This is something Android devs will need to be mindful of as Google seems to be clamping down pretty hard on poorly performing applications; Vital will set performance limits including dynamic cache quotas, Google Play Protect will ensure the app isn’t doing anything the user hasn’t explicitly approved. Additionally, it looks like Google is really focusing on battery life and identifying and then stopping any applications that are using too much battery power,something all of us who have long running apps will need to spend some time think about.
For background apps that want to use location information, Android O(reo?) will cache this data instead of activating the GPS on demand, only when the application comes to the foreground will the GPS be reactivated and the location updated. We’re investigating this aspect very closely at Unlockd.
Firebase continues to increase its cool factor. Crashlytics is now being baked in and with performance monitoring and improved analytics, developers no longer have excuses to ship and forget. We started using Crashlytics and Answers a couple of months ago and we love the visibility it gives us to find problems and fix them quickly.
Finally some capabilities devs should start to think about for their product roadmap include the new notification service dots along which also includes contextual menu options. Notification channel will also allow devs to customise how notifications will appear to best inform but not to the point of irritation for users.
TensorFlow Lite will allow in-app machine learning and it will be super interesting to see what the developer community can do with this. Plus, a big shift for me was in the use of AI. Google seems to be moving towards an interaction pattern where AI is going to be the primary interaction interface for users and your application will end up being the engine that drives this.
So in the end what does this all mean for Android developers?
Basically Google has put you on notice. Make sure your app doesn’t impact the overall device experience, be careful of how you utilise device resources and be considerate of the impact you may have on other applications. There is a bit of work to do before Android O goes mainstream but that’s our responsibility as Android developers.
Another Google I/O done and dusted! And now it’s the fun part: betting what delicious dessert ‘O’ will represent. The bet’s on ‘Oreo’.
Craig Rees is chief product and technology officer at Unlockd, and contributed this guest article to Ausdroid to give us the developer’s perspective on Google I/O first hand.