 So we're here at the Embedded World 2018 and so is this the cool conference for you? It is a very cool conference for sure. I mean there's the conference aspect and there's also the show which is pretty tremendous. So it's been a yearly pilgrimage for me. It's pretty big and it's all the embedded worlds right here. Yes, all the embedded players are here. All the key, you know, SOC vendors, parts vendors, you name it, everybody's around. It's been a long day and there's one more tomorrow and tomorrow you're doing a workshop, right? Yes, that's right. So I mean the past two days I've been enjoying just walking around, meeting with people, catching up with whatever is the latest and tomorrow I'm doing a full-day workshop on Embedded Android. So a few years ago we did the video where you said Android is going to be for embedded. Yes. And it's going to be what Linux is for computers or something. I don't know if you heard that. But how about these Android things? What's the latest with that? So, okay. So the evolution of Android into the embedded space has been ongoing for a number of years. And initially, you know, I think that the perspective from Google was somewhere towards, you know, we like people using it in embedded systems but we're not doing anything special for it. And then they came out with Brillo, which was kind of like their initial kind of pitch to that space. And now with the Android things they're really kind of jumping essentially in front of that train and creating a version that works for the Internet of Things. And so Internet of Things is kind of like also a nice name for Embedded. And so, yeah, they're really kind of seem to be engaged in that direction. And they're working with the TechnX here to get out all these boards, developers, getting the song. Yeah. Right now, it's not open source yet. It's not launch kind of yet, right? It's like in the beta or something. Yeah, they've been providing a developer preview editions for a number of years now, I think. Yeah, ever since they took Brillo off the table and brought Android Things into the picture. So, initially, they had a number of dev boards and I think the kind of message or perspective has evolved to include songs as being kind of a preferred way of doing things. Because, you know, since they provide enablement for some of those songs, it's just a matter of developers taking that song and then creating a breakout board. So it's easier for developers to develop a breakout board, which doesn't have to have all the high-speed signals than to actually develop the actual chip and connection with RAM and all the other parts that have to go closely with it. So by using a song, you get that quote for free. Is the idea of the eventual vision, is the vision that you had originally with the Android for the embedded, is it going to be an app store for the embedded or is it to optimize the time to market for the embedded world or is it to optimize new ideas of more advanced things that people can't be doing before? It's an interesting question. I think there's... Embedded is so large, includes so many different things that it's hard to say exactly what possibly Google has in mind with IoT. I think when we speak of IoT, there's always the assumption that there's some kind of cloud element which, you know, kind of gathers data or processes data or whatever. And that work that they do for enablement for IoT will certainly serve other markets as well. But regardless of what Google decides to do directly with the embedded space, there is the fact that the sources are available today and people can take it and customize it to their embedded needs regardless of what specific initiative that Google is doing in that direction. And so Android is in a billion, multiple billions of phones and there's been some challenges in some of the, let's say... All of them, let's say. There's been some challenges in keeping the Android updated and now they got this cool new idea of they want to do treble. So that's a big deal, right? I think so. I think project treble is a major change to the architecture of Android. It's not something that users will see directly. I mean, there's nothing on your device cell to say, hey, you're using treble. But I believe that on the long term it'll show a lot of benefits for the users themselves because it essentially provides a path for upgrades to future versions whereas in the past devices, consumer devices were mostly single or maybe two, three versions max. And with treble, you know, we could actually see that extended to four or five versions of Android being upgraded on the same device. And I guess the guys, for example, the guys at Lenaro are pretty involved in trying to help this getting kernel all the way back support updating the kernel, perhaps, because some of the Android phones never get new kernels and stuff. Correct. So, I mean, Lenaro's been doing a very good job at actually doing a lot of enablement for, if nothing else, just the hardware itself. But I believe that they've been working closely with Google for some time now to make sure that, you know, the proper support that's required for this is provided. And there was an announcement actually at Lenaro Connect, I believe last fall, about one of the LTS versions, which I think is 4.4 now being supported for about six years. Not just two, and that's amazing. Because, you know, that means that any vendor that creates a version on that will potentially benefit from updates for that kernel for a very long time. So, treble, is this kind of like magic? How does it work? Because is the idea that it's going to make software updates easier? Yeah. So, let me try to find a good analogy here for treble. So, essentially, Android is like building a house, right? And any house has foundations. And that's, let's say this foundation is hardware enablement. And in the past versions of Android, the way it worked is Google specified the house architecture. And then they said, okay, we need, you know, pillars here, pillars here, whatever it is. And then, you know, the manufacturers came with the foundation and the house would bolt on top of that. The trouble was, you know, when they came to a new version of Android, they might have changed the room or two, they might have reconfigured the bathroom or whatever, the plumbing was different. And then, you know, you'd have to redo the foundations if you wanted to actually have this new version of the house. With treble, what they're doing is essentially saying, okay, we are specifying now what the foundation has to look like. And we're putting a version number on top of this. So plumbing has to be, I don't know, version two. And electricity is going to be version three and whatever it is. And the new versions of the house will essentially be able to support those older versions of those basic components. So it'll say, okay, well, my version, say, this was eight and even one is nine. They'll say, okay, well, now nine can now support plumbing version two, even though there's a version three of plumbing that's been implemented. And say electricity was version three. And so nine will support three, even though there's a version four in, in version nine. And insofar as they do that, you know, when they publish the specification for the foundation and say, these are the parts and these are the versions for everyone. Insofar as they continue supporting those in future versions, it's possible to then take a new house and put it on an old foundation and it will start work. Right. And that's the magic of treble. That's really kind of like in a, in a nutshell, what treble gives us. Does it also make it easier to update the foundation? It does to an extent. I mean, obviously, so one thing I think that will happen is they've done a pretty good effort at spelling out what these foundations should look like. And I believe that over time, there may be some adjustments that may be required as they discover what works and what doesn't work. But certainly it's going to be, you know, moving, you know, a few versions in the future. It will give Google the, you know, the benefit of providing users with the latest version instead of them having to run, you know, year old versions. Because I think the basis for this, I mean, so why are they doing this? Because it's a major work. It's a major rework. And the reason for this is if you look at the statistics. So right now we're in February and the eight dot X version was released last August. And yet you'll find that the majority of devices, you know, 70% or around 70% are still not even running, they're not even running seven X. They're running the version before seven X or something older. Whereas if you compare that to say Apple devices, well, the iOS update, update came in September. And then the majority of devices are actually running that update. And that's, that's a problem, right? That's a problem where Google puts a lot of effort into making a new version of Android and users aren't actually benefiting from it yet. So the point of trouble is to actually allow Google to be able to seamlessly upgrade the users to these new versions as they come out without having to wait for the vendors to do all of the work. But is it correct that Android since the beginning has been designed completely kind of differently to iOS that actually it might not matter that much if you're not having the latest version? You still get access to all the most of the apps? That's correct. I mean, the API design is made to actually allow the applications to work on several versions. I don't think that's the issue. I think the issue is the operating system itself gets enhancements from Google and those don't actually make it back to the users necessarily, right? And so the relatively, in a short relative period of time, users end up using an old version of Android that never gets an update. So the challenge that Google has, which at least I don't think Apple has, which Apple designs and manufactures its own hardware. So they control the entire ecosystem of devices. Google partners with a lot of companies to make their own devices. So then you have a much wider range of devices in the market and that's harder to solve. Is it also maybe possible that those foundations that came out are enabling more advanced hardware updates in the way that Apple didn't really update for several years? For example, the NFC came five years after Android had it, for example. Like QuadCores, they took five years later. All kinds of other, somehow Apple keeps their updates for later. It's just UI. Maybe it's not much more. I can't say that I track their products as close as Google. So I can't really say what they do and don't do and whether it's good or not. All I know is from the published numbers, their devices back for a number of years, delta years, they keep updating those devices to the newer versions of Android. And that's something that, you know, in terms of the Android ecosystem hasn't followed. And so trouble is a way to try to solve that issue. So is this going to help Android in the embedded world, the trouble stuff? Sure. Yes, I think so. Is it important to have updates? Not just that. So it's not just the updates. One other challenge as well with Android in the embedded space is embedded manufacturers depend on the BSP coming out from the SOC vendors. And that has historically been a challenge depending on what SOC you're using. And so with Treble, there's a window of possibility where a SOC vendor may create a BSP for Android and then that version of the BSP may support future versions of the platform. So in other words, you know, you may create a BSP for 8.x and that might still be usable with 9, version 9 of the framework or version 10 of the framework, right? So that gives more time, more lifetime into the BSP that's generated. Whereas historically, you know, Google comes out with a new version of Android every year and therefore the SOC vendors had to keep that pace and release a new BSP version for every one of those. So Android has been one of the most popular Linux distributions ever, right? I think it is the most widely used Linux distribution. Do you think Google has done a good job at not just the numbers but improving Android and Linux? Improving it for sure. I mean, so, you know, the challenge of having to run on so many hundreds of millions if not billions of devices brings a perspective that is unique, right? And so they've historically been able to bring feedback into this community saying, look, these are the challenges that we're facing. They're unique to our situation. And I think the, you know, especially in recent years, the Linux community has been very receptive to the experience that Google has gathered essentially by trying to answer all of these things. All right, so the workshop that you're doing, who's going to come to that? It ranges a lot. I mean, so interestingly, so usually, you know, technology is, I think as Paul Graham said, follows a ballistic trajectory where things kind of go up and eventually go down. But in this case, I mean, I have more people in the workshop tomorrow than I've ever had at Embedded World, so this is pretty cool. It goes on the whole day. It's a whole day. So essentially, I walk through, you know, most of the basics of the architecture so people understand, you know, if they've never seen Android before or the internals of it, they can essentially tend that and understand, okay, how does it work? And what are the major parts? And then, okay, how does these subsystems work and how do they relate to each other? What are the key things that people have to be aware of when they're looking at the internals of Android? And so the background of people is very varied. You know, given that Android can use a tremendous amount of different devices, people tend to come from all sorts of backgrounds to attend. I'm pretty happy to have Android apps on my Chromebook. Yeah. But there's one thing in Chromium that they haven't open sourced the whole Android support. Is there any chance you might have any idea why? I don't know. I'm not having a follow-up. Is there some secrets in how they do Android and they don't like to share it or it just takes them time to get stuff done? I can't speak for Google's plans or anything of that kind, but historically, what I've observed is that they tend to keep things proprietary until they feel that they've reached a certain kind of level of maturity and then they start making those things available. So, you know, that might be the same story with, say, Android Things, Android Wear, whatever, you know, a whole bunch of different things that they work on. So I can't speak of exactly the case that you just mentioned, but I think that's the pattern that I've seen. All right. So looking forward to cool day tomorrow? Absolutely. Yeah, absolutely. And you have some other projects going on, right? Yes, I do. I mean, I recently wrote a blog on a visit I did to Shenzhen. And so, yeah, I mean, the first visit I did there was with you, actually. And that was a great trip. So I kind of decided that I want to kind of repeat that. And so I've been investing some time in looking into hardware projects and stuff like that. So this was kind of like, this is something new that's on my radar. There's nothing cooler than hardware projects. Is there? Well, hardware. Can software by itself be as cool as hardware? Can software be as cool as hardware? That's an interesting question. Software can be very, very cool for sure. But I think hardware at this juncture is an interesting thing because for the longest of time, building your own thing, whatever it was, was pretty much out of reach of almost anybody. And there's kind of like an alignment of the stars right now where it's easy to develop your own mechanicals, relatively easy to develop your own PCBs and stuff. And it's actually kind of just kind of come out with a pilot of whatever it is that you think in a relatively short amount of time and also under a very relatively tight budget, so to speak. And it could be running Android. It could be running Android. It could be running Linux. It could be running anything in the world. What I think is cool about Android, but it's also a little bit mystical somehow, is that it's been there for about a decade. But the apps like Airbnb and Uber are so revolutionary. And there are a few others maybe. Yeah. But they're like, it doesn't come automatically, but it just suddenly might come like a killer app that changes the world. Sure. I mean, but I think you have to see the mobile device as one of the gateways that people now have to interact with a set of rich services. So essentially, if you've got a cloud service, then the mobile device becomes an enablement for it. And voice activation now is also another one. And with IoT in general, there will be more and more ways to essentially kind of interface with some rich services which are hosted in the cloud.