Novoda recently attended Google I/O in force with five of our engineers making the trip to Mountain View in sunny California. With over 150 sessions, and a lot of announcements of new tech, what were our key takeaways?
There was a lot happening at Google I/O: three jam-packed days of sessions, five sessions in each time slot and nine hours in the day - there was a lot to pack in. If you missed it and would like to get an insight into some of the key learnings and our recommendations, then read on.
Android Things is here to stay
This shows Google is really behind Android Things and wants to help it succeed. The session is awesome in linking to relevant technologies about creating your own electronic circuit boards and getting a handle on what is involved in creating Internet of Things hardware.
Check out the Google I/O session here: Bringing Device Production to Everyone With Android Things.
Big focus on testing
Every year at Google I/O, the focus on testing is increasing. This year it was no different.
Newly announced Architecture Components libraries enable decoupling components from the activity. This is achieved by making components lifecycle-aware. That means components can be unit tested in isolation much more easily.
There were also updates on Espresso. With Android Test Orchestrator, every Android UI test is now run in isolation. This has 2 main benefits:
- No shared memory and state between tests
- A crash in one test does not crash the whole test suite
Check out the Google I/O sessions here:
Architecture Components - Introduction
Data available at a glance with Android Wear
Complications support was introduced with Android Wear 2.0. It's a way to conveniently display data directly on the user's watchface, and now Google has released new components and tools to test this.
Thanks to the Complications API, every app can now present its own data in a glanceable way on the user's favourite watch face, matching the face design. Google has announced some new components that make it even easier to draw any kind of complication data, and to test that the supported data is displayed correctly on the watch face.
A lot of awesome effort has been put into creating UI components that developers can use to provide the best user experience for the peculiar form factor of a smartwatch.
Check out the session here Android Wear UI Development Best Practice
Firebase Cloud Functions opens the gate to Machine Learning in your app
Firebase Cloud Functions let you easily run your own code on Google's server in response to events in your app. And because the code is running on Google's Cloud you are automatically granted access to all the cool Machine Learning APIs, like translation, sentiment analysis, speech recognition, and computer vision just to name a few.
Running your own code on Google's cloud makes it really easy to start using machine learning, all the necessary dependencies and heavy calculations run on the server. This also offers you a centralised secure place to store all your logic and secrets, without the burden of running and maintaining your own server.
For more info, check the session Supercharging Firebase Apps with Machine Learning and Cloud Functions where they demonstrate the use of machine learning APIs through Firebase Cloud Functions to build a multiplayer image-recognition game.
You get fonts, you get fonts... everybody gets fonts! 🎁
I am super happy that we got fonts support in the support library, and that it's even better than the native implementation because it comes with downloadable fonts from Google Fonts. Yes, this means you don't have to download and embed fonts manually in your APKs anymore. You don't need to use additional libraries such as Calligraphy. Super easy to use, mobile-optimised, secure fonts, for free? We think that's awesome.
Oh, and have I mentioned, the support library is now on a Maven repo. No more fumbling around with the SDK manager on your CI 🎉
Get the full picture watching the What's New in Android Support Library on YouTube.
All images thanks to our own Daniele Bonaldo and Sebastiano Poggi ↩︎