At Ars we have established a tradition here. Every year at Google I / O, we have a seat to talk directly with the people who make it, to learn more about Android. Of course, this year, all major events were canceled due to the corona virus pandemic, nothing normal, and Google I / O never happened.
However we can still do interviews through the internet! So when this happens year after year more than usual, we were able to have our annual chat with some of the most important googlers on Android HQ: Dave Burke, Engineering VP at Android, Ilian Malchev, Principal Engineer at Android and Project Trouble.
We’re ready with questions about the more niggorn corners of Android 11, which actually led to a lot of interesting conversation about the future. You’ll learn about the upcoming Bluetooth stack, and talk a lot about modularity and ease of updating (like plans, one day will allow you to easily update the Linux kernel and developer APIs as soon as you download an application).
The interview took place just days before the launch of Android 11, which ended on September 8th. As usual, it was lightly edited for clarity, and I will include any background needed in the italics. COVID was the obvious first issue when we all popped into a Google Meet video chat considering the weird state of everything.
Ans: How do you handle COVID-19 on Android Development Earth?
Dave Burke: Good. Like everyone else, when we switched jobs from home, it was a minor drawback, to say the least. We had a lot of developer productivity issues to fix. Many people use high power workstations to build the operating system, a phone tethered on USB, we wanted to find a way for them to still be able to use their workstations, but flash to tethered phone to laptop. So we did a bunch of infrastructure work to get everyone up and running. It worked really well. I was very impressed.
Google Meet was great. I remember thinking a few years ago, “Well, Google invests a lot in this video conferencing stuff, so why not use something commercial?” But now I am very happy Made by Google. Many of us use Meat Rooms now, so we have a lot of channels like Virtual and Slack if you want to call it that. This is so good!
I mean this is obviously tough because there are no things like conversations in the hallway. We saw somewhere like a 7 to 11 percent drop in productivity, I would say at the outset. It seemed to recover when people matched. We set the schedule back About a month Because we need to include people with that transformation. The industry needs time to adapt, but yes, it works the most. Of course, I think we are all very happy to be back at work.
Ilian Malchev: The biggest concern going to COVID is, ‘Can ISP Infrastructure handle this huge increase in media consumption?’ Most of it seems to be uplifting.
Burke: Another thing I keep working on Exposure notices with Apple, So it is very intense. We create the ability to find out if you are approximate with someone who has tested positive for COVID-19. We work fast at it, so this is an exciting extra second job.
Oh, yes, Android’s COVID exposure notifications are spreading to a smartphone near you. The APIs for this have been exported to Google Play services and have basically reached the two billion Google Play Android devices out there. Full OS updates will depend on your device manufacturer, but Play Services updates will affect all phones with the Play Store installed, so basically all Android phones outside of China.
The current problem with COVID tracking is that individual health organizations have to build applications that plug into this API, in the US, which is usually your state government. There are no really qualified app developers in the states to ask for something like this (is your local DMV website a disaster like mine?). Yet, Only six states There are currently COVID applications. It looks like Google’s next step to fix this Build applications themselvesTherefore, states only need to provide one configuration file to get up and running.
Project Mainline Updates
Project Mainline, or “Google Play System Updates” One of the biggest changes Coming to Android in no time. This feature was introduced in Android 10 and is an important step in Android modulation. Mainline has added a new “apex” file type, designed to package core system components for easy updatability through the Play Store. Previously, only the Play Store APK files were exported, and since they were built with third-party applications in mind, they came with all sorts of security and functional limitations that did not work for core system components. Apex files can only come from Google or your OEM, so they offer more power and startup earlier in the boot process. Apex Files can do things like update the application framework that you can never do with an application.
The basic code-code for Android, which was available to OEMs before customization, was also about acquiring mainstream OEMs on-board through Google’s acquisition of the code. Google had to sit in all the OEMs (I think these meetings are like this Galaxy Senate) Ask, “Do you need to customize the way the DNS resolver works?” When all the answers return “no” it becomes a mainline module and everyone agrees to send the same code. Google and OEMs work together to code upstream into a module that everyone can use when customization concerns arise.
It was Android 10. As for Android 11, the last news we got about Mainline was from Google. First Developer Preview Blog PoseSince February it has been said that there are “12 new modules” on the mainline. It does not provide more details than that.
Answer: Your blog post said that Android 11 has “12 new apex modules”, but what exactly are they?
Burke: Yes, there is a set. I have a list here: So statistics are our daemon for collecting statistics, which means you want to get unified telemetry. Wi-Fi tethering is a new module. NNPI – Neural Network API – Again, this is another area that is changing rapidly as more technologies are learned in machine learning. ADBD. Cell transmission. There are some WiFi modules. SDK extension stuff. Oops, the media provider also underscores scoped storage, so we wanted to update this.
I think there are a total of 21 modules now, and more important than the actual modules is the work that went into the infrastructure to make them possible. We have very extensive release management. We got short-term and long-term telemetry. We got AB capacity. We received a file system snapshot of the rollback. Another part is just a cultural change for developers to learn how to write in a module that is always updated. I’m more excited about the foundation we have laid than the proposed modules, because there is more to come.
Answer: Speaking of “more to come”, I wanted to ask about the “SDK extension module”, which seems to be very important. Is this as fun as I can imagine? Do you want to add new API levels through the Play Store?
Well, it’s obsolete when I explain this question: Android versions identify you and me with their version numbers, but internally Android identifies itself with a number of applications called “SDK level” or “API level”. Therefore, all new features, permissions and security restrictions in Android 11 are available for “API Level 30” applications. In the past, API levels were always +1 on every Android version (even for smaller 0.1 releases, i.e. Why we are at level 30).
The connection to an SDK module is that Google is able to send new SDK levels to developers, including new features, without having to release a full OS update. This is totally unbelievable for Android, as full OS updates have such poor distribution and small user bases that developers are reluctant to support new APIs when no one can run them. API levels on Google Play are like a play services rollout, where a new feature can effectively reach two billion devices overnight. This also seems hard to believe, because a new developer API can hit any part of the OS. How can you update it with a single module?
Burke: I think the whole idea of updatable OS modules is a very profound change, so all of this is a lot of fun. Yes, we have the ability to create new system APIs and deploy them on the mainline modules, as we call them in Android 11 – Android R. It’s not. The [Android S would be version 12], We plan to actually deliver new public APIs on the mainline modules, so we’re really expanding the breadth of a module and what can be updated.
Answer: It should be limited to a full OS update, right? How well does it work compared to OTA? It looks amazing, and it’s very tough.
Burke: Yes, I think this is still early. you’re right. The challenge with modifiable modules is that the module updates, but you can not assume that everything around it is updated. So, you have to be careful and have consistent internal APIs or borders between those interfaces.
Yes, we are still working. I think you just want to connect to another module that can update the API, otherwise it doesn’t make sense. We are developing the ability and then we will see what we can use it for.