Android Backstage, a podcast by and for Android developers. Hosted by developers from the Android engineering team, this show covers topics of interest to Android programmers, with in-depth discussions and interviews with engineers on the Android team at Google. Subscribe to Android Developers YouTube → https://goo.gle/AndroidDevs

Episode 175: Lottie

September 14, 2021 45:16 65.17 MB Downloads: 0

In this episode, Chet, Romain and Tor have a chat with Gabriel Peal from Tonal, well known for his contributions to the Android community on projects such as Mavericks and Lottie. We talked about Lottie and how it helps designers and developers deliver more delightful user experiences by taking complex animations designed in specialized authoring tools such as After Effects, and rendering them efficiently on mobile devices. We also explored the challenges of designing and implementing a rendering engine such as Lottie. Romain, Gabriel, Tor, and Chet   Related info: Lottie LottieFiles Mavericks   Gabriel: @gpeal8 Chet: @chethaase Romain: @romainguy Tor: @tornorbye

Episode 174: Compose tooling

September 09, 2021 34:56 50.28 MB Downloads: 0

In this episode, Tor and Nick are joined by Chris Sinco, Diego Perez and Nicolas Roard to discuss the features added to Android Studio for Jetpack Compose. They discuss the Compose preview, interactive preview, animation inspector and additions to the Layout inspector and their approach to create tooling to support the Compose’s code-centric approach. Diego, Tor, Chris, Nicolas and Nick tooling around.   Tooling guide

Episode 173: More benchmarking

August 26, 2021 35:24 40.05 MB Downloads: 0

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

August 09, 2021 37:20 53.74 MB Downloads: 0

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

August 02, 2021 40:19 77.4 MB Downloads: 0

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

July 20, 2021 42:35 61.3 MB Downloads: 0

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

July 05, 2021 37:18 53.69 MB Downloads: 0

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

June 28, 2021 43:11 62.17 MB Downloads: 0

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

June 14, 2021 42:38 61.38 MB Downloads: 0

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

June 08, 2021 42:49 61.64 MB Downloads: 0

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

June 02, 2021 38:30 55.43 MB Downloads: 0

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

May 27, 2021 56:39 52.88 MB Downloads: 0

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

May 24, 2021 47:46 55.55 MB Downloads: 0

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

April 28, 2021 35:28 44.85 MB Downloads: 0

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

April 21, 2021 35:34 44.59 MB Downloads: 0

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