Vince leads product management for Android Things, a comprehensive solution to building Internet of Things (IoT) products with the power of Android. Previously, he was an engineering manager and product manager on various Chrome OS and Android teams. Prior to Google, Vince was a software engineer specializing in mobile and Web collaboration tools. Vince earned a master's degree in computer science with first-class honours from the University of Cambridge as well as a master's degree in business administratiView the profile
About the talk
Android Things is Google's platform to support the development of Internet of Things devices. This talk will provide an update on the program and the future roadmap. Learn more about the breadth of hardware reference designs, the operating system, building apps, device management, and support from chip vendors. It will also discuss use-cases where edge computing can be used, and examples of prototype-to-production that demonstrate how Android Things is ready for commercial products.
Good morning, and welcome to the second day of Google IO. Thank you. All for made it here bright and early and a big one pillow to folks on the LifeStream. This session is about Android things the version of Android. I was specifically designed for iot products and better devices. My name is Vincent Holley product management for Android things yesterday. You've heard about the incredible momentum on Android over the years with extended Android too many different types of devices be on phones and tablets wearables
TVs Auto and last year. We announced a new version of Android called Android things specifically designed for better devices and iot products. I know many of you have been tracking our regular developer previews and are already building great things. I love reading about the project. So awesome for some of you this is entirely new you just getting started. I want to know what Android things can do for you. So let me just get started with some of the obvious questions. What is Android things for? What problems does it solve? People of making connected devices for many
years what's different now is the profound revolution in machine learning models and tools are available to all developers and there's ever increasing demand for smarter device has traditionally your only option when building smart devices was Miguel delegate some of the serious processing to the cloud now run much of it on device which is used for if you need low-latency or if you're handling sensitive content and so on and this growing area is exactly where Android things is targeted is for devices that need powerful on device intelligence
devices that populate our homes and businesses accused of course, Very Broad and diverse. So in a sense the product categories are all familiar. We don't know their, you know, Zeke know these it's just a user expectations. They've gone up way up. Let me just pick on to use cases. At home when Christian expect to be able to talk to our devices and don't know who we are. I'm not a smart building devices such as cameras that can now detect how many people are in a room and do something useful with that. For example talk to the HVAC system. We know uses want these kinds of devices and we know
we could build them. But of course building these are these devices is actually very hard especially maintaining them overtime. Is actually very expensive to do this. We noticed that Google because we've been shipping these kinds of products. What what's so hard or 1st off were talking about an entire device. So physical product is a responsible for the entire software stack from the bottom all the way up to the product experience not force the product experiences where you'd ideally if you wanted to spend most of their time because that's where users are spending interacting with a load
of product experience devices are currently built using many different flavors of roll-your-own Linux or Android every device is difference. So it's hard to expect consistent and reliable apis. When you go from Project to project you want to reuse what you built. You want to get support from a large community at the same time. We're talking about Richard experiences with these devices. So obviously you need to get your app working chances. Are you need to get third-party apps and services working? Each time you need to figure out basic building blocks like a reliable set of flow
from a smartphone. For instance. You can do all yourself or just feels like extra time and effort. II need to get down to the hardware. Building 4 types with microprocessor soces have certainly gotten easier over time people use all sorts of prototyping tools to get that done. But that was some get you through to production let alone commercial launch. We're talking about PCB design and layout involving high-speed highly integrated components SOC vendor relationships for General support and bring up component supply chain access to parts of lower volume and so on. These are
all very different skill-sets. You need to hire for your team again protective Solutions get you off the ground, but that's it. Finally, it's amazing. How much devices can do on behalf on our behalf these days the flip side, of course is that they have the keys to our homes or businesses are back in systems clearly doesn't more and more to gain from attacking iot devices. Perhaps that's obvious. That's why it's hard to provide the security. Well, it turns out it's incredibly expensive to harden products out of the gate and to keep them updated overtime.
Involves a lot of back and infrastructure do this. We noticed that Google because we've been doing this for many products. Meanwhile, this immense cost pressure for men consumers, of course is hard how much was amortized cost without large volume? So those are the issues that our engineering teams in our business teams focused on when we build Android things you thinking was we could take care of all the challenges that make development expensive. We provide Android things for your charge. You have less will be worried about our goal is to reduce the barrier to
building powerful intelligent Edge devices and make it more accessible to everyone. Let's take a look deeper. About building a reliable and consistent apis Android things is Android as you'd expect you can write rely on the same Android apis and Google services as when you go phones. Familiar tool such as Android studio and the Android SDK are available. You can go. Google Play services Google Cloud platform 5/8 and clean the most recently announced MLK that you heard about yesterday and more. Of course your belly Hardware. So it's also about component
providers SOC vendors and so on as a device maker. Usually you'll be spending a lot of your time interacting directly to get you a working image. With Android things, we've already done the hard work for you. That means you have access to Hardware reference designs and means the bills support package comes from Google and you get it working image right away. You can scale to production because we signed agreements with the soc vendors to guarantee Support over the long-term. Literally our goal is if you know how to build an Android app, you can now prototype. I have two
products and take them all the way to production. You don't have to be a hardware engineer or firmware engineer to do this. Finally on security. Our strategy is to have security features built into the platform OS hardening is on by default and you don't have to spend time figuring it out yourself. What about fixes overtime? Regular security patches come regular some Google Google provides all the back-end infrastructure for you to be in control and you can decide when those go out. Now let's go 50 / how to all the pieces that I just talked about fit together developers
often asked me. How is Android things different from Android? How is it different from a Westie? I found that the best way to describe Android things is that it's a fully managed solution Beyond a OST model. At a lowest level we Define TurnKey Hardware in partnership with a silicone providers. This is in the form of a system on module architecture. I'll talk about more about that in a bit. But the way tomorrow works there are ways that we work closely with the soc stool and code in the Google tree. Who was the one hosting the PSPs? In fact, we have
a system of modules and I test Labs hooked up for continuous integration. Moving up your Android in the framework layers Android things is Android. What we've done is Wetumpka Android and We Shrunk it down to around 50% of the footprint of a Westie can run with lower compute and storage requirements security features are built in Maine and they're done for you and they're on by default. Up at the top is the app. Later. We formalize the boundary. So all of the products Pacific code lives there we make sure the Google services you want. You might want to work with
work. Well out of the box. So you're asking rely on Google Play services five late base Cloud platform assistant and more. Finally was pictured on the left side. Is the Management console everything from bottom to top because it's where you control what exactly goes into your device's it's where you get access to the PSP that Google in the soc vendors are supporting. Is why you crave full product deals with all your apps and services included? It's where your man at manage releases an update channels over time as you can see
that's why prescribe Android things as a fully managed solution. It gives you for folio of reference from it gives you an Android with security and key service is working on top. It gives you a console to configure what exactly goes into your devices. It's all of the ingredients necessary to prototype and scale to production. On behalf of the entire Android things team. I'm super excited to share that we are now generally available. Version 1. I was the first long-term support it release it came out just two days ago on
Monday fresh off the press. Many of you have helped us along the way. You seem more than a hundred thousand downloads of our Android things SDK receive feedback from more than 10,000 developers. This is all critical to get us to this point. Thank you so much. Now what does version 1. O means mean for you? Most importantly. It means Android thinks it's a stable base for you to build commercial products. In fact, we've looked at a few Partners to put Andrew things through his paces and vent whether we can power a real shipping products. Let me show you
a few. What you see here is our first shipping product and it really put a program to test. This is a smart speaker by LG and Atlanta door shelves last month. The story is how she wanted to build a smart speaker with high-end audio and go to market quickly and it felt would be a good fit. One of the first things was it determined a good Hardware reference design the system of module architecture that we talked about before it's in all the shipping products. From your point of view. I just thought it was all done. So you just pick it up. It will be officially
supported platform and you're good to go. Oh, she was also concerned about ongoing security fixes and infrastructure to send over the air updates. Bottom line is that these guys want to be working on an amazing audio not working about Staffing up a team to do security and do always bring up. This is a smart speaker. So that's not trivial audio processing for audio casting and the Google assistance. We make sure these work well and a part of the full solution as well. Is Mark Williams working on Smart speakers and they'll be coming out in retail soon?
Soon after partner shows us for a new product category cost smart displays. The idea is a visual Google Assistant integration with photos Maps video calling YouTube and so on. What you see here are devices from Lenovo, JBL and LG. All these guys wanted to move quickly and that he felt that we could help him do that. At a time. We were already working with SOC vendors on expanding our portfolio and we're locked in on a common system-on-module for all these products in other words. If you look under the hood, all of
them are using the same system on module, which is my cool. Again, when you work on your project, you can just skip all of that upfront SOC work and just pick up the support of design. The only answer we're also concerned about ongoing updates, especially because this is a new product category. They're expecting frequent updates and their development. They wanted to partition folks into different groups in AP test values experience. This is where a console was put to the test to manage all the bills released channels and frequent updates. Of course I am she is Broad and diverse.
What's the most exciting for me is seeing what everyone has been building based on our developer previews here are two examples. The photo on the right is made by a company called by flies a wearable Health startup based in Belgium. The hand is holding a sensor that measures Vital Signs and a docking station sends data back to the cloud. Fireflies, let us know that Android things help turn their docking station into a secure Hub. They don't have to worry about ongoing security fixes and how to update a device. The Potter on the left is made by company called Marie go based in Montreal.
A better network of large photo displays running Android things that are connected to public photo booths in Downtown Montreal sounds really fun. Regal wanted a solution I can help you move quickly and ask her to help him do that. If you're building a new product powered by Android things we want to work with you, too. We introduced a special limited program to partner with the Android things team for technical guidance and support if your company is interested in learning more. Please let us know at the lake. So now that I'll show you some real products.
Let's switch gears and go back to how all the pieces fit together starting from the bottom. We talked about the hardware reference designs. We talked about the system on modules. You might be wondering what do they actually look like? So are the right here is a system module song for short. This one is based on that nxpi mx70 all the high-speed and complicated to design electronics are in the song the key components such as the soc memory flash Wi-Fi Bluetooth. The baseboard is what you see on the left.
This one shown here is actually one of our development baseboards, but you can imagine designing products Pacific baseboards was just the right set of connectors and plugging the song Montauk. The song is complicated and quite costly to design if you were to do it yourself, and we've done the hard work for you. It would also be very expensive at low volume, but the songs are what everyone will be using and that helps drive up volume for everyone. The baseboards are much less expensive to produce even at lower quantities. The electronics are much lower speed and
less dense on here is also referred to as a physical song because the song is on its own board. You can also Imagine designing it in so it's all on one single board and we caught at the Virtual Song. This would allow you to save on cost at high volume or do better match XY dimensions for your product. Going back to the three smartest ways. I showed earlier they all use different tactics some use physical Psalms and some design it in virtually. For each song Google. How's the goat the board support package
BSD for shorts? In other words, you don't have to interact with a Soc vendors. There's a stable layer separation with a PSP that makes your code portable. You can imagine starting development on one song then swapping over to another at later stages of production if your design changes without having to change your code. Now part of making the song architecture viable is guaranteed support behind the scenes. We've been working really hard with a Soc vendors to work out the collaboration so you don't have to talk directly to them.
We are announcing songs that are certified for production. The list includes highway from mediatek nxp and Qualcomm. More specifically songs on his List have guaranteed long-term support and all security features built in making it possible to bring prototypes and go all the way to go. Hardware reference designs for the Psalms will be available in the coming months. So stay tuned. Sounds important for development is already available now, they include Hardware from Raspberry Pi and nxp. Development Hardware have a large
community of support and a readily available in retail even at unit quantities. Usually for cheap. So that gets everyone started right away. The beauty of the Android things model is that you can easily swap over to Sam's certified for vodka production once you're ready. So everyone has been wondering what a list of songs are certified for reduction the ones on the left. How long is this is the support? How much does it cost? Each song certified for production is supported by Google for a minimum of three years from the time. It was first made available.
What is means that you will get regular security patches and stability fixes from Google or YouTube pushed your devices? You can even set your devices to auto-update and not worry about it. In other words, you get to fully harness the power of the Android security team. Of course, you can push your own updates to devices anytime you want for the entire product lifetime. What about fees there? No charges to using Android things there no license fees for the OS or the Management console. The APR surface table meaning the length of support is provided for each major
version. This is why we refer to $1 as long-term support. We know moving to a new major version can be disruptive and it may not make sense for many a few products. So there's no need to do that. Let me show you in a bit more detail. Each line on this chart represents a major version of Android things and of course to Dollar Tree. Or in the future. As I said, every measure version will have long-term support the minimum 3 years we talked about. These major versions do map to underline Android desserts and we'll pick the right points intersect over time. The important
point is what you. All comes out one. Oh and two. Supported in parallel. The security patches is the Philly picks fixes come regularly and that's what each white. In the lines represent. Will also have minor future updates on the latest major version. This is so we continue to address Community feedback in a timely manner so we won't wait for the next major version to push these out. In fact in the coming months 1.1 will come out with improvements for you. One last note on Psalms. Obviously the work we do behind the scenes with the soc
vendors is never-ending is an ongoing process will continue to expand the song portfolio. You saw the vendors that already have something listed officially and we're deeply engage with others to like rock chip. The point is what you put a song of a certified production. It's a commitment the ones you saw support one. Oh and when we eventually at 2. O will be explicit about which Psalms support it. That we've been talking about the next layer up already since Google hosts the the boys support package for every time but what does it actually look
like? Let's go into that and live it more detail. What you see here is a simplify software stack for traditional Android mobile device going from bottom to top the colonel up to the hell layers is primarily focused on enabling Hardware support. DeAndre funny word for visor which set of apis and services for apps and the applications on top of eyes used to facing features. And I would see devices you can imagine many if it include the components not making sense or you know, embedded devices are usually single-purpose. They may not have a screen users are not
installing apps and so on. So first Android things removed most of the user-facing applications and visual framework component that don't make sense. For example, there's no reason for a text messaging app. This removes unnecessary complexity and reduce the footprint of a distribution. If you build a device with a display you have full control. There's no system UI to get in the way now with or without a display that you I took it portions of the framework remain available to apps activities are still the primary component of an Android app. The freeway delivers all in for the
rest of the foreground activity which has Focus. Next we formalize the boundary between a system and a product specific code necessary for the device on a product code is above the line in the a player everything but about below the line is provided by Google and rsmc partners this way. You don't have to figure out how to put together a twerking image. Who can sign the full image and guarantee automatic security updates over the support time time frame? You might be wondering how does boundary can work in practice? Well one crucial
piece is the Android thing support Library API surface briefly. For example, you may be wondering how to control Hardware the peripheral IO API allows apps to interface directly with low-level for afros using industry-standard protocols. Like I Square C in GPA Uses face drivers allows apps to inject Hardware events in to the Android framework. You might be wondering how to call apis that usually involve a dialogue or a view to the user is not make sense when displays are optional. So is that
a PS2 control settings control device updates and configure local area connectivity including Bluetooth and low pain? Now I have to show you the complete picture. We've already talked about the portfolio of songs. You can select from Andy's coming at the bottom. There's actually two more building blocks. The first is device configuration in a second is security Let's start with Device configuration. Is the other crucial piece along with the Android thing support library that helps maintain the formal boundary that we just talked about? Is he
sounds can support a wide variety of Hardware. So many cases the OS needs to know which Hardware is actually connected in order to properly configure those interfaces for instance, which audio devices are connected where and therefore Matt's pin boxing. We provide a configuration system. So all we ask and divine they're connected Hardware in a console which will customize the image correspondingly FL time. Let's talk a little bit about security. First off the OS hardening that with you on Android is enabled for Android things. So these are things
like permissions the application sandbox mandatory access control with selinux kenosis Confederate filtering and so on. Images of science you don't need to run any signing infrastructure yourself Google provide the infrastructure to build a full image for you. This partitions are sign for security. Verify Poots which is fully implemented for Psalms certified production. Make sure you're running a valid image at all times. Now there's lots of interesting scenarios that are handled for you and I always get a kick out of thinking about them. For example, what
about running an order image with a vulnerability that's since been fixed? Robot protection make sure this doesn't happen. Another one is product keys. So images only run where intended you can assure only your product images one on your devices. Finally, you don't need to run any update infrastructure who will takes care of building and serving all updates the same infrastructure we use for our own products. All right. Now I'm moving on to the a player where all the products Pacific code lips. What is building an
app on Android things look like. To get started we want access to the Android thing support Library. We just talked about it is built into the supported devices as a shared Library. We're showing Coast if it's from to Elsia, At the top is a snippet of the bill cradle file. You declare the Estacada fantasy there and I'll get pulled in. The bottom part is a snippet of the Android manifest file. You notice we used it uses Library packs so I can access the devices shared Library. Below that it's a find a home category to one of your activities what this does is that the
system will launch this activity automatically on boots and we launch it. Is it app terminates is the force exactly the behavior you expect for embedded devices. Now that we have to set up let's do something useful. Example here is very simple. It detects a button press what is a good demonstration of how to interface directly with peripherals using the peripheral IO API the coast about the top is the Android manifest while this is where we declare the required permissions to use peripheral IO. The code snippet below is that tivity? Then we use the
peripheral API to open a connection to a gpio pin, which is where to button is connected. We can figure out a gpio pin as an input and attach a call back and that's pretty much it good to go. Assemble a workflow is used for all of the peripheral IO interfaces so we can imagine adding a few lines and you can light up an LED. Of course. It's not just about simple stuff. There's a wide variety of peripherals. They're your Acura interact with all kinds of sensors actuators and so on this way. We've expanded our community have this
week as part of the one. Owen Osmond. The site is Android things. With google.com. It brings together all of the information in one place samples documents forum. Also as you probably guessed much of the code we showed you for about driving car with referrals isn't exactly product-specific you can get up and running quickly with pre-built drivers from our peripheral driver Library. These driver's abstract a low-level communication details associated with many common Hardware peripherals. Can browse the driver library at the community Hub and we're also
not expecting accepting Community contributions as well. So let's all make this better together. Be sure to check it out. Where where do you go from here while you have full access to the Android SDK and ndk when building apps you can use Android Studio develop your apps and kotlin you can laugh for standard developer tools and third-party libraries. many projects find Google Play services Firebase Google Cloud platform is Saturday a very useful. In fact, you can create an end-to-end demo very quickly. For instance. If you're collecting
sensor data, you can use Cloud iot Core to help you ingest data. And do something with it in the cloud if you're taking photos to Cloud Vision API for his example can help you with object detection. Of course, there's a lot more with many samples in the community site for you to check out. Let's see if it more about Google Play services because we've created an optimized lighter-weight version of a bat for Android thinks it's optional so it doesn't take up space if you don't need it. Many developers to find it very useful though. You can literally take a
check box and add it to your bill from the console. You can find a Firebase apis in there Which Wich for use in many of our samples. For example, the real-time database is very useful when you're saying if I stay there. You can also use the new ml kits to integrate Google machine learning technology into your app. They're supposed to lock morning Play services fuse location API nearby set up maps and more. The final piece to Android things as a console for managing what's running on your device has
it shown vertically cutting across everything from bottom to top because that's why you manage all the bills and release says for your entire device weight. At every stage of the product development process. Let me explain. Here's a very simplified view of the product development flow. Every product goes through the prototyping phase where you just want to get something working then a series of Hardware validation manufacturing stages and finally commercial launch. Are beginning to pick up one of those developments alarms because that's the easiest
thing to do and then later so off to one of the Psalms certified for production. After you get the hardware you might be wondering. Well, how do I assemble an image and push it to the vice? In the prototyping phase you probably just want quick access to a generic image and to get you going you might only care about one device. So you go to the console and tell me which song you've chosen and that's pretty much it. You can slash the Split Image and style apps to your device. As your product evolves you come back to the console to customize a lot more.
For instance. You may want to change the partition sizes. You may want to include Google Play services because your apps needed you may want to modify the device configurations. I feel time on the peripherals that you're connecting. You stopped caring about a lot more devices. What are smart displays and a smart speaker devices that we showed earlier the old yams use the console to split devices into groups. So developers QA early beta testers. They're on different groups. They all have different builds and all different update channels. All of this is configured from the console.
When you go to production you obviously need to assemble the sorry for your side. When you go to production obviously need to assemble the entire factory image that includes your apps and services. You want to update your app over the lifetime of a device. It supposed to have control over roll out for example roll back if something goes wrong. Graduate percentage of all that so that you can go slow and check that things are going well access to metrics so you can see that things are going in the right direction. All of this is why the console exist? The underline back in
infrastructure is the same as what Google uses for own products. So just finished explaining how enjoy things is a fully managed solution. We have a lot more to show you at I O come and see us at a Sandbox film is the giant bright orange one is hard to miss the entire day is filled with Android things demos. You can see how real commercial products evolve from prototype to production the smartest plays I can see them all there. We talked about devices getting increasingly smarter. We have demo showing machine-learning
ingesting real-time video so I can recognize emotions faces handwriting and so on. By the way, you notice Android things powering Panic devices outside of the Dome as well. The pound of survey boxes all around io4 is the feedback does a 5-foot tall robot roaming around somewhere. It's hard to miss that one Android things in there. If you like the code come to Arco labs and get Hands-On with one showing how to work with tensorflow. Thought I was he how we make a survey box and more. There's eight more sessions coming up today and tomorrow
that go deeper into specific topics for examples of the session at 11:30 today talks about how we build the smart display product the journey all the way from the type to production. The last session we have tomorrow talks about the console in detail and how to manage your devices at different stage of the development process. Finally, let's all have some fun. And Ayo, join our scavenger hunt at the lake g. Co Ohio search? You might have seen this already. It's very cruel machine learning and has flowers that you owe that you notice solve the puzzles and you
get a free Hardware developer kits. With that, let's all go build some Hardware if you know how to build an Android app you now have a new superpower. You can prototype iot products and bring them all the all the way to production with Android things. You don't have to be a hardware engineer or firmware engineer to do this. Pick up a cat's from the scavenger hunt that had onto Android things. With google.com to get started. This concludes our talk. My name is Vince. Thank you and good luck.
Buy this talk
Access to all the recordings of the event
Buy this video
With ConferenceCast.tv, you get access to our library of the world's best conference talks.