

Opinion
Day three at Google I/O - counting cucumbers!
Published on 19 May, 2017 by Jemma
On the last day at Google I/O I attended a mix and match of talks, so in this blog post there is no overall theme, but instead useful nuggets of information.
Today there was a more in-depth discussion about using TensorFlow on Android or Raspberry PI, which went into quite a lot of detail. The talk was backed by a story of a farmer in Japan who was fed up of sorting cucumbers manually, so he built a machine to do this automatically using a Raspberry PI and machine learning. It just shows what can be achieved relatively easily with these new tools.
There was also discussion about how Google will be introducing a new abstraction layer for neural networks in Android, which will in turn lead to hardware acceleration of machine learning within the Android ecosystem. The abstraction layer will take care of ensuring any hardware is used optimally, allowing developers to focus on their machine learning applications.
Google also provided some demonstration of the pre-canned REST APIs for some common machine learning operations such as Vision, Speech to Text and Natural Language Processing. All of these are available for anyone to try out in the browser, just go to https://cloud.google.com/products/machine-learning (https://cloud.google.com/products/machine-learning) and then go to your chosen API.
Flutter – another cross platform mobile framework
Last year Google quietly introduced Flutter.io as a mobile framework to directly target iOS and Android. They have taken a completely new approach to others and the demonstrations shown were impressive.
Rather than wrapping code on top of native widgets, they have built all widgets entirely from scratch to offer an experience indistinguishable from a native app. All code is written in Dart and there is full IDE support.
During the talk, they built a chat app, and when coupled with Firebase development times could be significantly reduced. Although the project is still Alpha, it is starting to be used to build internal apps at Google and is certainly something we will keep an eye on.

Progressive web apps (again)
Progressive web apps came up again on day three, and it is clear that to engage users companies need to start adopting this as those that have are seeing much better engagement and use.
The discussions focussed around popular web frameworks and how these can be used with progressive web apps. To this end, they built a website to demonstrate the same PWA based on different frameworks along with information on the merits (using actual measurements from Lighthouse). If you are not familiar with Lighthouse it is an open source tool for testing the performance of websites and identifying changes that could be made to a site to improve performance.
Google is pushing a new coding pattern, termed PRPL, as a technique for improving the time to both first paint (bits of the website appear) and first interactive (when people can use a site). It’s fairly complex but frameworks are taking the burden from developers having to do this themselves.
In terms of frameworks, the major players at this stage are React, Preact, Vue.js and of course Google’s own Polymer. All of these now have tools to automatically build the shell of a progressive web app, leaving developers time to build the perfect site on mobile.

Indoor location
Google spent a lot of time discussing the advances and new APIs available for location and activity detection. It’s no surprise that Google is using machine learning in all of these areas to improve detection of activities and accuracy of GPS (by combining GPS with other sensors on the phone).
In terms of activity tracking, Google claim to be able to detect 35 different gym exercises. The approach they have taken also allows in time all of this complex detection to be moved into their Android Sensor Hub (similar to Apple’s motion coprocessor) which means that it will not drain your battery.
As they develop and improve their tracking further they predict that next year they will release support which will allow accurate indoor tracking in 3 dimensions, supporting further applications for users.

So that’s it – the end of my time here at Google I/O 2017! The event certainly has been the immense experience it was billed to be. If you would like to talk about anything you have read in my summary blog posts and discuss how they can help with your next project, please do get in touch.

