Romain is an engineer at Google. He worked on the Android Framework team, leading the UI toolkit and UI renderer, and now works on new Kotlin and graphics related projects.View the profile
Chet leads the Android Toolkit team at Google, which works on UI, APIs, graphics, text, and animations to help Android developers create rich applications.View the profile
Dianne manages the Android Framework team, which is responsible for many of the core system services in Android: resources, packages, permissions, activities, windows, displays, users, accessibility, etc. She has worked on Android since joining Google in 2006.View the profile
Aurash is the Director of Engineering responsible for the Play Store and Android Instant Apps. Recently, he was responsible for launching Google Play Instant, bringing games to Android devices, instantly. Prior to Google, Aurash was a software engineer at Microsoft. He earned a bachelor's degree in Computer Science from UC Santa Cruz.View the profile
Tor Norbye is the tech lead for Android Studio, as well as the tooling efforts around Kotlin, and static analysis. Prior to joining Google in 2010 he worked for 14 years at Sun Microsystems, also on developer tools. He holds a master's degree in computer science from Stanford University.View the profile
About the talk
This is your chance to chat directly with the Android team and get your questions answered. Engineers and leaders from across Android teams will be onstage, eager to hear your innermost quandaries.
Hello and welcome to the Android fireside chats. We have a lot of content today. We're going to get through that first and see if we can get to the questions next if we could get to the next slide. If we're ready for some questions, so we do actually have one question to start it off if we could go to that one as well. So someone asked online and the Twitter thread why is it called a fireside chat if there is no fire. I thought this was a pretty good question. So the answer to that would be
Alright, so warm yourselves by the fire. We're going to ask some questions you're going to ask him questions. We're going to try to answer those questions. So we pre-rolled some questions online. It was interesting to see what people were thinking online. So we have some of those willing to leave those questions with questions from the audience. I will show you how that works in a second first. Let's introduce the panel and chat host Android toolkit team Vapor. Can I get blamed for those things? Steph casperson, I work on the developer experience.
We have also a bunch of other people from the engineering team to my stage right here. I'm so if one of these people can't answer it then maybe one of the people in the audience can't answer it either. So let me show you how this is going to work with a couple of questions to kick it off and then we'll kick it out to the audience from there. So first of all, what's an exciting feature that you're working on for the next release romance, you want to take that one? No, I don't want to keep in mind. We do not answer questions about future developments kind of a policy thing that we have.
I would say 90% of the questions that I got in the Twitter thread when I asked what about future development. So that makes it easy. We don't have to answer those. I'll toss it is to remind again will Android architecture components be a de-facto architecture Choice with continuous Google support that's like continuous builds except for support. They don't answer. Yes. We listened you were asking us to have an opinion the cure for many years. We did not have one you could do whatever you
want it you can still do whatever you want. But you have a solution. That's our solution. We're going to support if you have to lean with more libraries around each of the communication tons of talks. So if you like it or you don't even know what the architecture you want to do is go with that one. There you go. That's an example. In fact, it was a real question and kind of a real answer as well. I would invite everybody in the audience to ask a question. There are two microphones down here. We were curious how long it would take people to get to the microphone. So it's going to be
kind of a Hunger Games kind of thing going on. So, please come up to the mics and ask your question if people in the audience don't ask questions. I have some here so we can certainly do that. I see someone walking up right there when we start with that one. Go ahead. The mic is too tall for me. So the following up to the question about architecture components. I remember Diane posting online saying that like you no luck. We gave you activity. We gave you a content provider. We give you all these things. That's the agnostic platform. You can do whatever you want with it. Like we're
not going to impose any choices on you. I'm I'm sure there are other people on the Android team who agreed with her. I wonder what would Diana those of those other people might think about architecture components is this like a perversion of of what like their version of Android or is this like call Ron? Or is this something that like? Okay. Well, I understand why some people might need it. But if you want to do things weirdly you can you know, you can do that. Like what's what's the weather in debate about architecture components? So the answer's has that basically all still holds true
as far as the core platform is concerned so you can think of like and when I say I'm as a favorite team is really the core platform. This is the stuff that's that's your shift on the device. That's that is like defines what you can do with the device and we want to keep that still generic. You'll not enforcing any particular model on applications where it doesn't make sense because we want to have a lot of flexibility for applications to to do new things in Erie on things when I can accept the architecture components are basically a layer on top that you know, it's very different because
it's in the support life so I can connect to evolve very rapidly with the applications. It can change and Brake because it's not going to break applications when when those changes happen. So we're basically putting a new layer on top of the platform that gives are very strong position on how we think applications to should be developed which will probably actually evolved very much overtime as the world changes. There's a new and better way of architecture in sings. We are the MVC Dan MVP didn't even have no idea what it is. I think you're just making that up
at this point will have evolved to something else or how many people have read that post of Diane. See I told you I remember you posted it and then it got like a hundred and twenty-five comments. I remember I walked back to Diane's office and I said Diane do we need to have an opinion and she said I think we might need to I really hope that somehow figure out how to evolve. Whatever here codex. Is there anything beyond the HDR vp9? That's new and Peters you can talk about. Something some of the things you're humping closer to the mic maybe a 308 the acoustic
support. You could ask sinti I remember. No, we added a bunch of Bluetooth codecs like a C&L. Daxko Beyond SBC. I don't think we added any codex Imperium looking down phone to friend. This is when I called the other team. Hey, first of all, I just wanted to thank you all for all your hard work and everyone actually so it's been a great and I think you've made a lot of progress in just listening to the community. So awesome. My question is going to be about testing. I know it's going
to be at the Android two days ago actually had two slides on testing one was something about Lou and distortions the other had a picture of a drink with a straw in it. It was about the ability to mock final static things in the Android framework and then remain made an awesome, He's like a cat looks confused. You know, and actually I was also confused. I don't know why you would want to know too kind of. You don't normally get that ability. But the Highlight is there one of the important things in testing because later in the
testing talk and you know, and we actually talked about the fact that this kind of undesirable. We don't want to have people do that. So could we get some comments on like what is our official stance on being actually using that very powerful and dangerous approach to testing? What's your opinion? So official stance is probably a little strong but I would say there are probably more. There are more better approaches to testing such as the other stuff that I talked about the other stuff that's in Jetpack. Now
espresso testing Frameworks that actually do things correctly. However, you heard from the audience's response to the ability to mock the framework that sometimes developers need for whatever purpose the ability to do that and the framework is really about providing the capabilities that you need for your particular situation. So by providing the ability to mock the framework specific methods more easily for saying here is a facility if it's important to you and necessary for what you're doing. It may not be the right General approach overall. But if it's a piece that
people feel they need there's a bit of Plumbing for you. I don't know if anybody else had a different take on this. That's helped. I guess I can add a little bit. There's there's some there's like philosophically like not having finals and snacks and stuff is fine. You know, the issue is within the popcorn. We have those, you know in the apis and for good reason anywhere you need to be able to do that since so like we had actually discussing about like game he's into my keto and there was like no no, no this is wrong. But you know, you liked it makes sense. This is
like you coming we need to do so, that's that's why they were the framework developers of freeware kti's. Okay, like you having a like a context that your window manager from and you want to knock out the window manager object to see if you the correct calls happened on it. But what's your current thinking around Android tablets? They like them. Do you still feel like a device type of in the base platform or are you like wonder if he can get caught with
your phone system UI so it's like whatever. Superman flat flippers back though we support tablets your team. They've been focused on for the crossover form-factor. So tablets crossing over with laptop. So that takes a look for example of a hard keyboard is a really nice operating system. And so what they did is they brought from as you know, what Android apps running within Chrome OS the same apps that run on a Chromebook with Android as on a tablet and so insofar as it's helping Android ecosystem have better large screen landscape size. And in this case, it's all helping to
but You look like you're not done with that question. like they don't put it first. So it's like what's the story from the developer's side? Looks like detachable Chromebook for the developer know I just got to be personally, but do whatever they want from from our perspective operating system provider. It's important that Android supports tablets and has another we focus on That's why I went to one of those sessions which was the best practices for a kind of the current state of Android. You guys went over the current way
that you can train layouts and databases, but I was wondering if I go over what kind of you think we should be doing for networking. I know a few years ago. You guys are pushing Vale really hard, but now I feel like there's volley in retrofit in 15 other libraries and I know what kind of depends on what it is. But if you were going to say for someone starting off, what would you recommend for the networking manager for us to use an Android app recommend for what?
Someone someone in the peanut gallery says retrofit you want to have a vote on that. Yes. Okay thing for something at the time. I think that there are probably other more evolved libraries out there. That might be the right solution and I think I'll library is two non-overlapping thing. So I don't think there is an exact match but they said retrofit. I certainly hear a lot of good things about that coincidental with architecture components, but it's it's not necessarily the same thing is that when there's a good Library out there that we didn't happen to build. We're happy to recommend it
echoes were retrofitted goes for things like the caso4 image voting Glide as well. Whatever the thing is, like if that's a good Library. Why should we reinvent that thing in this case? Maybe not retrofit. We've been walking around and several people I have talked with have asked if we can recommend more libraries specifically outside of Who-ville the ones created by the community which that we think we're fast. And so I think that's been great question and great advice. It's always been Our intention with jetpack to have an opinion about
the best way to do development because several of you said that saves time you don't have to look at a bunch of things or 6 as always tells me so I think it's a great feedback. This is so a lot of the examples we've seen for code during IO not not close enough. A lot of the examples. We've seen for code during Olive in kotlin code and I guess so question that I kind of have is what's the long-term things that developers can expect they have a large code base that still in Java. Make sure that
question was what should developers expect if they have a code base in Java programming language. So when we when we invested in Holland, we knew that was going to be an investment for the long-term. I so we're completely committed to the language. We also knew and we invested in kotlin day was May 17th that it meant that we were doubling down on all of our languages and a lot of you have also said that we needed to do more to support the existing languages we had so the way we saw it was we're not choosing a new language. We are investing in Oliver language is it
in fact, you can see that in C plus plus we have launched and DK build C make with significantly improve the nek we launched the new C plus plus profile. Are we here at the tool chain in the Java programming language to be out of a job at 8. Time is my personal favorites and you should expect to see us continue to invest in our languages. It's really important with such a large ecosystem to support the ecosystem where it is at the same time. We've seen a tremendous interest in kotlin. I think we talked about some of the statistics and so I'd like 28 of the top 100 apps
35% of pro developers. It's had a 6X growth and one year. So if you haven't looked at the language, would you think it's a good idea to take a look but I hopefully that helps answer that question so long to another language cuz you know different languages of which we want to make sure that whichever one we fix we would support truly and correctly without dropping the other one. So we took out time. We think we made the right choice and we're going to keep working on all three languages has received today. I can tell this app wants to say
something. So I'm going to try so cools question over to him. So are there any plans for tools for build speed profiling and optimizing I think the context of the question was not can you make the build faster? But if they see their bill to taking long time is there are there tools are their approaches that they can take to find out what it is is taking time since they can optimize. Yes that we stayed out of developers having a lot of issues not being able to make that beat faster and we just wouldn't you want to head up there and there's already a lot of resources that you can use
greater has one stat total YouTube video get a lot of insight into your beauty so you can definitely use that but to realize that having something inserted into your would be extremely useful. So it's definitely something we're considering. So I downloaded the Android P beta I'm having a good time on it. But my question is why did y'all remove the clear all on the overview tab? Yes, I asked that exact question to the team about five or six weeks ago and there
are they over there? Hey, hey team. There are there two answers one is the memory memory in order to be able to run other things. The second answer is yes. Sorry about that. We're looking at bring it back. I can tell you I have a bill that's after beta one on my phone and I can probably tell you there's a clear all button on it. Greece So in 2014, I was at the Moscone Center and ask you guys a question if you were but I keep maintaining Eclipse that I'm I'm really glad that you were
not 100% on the Android Studio wagon. Now, I still worry about Bill X which was one of the questions that I had then but my question to you guys is if what are the what are the warts that you wish you could redo from Android 1.0. So if you could do as a 1.0 again, what would you change so many things by flying? I need some of that applications right settings. I've often thought that designing apis is building future regret. I have never yet create an API that I haven't regretted something about in the future. I believe that they ran really fast. They I was not there
at the time at the time and therefore they were able to get it out the door. And now we have time to actually fix some of those worth. What we can't do is remove methods and Brake applications. I said, we would certainly we have been improving things hopefully and introducing new facilities make things better that we can actually get rid of some of the things that we regret because we don't want to break the apps that are depending on if so, there is that little bit of stuff that we can totally fix but we can improve other things along the way
out is that broadcast I'm through decision to take like by default when you send a broadcast to just go to any manifest receiver that wants to receive it was a really bad decision. I'm going to be kind of we've learned this like over the last few years that we seen on devices like more applications waking up when just random things happening. So we have been going going through this really painful process with the background research isn't that kind of stuff to try
to get control of that again? Cuz I noticed that when I change between cell and Wi-Fi, it's slowing down a little bit. Timaree optimization much earlier, like the version code management the multiplication chart in the build time of impose was just a lot of burden to put on developers like you and really excited that we're removing. Hi, can you guys hear me deeply dying to see myself on that screen view iOS your guys's continued investment in improving to
willing and you know supporting kotlin is a first-class language creating architecture components this year. And I know you've also heard a lot about the letter which I understand to be the kind of cross platform mobile SDK. What do you all see in the future of these two Platforms in terms of Google's investment? Like what when to plant together do we all need to learn dark? What's the the kind of five-year tenure view of that kind of experiments? What is an exploration
of cross-platform development and we're excited because you know, the Android platform is a place where both teams and we can build this. Experiments, when will we know we're watching and we're waiting for the feedback from developers. So yeah, so excited that so much is happening on the platform. Thanks. Hi, so Android is now 10 years old and my question is what happens when the first day of birth certificates start to expire. When the sorry for certificates start to expire, do you have like a mechanism how
to rotate the keys? Go follow up after you certificates of long expirations like 30 years which from a security best practice when I view in retrospect. Another thing. We probably would do differently better support for key rotation. So I think you can see it in the US Pico there is some work towards we've had some previous experience with key sites another some more work going on with you APK floor mats to support this better in the future, but it's still working progress, but isn't that
something is actively being worked on right at 10 now what happens when it turns into a teenager and I didn't want to get into that one. Hi guys. I love you recyclerview is awesome. Recyclerview is quite awesome. Thanks to need to use base adapter is like listview Spinners at some remote use that might use it and I was wondering if you guys see that as a problem of if you want to expand the awesomeness recyclerview to more places. We are certainly continue to work on recyclerview to integrate more of what people need in that
component. We don't want it to be a kitchen sink of all things but it is certainly possible to expanded into more use cases that make sense for it. I don't know somebody over there right now, one of the biggest things that kind of impedes doing more of the integration of recyclerview with some of the other stuff in the framework is exactly some of what jet was saying earlier, which is that we can do a lot of really tea changes to some of the stuff in the framework there without breaking apps and
recyclerview is conscious effort to break from some of those existing apis at the time. So this aren't directly 121 compatible. I'm so the suffix in the framework right now is still going to be there in order to support the existing app ecosystem as we start building new things. I would expect to see a lot more things built on top of cycler view another jetpack libraries like that Thanks. I have can you hear me closer is good. So it looks like there is a shift towards single activity applications. I was wondering to get some background on
the decision behind that and maybe the one you should use a single activity application versus a multi activity application. Sure. Did you hear that illegal activity applications? Well, I don't have a strong but we definitely Clear Lake like he like trying to buy do seamless Transitions and all the things you want to do between activities is it doesn't really doesn't really work for a while and I really don't need you can think of activities as basically we need main entry
points into application, right? And so once you're in the application letter, use activities are fragments or whatever else is kind of irrelevant to the operating system and we are leaning heavily on fragments with all the new the new edition. Are there any memory million management concerns? With activity memory like having everything in one activity very memory management. I don't I'm not. profile your app most of the stuff that you're building at that point should be based on some of the other life cycle events is things are coming and going as you're
adding and removing components from that single container. The shutdown process should be pretty similar whether that's a separate activity or whether that's another fragment. Hi there this closing up right about the new in Android P. So that was presented at the Keynotes this option effectually defining a limiter in time for usage of a particular that was wondering because they're already on the Play Store for some years some apps that actually offer this functionality. Like did you did you guys
base this idea for those features based on existing or some research particular some psychology research or something like that? And is there a is there any API that third-party apps can just used to contribute to this vegetable being idea in the Play Store that you we week what weekend is Messi created some low-level system apis to do things that you couldn't ordinarily do not like we return the screen grayscale or we disable app icons are also getting hugs for app developers to have deep links into the Rock to provide more information. I haven't look so bloated it to make your eyes
to explain what all you could do on top of them, but Hampton I just want to know if you want to help out with the mission of digital Wellness read up on the docks for how notifications and do not disturb mode work together. So free sample post notifications with enough metadata that the user can either way isn't going to start my Desales starred contacts get through or certain apps get through all that information. You give the user more to safely under the Do Not Disturb mode that we provide knowing that they're not going to miss important stuff another way. You can work with Do Not
Disturb mode to help the user manage their space is actually respect it, right so you can actually see what the state of the device is and maybe this now is not the right time to try to get fuses attention. Right? So if there are ways that you can already work with any guys are already in the platform. We've seen them up a little bit for 50, but most of the stuff has been in there since we introduced to do not disturb and then improved with channels in Oso look, apis, I put those data on the notifications be able to interoperate as best you can with the do not disturb feature if we've
already got thank you for the follow-up question. If I'm interested in somehow country building with ideas or like working together in in this area. It will be really cool. Wave. I have a contact. I'm kind of contact I can report you. Do I have a question about the Google Play services you jump from version 12 to 15. What happened in between Hotels jump from 12 to 14 on the floors. We just wanted to go one better. I don't know the story behind leopard touching a bunch of experiments and we decided we should just snow plow forward to the latest release for all
users as opposed to make any bunch of experiments. You're not good at 3 better. Okay is a song boo. Yeah, okay. So, you know company our goal is to build an APK with a list size. So that users who is in third world countries countries that don't have to spend more data to download the APK because the Wii read that will increase the ATK size. So we're trying to save even if it's like a hundred K in the APK size. So, how are you going to address that life? If you still the same case if I try to move to Kauffman with my head because I didn't freeze.
That's a probably a good question for Ben and Brian costume and Jeffrey Van Gogh specific to make the code smaller and we connect you to a quite a bit of things that you couldn't do in Java because we have to Richmond formation about your coat when you're cold and cuddling. We just started and are ages 2 experimental but I think heard you take a look at our age and see if it helps your face and find out if you like to try the new R8 compiler just download the latest preview of Android Studio 3 2. Thank you.
First off excellent work on Android P everyone as a follow-up question about the clear all notification. Why is the clock on the wrong side? Actually do start side because you're an LTR everything it looks over. I don't know why I didn't really want to. No, this is I mean with this this comes from the display cut out stuff that we see coming from o-jama this we know we need to distribute things from one side of the status bar together. Some of us have always been a little uncomfortable about the asymmetry of the status bar. Like the most neutral
state is everything kind of like on the right hand side. I got to the end and side so over Not only was able to create a consistent experience across Android devices irrespective of whether they have an unbroken top edge of the display panel, but we can bring just a little more balanced with overall. I'll point out to that if you prefer it on the right side to take your phone and turn it around 180 degrees. It works perfectly every time just saying in Italian.
And then I think about 7 or 8 Days Later is like somebody came up to me and said are you still working? Yes, we used features such as Android and okay. Can you hear me? Yes. All right. So we use features such as Android Enterprise and safety-net, but we have a lot of customers with users in China. And so we wanted to know if there's any guidance you can provide for helping those users. then I've only gained a cuz nobody knows for China. It's complicated right now. I'm not going to ask
Google has limited access. There are the servers that let you know all the hallway shoe. So I don't have a good answer for you for what to do for China other than it is something that make myself in a few others here thinking a lot about and the shortest answer is it's complicated but we're not necessarily getting up on it cuz it is a problem that we need to recognize there's an awful lot of developers that need to deal with that market and we need to do more not sure what that means in terms of specifics, but it is something that's on my mind. Thank you. Thanks. Probably time for a
couple more questions. We are running out of time will gets his money this week. And yes, I noticed some stylistic differences between the AOSP Android P version and the Virgin on pixels which we saw through namely like rounded Corners versus square corners and some font choices. I was wondering what the motivation behind that was. Charles Dickens went to Director small touches. I mean you just said yourself we talked about fonts color is rounded Corners. Functionally. We try to keep those devices as
are those those targets as close as possible because if it's good for everybody, but we do have you know, what a little Google touch on things that are putting inside a box that's got a nice big Google logo on it. So we use the Google text face in activities and we got some rounded Corners in different color choices just a little bit of a little bit pain. With the whole Java lawsuit and cold Brewing house that affecting Android. What should we expect?
Our focus is on developing a great operating system that continues to be our Focus right after I was told to wrap this thing up. I did have one more important one from the Twitter thread that I'll end this thing on. I'm sorry. We couldn't get to all of your questions. We would like to someone did ask online. When will Google officially support kotlin May 17th 2017. So I think I think that's it. Thank you.
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.