Android Developers Backstage
223 episodes — Page 2 of 5
Episode 173: More benchmarking
In this episode, Chet, Romain and Tor talk with Chris Craik and Rahul Ravikumar from the toolkit performance team. We talk about the recently released the macrobenchmark tool+library, in addition to other interesting bits like how the benchmark libraries work, how to use them, how they relate to system tracing, how to do performance debugging in general, and even a teaser of future performance instrumentation functionality that the team is working on. Chet, Chris, Rahul (top), Romain, and Tor (bottom), all looking unusually happy. Related info: The Profile your app performance page for an overview of the performance tools and practices we offer. Performance samples Running benchmarks in continuous integration Chris: @chris_craik Rahul: @tikurahul Chet: @chethaase Romain: @romainguy Tor: @tornorbye
Episode 172: Privacy features in Android 12
In this episode, Chet, Romain and Tor talk with Sara N Marandi, Fred Chung and Erik Wolsheimer about the new privacy features in Android 12, such as the privacy dashboard, and the camera and microphone usage indicators. Guests Eric, Sara and Fred on the top row, and hosts Romain, Tor and Chet on the bottom row. Permission best practices → https://goo.gle/3oVdK02 Android 12 privacy changes → https://goo.gle/2VvmtMl Sara: @snmarandi Fred: @fredchung Eric Chet: @chethaase Romain: @romainguy Tor: @tornorbye
Episode 171: Compose Testing
In this episode, Nick and Romain are joined by Filip Pavlis, Jelle Fresen & Jose Alcérreca to talk about Testing in Compose. They discuss how Compose's testing APIs were developed hand-in-hand with the UI toolkit, making them more deterministic and opening up new possibilities like manipulating time. They go on to discuss the semantics tree, interop testing, screenshot testing and the possibilities for host-side testing. Big smiles from Filip, Jose, Romain, Jelle and Nick for the year of testing on Android. Compose Testing guide Compose Testing Cheatsheet Compose Testing codelab Sample Tests: Jetnews, Jetchat, Crane, Rally Screenshot Testing Compose Learning Pathway Romain: @romainguy Filip Pavlis Jelle Fresen Jose: @ppvi Nick: @crafty
Episode 170: Jetpack Compose Graphics & Animation
In this episode Nick and Chet are joined by Dois Liu and Nader Jawad to discuss Compose's Animation and Graphics systems. They cover their goals to make both systems easier to understand, more consistent and simpler to work with. They explain how they adapted traditionally imperative systems to a declarative world and give an overview of both the high level composables the library offers as well as lower level building blocks you can drop down to for more control. Hosts Chet & Nick speak to Doris and Nader. Compose Graphics guide Compose Animation guide Compose Animation codelab AnimatedContent composable AdvanceTimeBy (testing animations) Compose Learning Pathway Chet: @chethaase Doris: @doris4lt Nader: @nadewad Nick: @crafty
Episode 169: Testing
In this episode, Romain and Tor are joined by Adarsh Fernando, Arif Sukoco and Yahan Zhou from the Android Studio team, covering the recent improvements to support for testing. This includes automated test snapshots, where the emulator captures a snapshot for a failing test you can then load and analyze later, it includes the Test Matrix tool where the IDE shows a matrix of tests and the devices they're running on, as well as a unified Gradle test runner, and Gradle managed virtual devices, and more. Android Studio Bumblebee: Android Testing Adarsh Fernando Arif Sukoco Yahan Zhou Romain: @romainguy Tor: @tornorbye
Episode 168: Material Composition
In our ongoing mini-series on Jetpack Compose, Nick and Romain talk to Clara Bayarri and Matvei Malkov about Compose's support for Material Design. They discuss how Compose supports Material Components and Material Theming out of the box, how you can customize these to your needs or how Compose makes it easier to build your own design system. They also share insights into building reusable components with slot APIs and when to use CompositionLocals and look to the future with Compose's planned support for Material You. Hosts Romain and Nick with Clara and Matvei. Material components reference docs Compose Theming guide Compose Theming codelab Build beautiful Material Design apps with Jetpack Compose Google I/O talk Compose Learning Pathway Clara: @clarabayarri Matvei: @matvei_jj Romain: @romainguy Nick: @crafty
Episode 167: Jetpack Compose Layout
In this second episode of our mini-series on Jetpack Compose (AD/BC) Nick and Romain are joined by Anastasia Soboleva, George Mount and Mihai Popa to talk about Compose's layout system. They explain how the Compose layout model works and its benefits, introduce common layout composables, discuss how writing your own layout is far simpler than Views and how you can even animate layout. Hosts Romain and Nick are joined by Anastasia, George and Mihai and producers Daniel and Jessica 👋 Compose Layouts guide Compose Layouts codelab Layout composable Layout modifier Foundation Layouts & Modifiers (Row, Column, Box etc) Intrinsic size example Compose Learning Pathway Anastasia: @nastia_05 George: @georgemount1 Mihai: @mihaipopa12 Romain: @romainguy Nick: @crafty
Episode 166: Security Deposit
In this episode, Chad and Jeff from the Android Security team join Tor and Romain to talk about… security. Chad and Jeff explain what the platform does to help preserve user trust and device integrity, why it sometimes means restricting existing APIs, and touch on what apps can do or should worry about. App security best practices Security tips Security with HTTPS and SSL Chad: @chadbrubaker__ Jeff: @jeffvanderstoep Romain: @romainguy Tor: @tornorbye
Episode 165: Material Witnesses
In this episode, Chet and Romain welcome Hunter and Nick from the Material Design team. Material Design was originally introduced when Android 5.0 came out and has come a long way since then. Our guests will give you an overview of some of the recent additions and improvements to the Material Design Component libraries: transitions, motion theming, Compose, large screens support and guidance, etc. Material Design website Material You What's new with Material at I/O Material Design Components for Android Material Motion with MDC Hunter: @hunter_stich Nick: @ricknout Chet: @chethaase Romain: @romainguy
Episode 164: Jetpack Compose Compilation
This episode is the first in the new mini-series "ADBC" on Jetpack Compose, hosted by Nick Butcher, in which we will dive deep into different topics in Android's future UI toolkit. This time, Nick and Chet talked with Adam Powell and Leland Richardson about the Compose compiler, the runtime, data flow, and that nifty feature where Compose knows when to call your Composable based on changes in data state. Also check out: Thinking in Compose Compose State Guide Compose State Codelab Lifecycle of composables Side-effects in Compose Compose Learning Pathway Adam: @adamwp Leland: @intelligibabble Nick: @crafty Chet: @chethaase Romain: @romainguy Tor: @tornorbye
Episode 163: Novel Graphics
In this episode, we talk with Nat Duca and Sumir Kataria from the Android graphics team about the graphics stack -- covering shaders, GPUs, Vulkan, OpenGL, ANGLE, drivers, blur, pixels and of course Chet's favorite topic; colors. Hosts Tor, Chet and Romain on the top row and guests Nat and Sumir on the bottom row If you're ever wanted to know how to pronounce "hwui", tune in! Sumir: @SumirKodes Nat: Link Chet: @chethaase Romain: @romainguy Tor: @tornorbye
Episode 162: Kotlin Symbol Processing
Cowardly abandoned by Chet and Romain, Tor faces three guests alone. Jeffrey van Gogh, Ting-Yuan Huang, and Yigit Boyar join Tor to talk about Kotlin Symbol Processing (KSP), a new, faster, and better tool to replace annotation processors. You will learn how KSP works, what it can do, why it was created, and how it is used in the Room Jetpack library. Tor, Ting-Yuan, Jeffrey, and Yigit, all looking amazingly happy to discuss annotation and symbol processing KSP announcement KSP GitHub project How to get started with KSP Libraries with KSP support Jetpack Room Jeffrey: @jvgogh Yigit: @yigitboyar Tor: @tornorbye
Episode 161: DataStories
This time, Tor, Chet, and Romain talked with Rohit Sathyanarayana and Florina Muntenescu about the DataStore library. DataStore is the replacement for SharedPreferences, being better for many reasons (it's asynchronous and avoids blocking the UI thread, it is type-safe). It not only has a similar/simple key-value pair API like SharedPreferences, but also has more powerful API as well. It's currently in alpha, but look for it to be the recommended approach soon as it approaches stable. Florina, Romain, Chet, Daniel (ADB audio producer, in person!), Tor, and Rohi Article: Using DataStore in Kotlin Serialization Docs: Docs Codelab: Preferences Datastore codelab Codelab: Proto Datastore codelab Florina: @FMuntenescu Rohit: @rohitsat123 Chet: @chethaase Romain: @romainguy Tor: @tornorbye
Episode 160: ART History
In this episode, Romain, Chet and Tor sit down with Brian Carlstrom and Nicolas Geoffray to discuss their work on ART (the Android Runtime). Brian and Nicolas describe the early prototypes and bringup of ART, getting it production ready, as well as recent developments such as cloud profiles. Chet, Brian and Romain on the top row, and Tor and Nicolas below Brian: https://carlstrom.com Chet: @chethaase Romain: @romainguy Tor: @tornorbye
Episode 159: Interview with Chris Lacy
Chet and Romain host Chris Lacy, a long time independent Android developer. In this episode, Chris explains how he decides what apps to build, how he used various platform APIs to create innovative applications like LinkBubble, and what challenges he faces. Chet, Chris and Romain Chris's apps include: SwirlWalls, a live wallpaper ActionLauncher, a replacement launcher By the way, Chris is looking to hire an Android developer. If interested, you can reach him at [email protected]. Chris: @chrismlacy Chet: @chethaase Romain: @romainguy Tor: @tornorbye

Episode 158: Jetpack Compose... C'est bêta !
Chet, Nick, Clara, Leland, Tor, Adam, and Romain. So many guests! This time, Tor, Romain, and Chet chatted with a few people on the Jetpack Compose team, about... Jetpack Compose! Compose hit Beta a couple of weeks ago (don't believe me? Check out the recent Android show on Compose Show!), so we took the opportunity to talk to some of the people that have helped build it. We talk about the current state of the library, but also about some of the design decisions that went into developing the APIs and functionality. (Note on the audio quality for this episode - it turns out that mixing so many people, all of whom recorded themselves separately using very different hardware and setups was... tricky. It's listenable, but maybe a tad below the level we shoot for. Blame the pandemic. I do.) Subscribe to the podcast feed or download the audio file directly. #TheAndroidShow: Jetpack Compose The Jetpack Compose site (overview, tutorial, docs, samples, and more) Chet: @chethaase Romain: @romainguy Tor: @tornorbye Nick: @crafty Clara: @clarabayarri Leland: @intelligibabble Adam: @adamwp Thanks to our audio engineer, Dustin Elm, who has handled all of our audio mixing for the last couple of years, including the tricky part of mixing all of our remote- recorded episodes, like this one. Dustin's moving on to (greener? softer? louder?) pastures, so we'll be using a new, exciting process for mixing future episodes. Thanks, Dustin!

Episode 157: Audio feedback
What does a podcast look like? We don't know, so here's a picture of the podcast's website We want to hear from you! In this episode, Tor, Romain, and Chet talk about what they could do â€" or not do â€"to improve Android Developers Backstage. Please check our survey and let us know how you would like to see this podcast evolve. We recommend you first listen to the podcast to get the full context for some of the questions in the survey. Subscribe to the podcast feed or download the audio file directly. Chet: @chethaase Romain: @romainguy Tor: @tornorbye Thanks to continued tolerance and support by our audio engineer, Dustin Elm.

Episode 156: Android Runtime Classic (Dalvik)
It's history time! Or even [pre-]ART History time! We didn't take a picture this time. Please imagine what we looked like. This time, Tor, Romain, and Chet were joined by Dan Bornstein, one of the early members of the Android team. Dan joined in 2005 to create a runtime for Android, which became Dalvik. We talked about some of the early placeholder VMs used while Dalvik was coming online, some of the design decisions for Dalvik (like its register-based vs. stack-based implementation), and nice techy details about runtimes, garbage collectors, and optimizations. Subscribe to the podcast feed or download the audio file directly. Chet: @chethaase Romain: @romainguy Tor: @tornorbye Dan: @danfuzz Thanks to continued tolerance and support by our audio engineer, Dustin Elm.

Episode 155: WindowManagerManagers
Top row: Chet, Romain, Rob. Bottom row: Wale, Tor. In this episode, we chat with Wale Ogunwale and Rob Carr from the Android Framework team about the Window Manager. Tune in to learn about the evolution of the window manager, the distinction between System UI and the window manager, implementation challenges and recent architectural changes. Subscribe to the podcast feed or download the audio file directly. Chet: @chethaase Romain: @romainguy Tor: @tornorbye Thanks to continued tolerance and support by our audio engineer, Dustin Elm.

Episode 154: It's a Wrap!
This episode is dedicated to the memory of our dear friend and colleague, Carl Quinn. Our last episode of the year arrives just in time for the holiday season. In this episode, Tor, Chet, and Romain go over everything that happened in 2020, both good and bad. We look back at how conferences have been impacted by the pandemic, why Android Studio changed its versioning scheme, the new tools and libraries that were released, etc. We would like to thank all of our listeners for their continued support. We'll be back in early 2021 with more episodes and new guests! Subscribe to the podcast feed or download the audio file directly. Chet: @chethaase Romain: @romainguy Tor: @tornorbye Thanks to continued tolerance and support by our audio engineer, Dustin Elm.
Episode 153: Ok, Ok, Ok
Romain, Tor, and Chet talked with Jesse Wilson from Square. Jesse has worked on several popular open-source libraries, including OkHttp, Okio, and [Ok]Moshi. We talk about those libraries, and others, and about Android, library, framework and Kotlin development. And about that nasty habit some engineers have of turning a feature request or minor annoyance into a project of creating a new open-source library instead. Favorite quote, from Jesse: "I started with 2k. Someone told me 8k was faster." Subscribe to the podcast feed or download the audio file directly. Links: OkHttp OkHttp Kotlin Release Okio Okio Buffer.kt internals GraalVM Jesse: @jessewilson Chet: @chethaase Romain: @romainguy Tor: @tornorbye Thanks to continued tolerance and support by our audio engineer, Dustin Elm.

Episode 152: Image Loading with Coil
Chet, Colin, Romain, and Tor This week, Tor, Romain and Chet are joined by a special guest: Colin White from Instacart. Colin is the author of Coil, a popular image loading library backed by Kotlin and Kotlin Coroutines. In this episode, Colin explains what Coil is, how and why it was created, etc. Subscribe to the podcast feed or download the audio file directly. Links: Coil Coil on GitHub The feature request Romain filed And the PR to implement that feature request Colin: @colinwhi Chet: @chethaase Romain: @romainguy Tor: @tornorbye Thanks to continued tolerance and support by our audio engineer, Dustin Elm.

Episode 151: Paging3
Chet, Dustin, Chris, and Romain. (Tor not pictured. Because he wasn't there) Romain and Chet talked with Dustin Lam and Chris Craik from the Toolkit team about Paging3. Paging3 (currently in alpha) is a complete rewrite of (wait for it...) Paging2, using Kotlin, coroutines, and Flow for optimal implementation and APIs. (But note that there are also APIs for developers using the Java programming language and/or RxJava, so take your pick). We talk about Paging, the asynchronous work that made coroutines an obvious choice for the implementation, recent and future features, and API design in general. Subscribe to the podcast feed or download the audio file directly. Links: AndroidX Paging library Bug bounty hotlist! Dustin: @itsdustinlam Chris: @chris_craik Chet: @chethaase Romain: @romainguy Tor: @tornorbye Thanks to continued tolerance and support by our audio engineer, Dustin Elm.

Episode 150: Aaptly Named
Top row: Tor and Romain Bottom row: Ryan and Chet In this episode, Chet, Romain and Tor talk with Ryan Mitchell from the Android Framework Team. We cover the Android resources in general and the aapt2 tool in particular. Subscribe to the podcast feed or download the audio file directly. Chet: @chethaase Romain: @romainguy Tor: @tornorbye Thanks to continued tolerance and support by our audio engineer, Dustin Elm.

Episode 149: ADB over WiFi on ADB
Top row: Chet, Joshua and Romain. Bottom row: Renaud and Tor In this episode, Chet, Romain and Tor talk with Renaud Paquay and Joshua Duong from the Android Studio and Android Emulator teams. We cover the new ADB over WiFi feature in Android 11, and the Android Studio support for pairing and connecting. Subscribe to the podcast feed or download the audio file directly. Links https://developer.android.com/studio/command-line/adb#connect-to-a-device-over-wi-fi-android-11+ Renaud: /u/adt_renaud Joshua: /u/joshuaduong Chet: @chethaase Romain: @romainguy Tor: @tornorbye Thanks to continued tolerance and support by our audio engineer, Dustin Elm.

ADB 148: [Constraint|Motion][Layout|Editor]
Sean McQuillan and I talked with Nicolas Roard and John Hoford about MotionEditor, which went stable recently in Android Studio 4.0. But as long as we were talking about that tool, we also talked extensively about MotionLayout in general as well as ConstraintLayout, new features like Flow, the difficulties of animating text properties, and more. Subscribe to the podcast feed or download the audio file directly. Links MotionTags screencast series MotionEditor guide MotionEditor release article ConstraintLayout guide ConstraintLayout 2.0 article John: @johnhoford Nicolas: @camaelon Chet: @chethaase Tor: @tornorbye Romain: @romainguy Thanks to continued tolerance and support by our audio engineer, Dustin Elm.

Episode 147: Jetpack Compose Alpha
The real star of the show: Jetpack Compose This week, after a long series of developer previews, we are celebrating the release of Jetpack Compose alpha. In this episode, Clara Bayarri, Matvei Malkov, and Anna-Chiara Bellini are joining Chet and Romain to talk about this milestone. You will learn more about what does the alpha mean to the team, where did Compose come from, how the team approaches API design, some of the challenges behind building a new UI toolkit, and much more. Subscribe to the podcast feed or download the audio file directly. Links Jetpack Compose Tutorials and codelabs Android Studio Setup Samples on GitHub Thinking in Compose (video) Chet: @chethaase Tor: @tornorbye Romain: @romainguy Thanks to continued tolerance and support by our audio engineer, Dustin Elm.

Episode 146: The Game Changer
Dan (played by an icon), Greg, and a tiny Romain in the upper right This time, Romain was hosting all on his own for this conversation about game technology with Greg Hartrell, product manager for games on Play/Android, and Dan Galpin, developer advocate for games on Android. They talked about recent developments and offerings for game developers, including the Android development plugin for Visual Studio, other specialized tools for game developers, and new offerings from the team like Android Asset Delivery and Android App Bundle for distribution. Subscribe to the podcast feed or download the audio file directly. Links Build Games for Android Android Game Dev Show Greg: @ghartrell Dan: @dagalpin Chet: @chethaase Tor: @tornorbye Romain: @romainguy Thanks to continued tolerance and support by our audio engineer, Dustin Elm.

Episode 145: Grab that Dagger by the Hilt
Eric, Dany, and Romain. Chet not represented to hide the confused look he had on his face during the entire recording. We're injecting dependencies! In this episode, Chet and Romain are joined by Daniel Santiago from Jetpack, and Eric Chang from Dagger to talk about Hilt. Hilt builds on Dagger for form Android's new recommended way to perform dependency injection. And it's also a great opportunity for Chet and Romain to display their lack of knowledge in that space. Subscribe to the podcast feed or download the audio file directly. Links Dagger.dev Hilt on dagger.dev Introduction to Hilt by Dany Dependency injection on Android Chet: @chethaase Tor: @tornorbye Romain: @romainguy Thanks to continued tolerance and support by our audio engineer, Dustin Elm.

Episode 144: Compilers
Mads, Chet and Tor In this episode, Chet and Tor talk with Mads Ager from the Android Studio compilers team. We cover a number of subjects, from r8 and d8 optimizations and resource shrinking to work on the Kotlin compiler front- and back-end, as well as the new Kotlin symbol processor. Subscribe to the podcast feed or download the audio file directly. Links R8/D8: https://r8.googlesource.com/r8 KSP: https://github.com/android/kotlin/tree/ksp/libraries/tools/kotlin-symbol-processing-api Kotlin: https://github.com/JetBrains/kotlin/ Mads: @madsager Chet: @chethaase Tor: @tornorbye Romain: @romainguy Thanks to continued tolerance and support by our audio engineer, Dustin Elm.

Episode 143: Shhhh! Private!
Tor, Romain, Sara, Philip, and a little tiny Chet top-right In this episode, Tor, Chet, and Romain talk with Sara N-Marandi and Philip Moltmann from the Android framework team about some of the new permissions changes in Android 11. We talk about why these changes were made, how to use them correctly in your code, and how things actually work on the inside. Subscribe to the podcast feed or download the audio file directly. Links Developer Guide: Request App Permissions Video: Developing with the latest privacy changes in Android 11 Video: All things privacy in Android 11 Chet: @chethaase Tor: @tornorbye Romain: @romainguy Thanks to continued tolerance and support by our audio engineer, Dustin Elm.

Episode 142: Machine Learning Learning
Hoi and Matej in the top row, Chet and Tor below In this episode, Chet and Tor talk with Hoi Lam and Matej Pfajfar about machine learning on Android. Tune in to learn about ML Kit, TensorFlow Lite, transfer learning, federated learning, ML model binding, the Android Neural Networks API, and more! Subscribe to the podcast feed or download the audio file directly. Links ML Kit: g.co/mlkit TensorFlow Lite Model Maker: https://www.tensorflow.org/lite/tutorials/model_maker_image_classification Android Studio 4.1 with ML Binding - https://developer.android.com/studio/preview/features#tensor-flow-lite-models People + AI Guidebook, suitable for SWE, Designers and PMs https://pair.withgoogle.com/guidebook/ Material Design Showcase Sample https://github.com/googlesamples/mlkit/tree/master/android/material-showcase Hoi: @hoitab Chet: @chethaase Tor: @tornorbye Romain: @romainguy Thanks to continued tolerance and support by our audio engineer, Dustin Elm.

Episode 141: Discussing Conversations
Romain, Tor's large head and bad framing, Chet's little tiny picture top-right, Julia, and Stefan It's all about people! In this episode, Tor, Chet and Romain are joined by Julia Reynolds and Stefan Franks from the System UI team to have a discussion about conversations. We also converse about things unrelated to conversations. Starting with Android 11, conversation notifications now appear in a dedicated space at the top of the notifications shade. These notifications come with specific actions like opening a bubble or setting a reminder. Tune in to learn more about this new people-forward design. Subscribe to the podcast feed or download the audio file directly. Links Android 11 Beta Notifications Chet: @chethaase Tor: @tornorbye Romain: @romainguy Thanks to continued tolerance and support by our audio engineer, Dustin Elm.

Episode 140: Bubbles!
Artur, Chet, Mady, Romain and Tor In this episode, Romain, Chet and Tor talked with Mady Melor and Artur Tsurkan from the System UI team about... Bubbles! Bubbles let users easily multi-task from anywhere on their device, and facilitates real-time communication using a chat application. Tune in to learn more about this new API in Android 11! Subscribe to the podcast feed or download the audio file directly. Links https://developer.android.com/guide/topics/ui/bubbles Chet: @chethaase Tor: @tornorbye Romain: @romainguy Thanks to continued tolerance and support by our audio engineer, Dustin Elm.

Episode 139: AndroidX. Jetpack. AndroidX. Jetpack. Whatever.
Romain, Chet, Alan, Nick, and a little tiny Tor in the upper-right corner In this episode, Romain, Chet and Tor talked with Nick Anthony and Alan Viverette from the AndroidX team about... AndroidX. And Jetpack. And androidx. (Spoiler alert: androidx is the set of libraries. Jetpack is that... plus opinionated guidance. AndroidX is the name of the team that ships this stuff). We also talked about the release cadence (currently every two weeks, up from every-several-months a couple of years ago), the standards for release naming/versioning, API standards, and everything else in the world of AndroidX infrastructure and release. Subscribe to the podcast feed or download the audio file directly. Links AndroidX releases Alan: /u/alanviverette Chet: @chethaase Tor: @tornorbye Romain: @romainguy Thanks to continued tolerance and support by our audio engineer, Dustin Elm.

Episode 138: Animated IME — Oh, my!
Chet, Romain, Jorim, Adrian and Taran. Oh and Tor hiding the upper right. In this episode, Tor, Chet and Romain are joined by Jorim, Adrian and Taran from the Window Manager team. We discussed newly announced capabilities of the IME (Input Method Editor) in Android 11. These new APIs allow applications to react in real-time to IME animations and thus provide a more polished and seamless user experience. It also happens to be the answer to one of your most requested features: knowing when the on-screen keyboard is showing. Subscribe to the podcast feed or download the audio file directly. Chet: @chethaase Tor: @tornorbye Romain: @romainguy Thanks to continued tolerance and support by our audio engineer, Dustin Elm.

Episode 137: Accessibility
Chet, Qasid, Romain, Sally, Tor, and a very mysterious guest in a very dark room in the lower-right. In this episode, Romain, Chet and Tor talked (remotely!) with Sally Yuen and Qasid Sadiq from the Accessibility team. We discussed the kinds of tools and facilities that their team provides, and how developers can (and should!) make their applications more accessible. We talked about Accessibility Services, Talkback, Accessibility Scanner, organizational complexities of accessibility efforts, and more. Pro tip: Avoid creating custom widgets by using the built-in widgets in the platform to inherit accessibility functionality for free. Subscribe to the podcast feed or download the audio file directly. Links Build more accessible apps: Guide with videos and links to more resources. Chet: @chethaase Tor: @tornorbye Romain: @romainguy Thanks to continued tolerance and support by our audio engineer, Dustin Elm.

Episode 136: Remoting
Tor, Chet, and Romain, remembering the way things used to be, back when there was a recording studio instead of closets at home. In this episode, Romain, Chet and Tor chat with zero guests about the current work-from-home reality, and about adjustments we've all made as we change the way we work. Subscribe to the podcast feed or download the audio file directly. Chet: @chethaase Tor: @tornorbye Romain: @romainguy Thanks to continued tolerance and support by our audio engineer, Dustin Elm.

Episode 135: Audio Podcast
Tor, Don, Chet, and Phil, on a video conference on Tor's machine. VCs are critical to mitigating (but not actually solving) latency issues with remote podcasts. In this first ever full-remote episode, Tor and Chet discuss audio programming with Don Turner from the Android DevRel team, and Phil Burk from the Android Audio Framework team. They chat about Oboe, low-latency audio, audio performance in general, etc. And because Don and Phil know everything about audio, more time was spent before the recording discussing how to properly record the episode than was spent actually recording the episode. Subscribe to the podcast feed or download the audio file directly. If you enjoyed this episode you might also be interested in episode 39, about MIDI audio with Phil Burk. Phil: @philburk Don: @donturner Chet: @chethaase Tor: @tornorbye Romain: @romainguy Thanks to continued tolerance and support by our audio engineer, Dustin Elm.

Episode 134: All Work No Play
Rahul (Work), Sumir (Manager), and Chet In this episode, Chet talks with Sumir Kataria and Rahul Ravikumar from the Android Toolkit team about Work Manager! Tune in to learn about work manager, an AndroidX library for deferrable background work, and recent changes such as on demand initialization, new lint checks, and more! Subscribe to the podcast feed or download the audio file directly. Relevant Talks: Working with WorkManager, from the 2018 Android Dev Summit WorkManager: Beyond the basics, from the 2019 Android Dev Summit Releases & Bugs: Recent releases Link for filing issues: https://issuetracker.google.com/issues/new?component=409906&template=1094197 Sumir: @SumirKodes Rahul: @tikurahul Chet: @chethaase Tor: @tornorbye Romain: @romainguy Thanks to continued tolerance and support by our audio engineer, Bryan Gordon.

Episode 133: Power Play
Kweku, Makoto, Amith, Chet, Romain, and Tor In this episode, Chet talked with Amith Yamasani, Makoto Onuki, and Kweku Adams from the framework team about power management. We waxed poetic about the heuristics the system uses to kill tasks, doze mode and how the system tries to save battery, TrimMemory requests, JobScheduler (the underlying platform facility used by WorkManager), AppStandby buckets, and more. Favorite word: OOMAdjust (Out of Memory Adjustment, but I far prefer the abbreviation) Subscribe to the podcast feed or download the audio file directly. Links: App Standby Buckets Optimizing for Battery Life Improve Battery Life with Restrictions (presentation at ADS 2018) Chet: @chethaase Tor: @tornorbye Romain: @romainguy Thanks to continued tolerance and support by our audio engineer, Bryan Gordon.

Episode 132: Storing data with Store
Mike, Romain, Yigit, and Chet In this episode, Chet and Romain talk with Yigit Boyar, from the Jetpack team, and Mike Nakhimovich from Dropbox. Mike and Yigit have been working on an Open Source library called Store. Store helps with the fetching, caching, storing and sharing of data in your application. Both Yigit and Mike used this opportunity to teach Chet and Romain about the repository pattern, how Store works, what makes building a library like Store challenging and much more. Subscribe to the podcast feed or download the audio file directly. Links: Store on Github Room Mike: @friendlymikhail Yigit: @ yigitboyar Chet: @chethaase Tor: @tornorbye Romain: @romainguy Thanks to continued tolerance and support by our audio engineer, Bryan Gordon.

Episode 131: Jetpack Compose and Declarative UIs
Adam, Romain, Tor, and Chet, on location in the fancy and totally upscale ADB recording studio In this episode, Tor, Romain, and Chet talk with Adam Powell from the UI Toolkit team about Jetpack Compose. The conversation meandered into declarative programming, reacting to state changes, data flowing through an application, and Kotlin domain-specific languages. Subscribe to the podcast feed or download the audio file directly. Links: Jetpack Compose overview Jetpack Compose tutorial Adam: @adampwp Chet: @chethaase Tor: @tornorbye Romain: @romainguy Thanks to continued tolerance and support by our audio engineer, Bryan Gordon.

Episode 130: First Law of Motion...Layout
Tor, Nicolas, John, Romain and Chet in the Android Studio In this episode, Tor, Romain and Chet chit chat with Nicolas Roard and John Hoford from the Android Studio team about Motion Layout -- and ConstraintLayout and visual editing in the IDE. In the recording session they also promised to release ConstraintLayout 2.0 beta 4 before the podcast was released. And they achieved that: https://androidstudio.googleblog.com/2019/12/constraintlayout-200-beta-4.html. Subscribe to the podcast feed or download the audio file directly. Links: Constraintlayout codelab: https://developer.android.com/training/constraint-layout MotionLayout codelab: https://codelabs.developers.google.com/codelabs/motion-layout MotionLayout workshop with John and Nicolas from DroidconSF: https://camaelon.github.io/ ConstraintLayout reference page: https://developer.android.com/reference/androidx/constraintlayout/widget/ConstraintLayout MotionLayout reference page: https://developer.android.com/reference/androidx/constraintlayout/motion/widget/MotionLayout MotionLayout page: https://developer.android.com/training/constraint-layout/motionlayout MotionLayout examples: https://developer.android.com/training/constraint-layout/motionlayout/examples ConstraintLayout and MotionLayout github samples: https://github.com/android/views-widgets-samples/tree/master/ConstraintLayoutExamples Medium article on MotionLayout: https://medium.com/google-developers/introduction-to-motionlayout-part-i-29208674b10d Nicolas: @camaelon John: @johnhoford Chet: @chethaase Tor: @tornorbye Romain: @romainguy Thanks to continued tolerance and support by our audio engineer, Bryan Gordon.

Episode 129: Display, Input and Haptics
Michael, Chet and Romain in the cozy London recording studio. In this episode, Chet and Romain travel all the way to London to have a chat with Michael Wright. This is not Michael's first time on the podcast and one again the discussion is about displays, input devices and haptics. If you want to learn more about high refresh rate displays (90/120 Hz), HDR, audio-coupled haptics, how gamepads are supported and, curiously, about the Android API council, you found the right episode! Subscribe to the podcast feed or download the audio file directly. Chet: @chethaase Tor: @tornorbye Romain: @romainguy Thanks to continued tolerance and support by our audio engineer, Bryan Gordon.

Episode 128: Play with App Bundles
We forgot to take a picture of ourselves when we recorded this. Please use your imagination. In this episode, Chet and Florina Muntenescu (from the Android Developer Relations team) talk with Dom Elliott from the Google Play team about Android App Bundles and other Google Play features. App bundles are the new packaging format for Android apps. They allow you to upload a single version of your app, then Google Play can distribute optimized versions of that app to users, depending on device-specific capabilities, like the selected locale(s) on the device. We also talked about other recent Google Play features (related to bundles and not), such as on-demand delivery and in-app updates. Subscribe to the podcast feed or download the audio file directly. Links: App bundles samples On-Demand modules codelab Plaid sample Build a Modular Android App Architecture (Google I/O 2019) Navigating Your Way Around Customizable Delivery (Android Dev Summit 2019) Florina: @FMuntenescu Dom: @iamdom Chet: @chethaase Tor: @tornorbye Romain: @romainguy Thanks to continued tolerance and support by our audio engineer, Bryan Gordon.

Episode 127: Gradle to Crave
Tor, Jerome, Chris and Xavier in the recording studio. In this episode, Tor chats with Jerome Dochez, Chris Warrington and Xavier Ducrohet from the Android Studio build system team. We discuss a lot of topics -- the new speed attribution feature in 4.0, the effort to create new APIs for plugin authors, and a lot more. Subscribe to the podcast feed or download the audio file directly. Jerome: @dochez Xav: @droidxav Tor: @tornorbye Chet: @chethaase Romain: @romainguy Thanks to continued tolerance and support by our audio engineer, Bryan Gordon.

Episode 126: Gesture Nav
Allen, Chris, Adam, part of Tor, Dan (taking the photo), and Chet. All of them are also in the monitor, but backwards. Oh, and note the gym sock being used to dampen noise on the mic. High tech stuff, ADB. In this episode, Chet and Tor talk with Chris Banes, Adam Cohen, Dan Sandler, and Allen Huang about Gesture Navigation. Gesture Nav is an important UI behavior change in the Android 10 release that developers should handle and test. Chris has written Gesture Nav articles recently. This conversation goes further into the background and reasons for the change, as well as techniques for dealing with it. Note: The audio in this episode, is not up to the usual quality bar. We had the choice between recording the conversation with a non-ideal setup or not doing it at all. We chose content over quality. Subscribe to the podcast feed or download the audio file directly. Links: Gesture Navigation: Going edge-to-edge (I) Gesture Navigation: Handling visual overlaps (II) Gesture Navigation: Handling gesture conflicts (III) Gesture Navigation: Immersive Modes (IV) Chris: @chrisbanes Dan: @dsandler Chet: @chethaase Tor: @tornorbye Romain: @romainguy Thanks to continued tolerance and support by our audio engineer, Bryan Gordon.

Episode 125: ADB Live at the Android Dev Summit
Chet, Tor, Romain, Cyril and Zarah, laughing at something stupid funny that Chet said. Amongst the many talks and announcements at the Android Dev Summit 2019 was a hidden gem: the first ever live episode of this podcast! Chet, Romain and Tor took this opportunity to have a chat with Zarah Dominguez and Cyril Mottier. Both Zarah and Cyril work as Android app developers and are known for their presentations at various Android conferences. We talked about modernizing large codebases, Kotlin, data binding, themes & styles, and many other things. Let's not spoil the podcast here. Subscribe to the podcast feed or download the audio file directly. Links: ADB Live on YouTube Zarah: @zarahjutz (blog) Cyril: @cyrilmottier (blog) Chet: @chethaase Tor: @tornorbye Romain: @romainguy Thanks to continued tolerance and support by our audio engineer, Bryan Gordon.

Episode 124: UX
Chet, Glen, Rod, and Tor. Il n'y a pas de Romain. In this episode, Chet and Tor talk with Rod Graves and Glen Murphy from the Android UX team. We talked about various UX changes in Android over the years, as well as UI design in general. For example, Glen compared UX design to API design; trying to provide an interface for the users of your product that helps them build a mental model to better understand how everything fits and works together. Favorite acronym: "WTFY" Subscribe to the podcast feed or download the audio file directly. Links: Rod: @rgraves Glen: @gmurphy Chet: @chethaase Tor: @tornorbye Romain: @romainguy Thanks to continued tolerance and support by our audio engineer, Bryan Gordon.