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
Similar Podcasts
The Cynical Developer
A UK based Technology and Software Developer Podcast that helps you to improve your development knowledge and career,
through explaining the latest and greatest in development technology and providing you with what you need to succeed as a developer.
Elixir Outlaws
Elixir Outlaws is an informal discussion about interesting things happening in Elixir. Our goal is to capture the spirit of a conference hallway discussion in a podcast.
Developer Voices
Discover the future of software from the people making it happen.Listen to some of the smartest developers we know talk about what they're working on, how they're trying to move the industry forward, and what you can learn from it. You might find the solution to your next architectural headache, pick up a new programming language, or just hear some good war stories from the frontline of technology.Join your host Kris Jenkins as we try to figure out what tomorrow's computing will look like the best way we know how - by listening directly to the developers' voices.
Episode 211: Rules about performance tools
In this episode Chet, Romain and Tor chat with Shai Barack about how the Android platform team studies performance and understands system health - and what is system health anyway? We talk about measuring performance, deciding trade-offs, and our favorite tools such as Perfetto, Compiler Explorer, and Android Studio's Memory Profiler. Chapters: Intro (00:00) System health (0:27) Efforts to make apps more efficient (3:35) Telemetry data (5:59) Trade offs between long battery life and good performance (8:21) Scheduling groups (10:38) Static drain (13:32) Collaborating with App developers vs operating system (19:10) High refresh rates (23:26) Reach vs engagement (32:02) What tools does your team use to optimize performance? (34:10) Godbolt.org (37:09) Demystifying (39:39) The best tools are multi-player (43:52) R8 or R-Not? (45:42) Optimizing for feature sets (48:05) Tools, not Rules (50:08) What are the tools I should be aware of as an app developer looking to upscale performance? (54:36) Allocation tracker (55:37) Open source tools (57:08) Useful resources for devs to understand various tools (59:04) Final thoughts (1:06:19) Links: Compiler Explorer → https://goo.gle/3Zbq6DV Perfetto → https://goo.gle/3OtD3UK and https://goo.gle/3B3S3p5 Tools, not Rules → https://goo.gle/416CyY7 Shai: Romain: @romainguy, threads.net/@romainguy, romainguy@androiddev.social Tor: threads.net/@tor.norbye and tornorbye@androiddev.social Chet: @chethaase, threads.net/@chet.haase, and chethaase@androiddev.social Catch videos on YouTube → https://goo.gle/adb-podcast Subscribe to Android Developers → https://goo.gle/AndroidDevs
Episode 210: Studio Jewelry
In this episode Chet, Romain and Tor chat with Sebastiano about how the Android Studio team builds UIs. We talk about how Compose for Desktop is used in parts of Android Studio and how the Compose Markdown renderer available in the Jewel library makes Studio Bot tick. Chapters: Intro (00:00) Android Dev UX team (00:39) What kind of libraries and languages are used to build Android studio? (1:52) Swing (2:53) Reactive and declarative programming models (8:25) SKIA for Kotlin (10:01) Jetpack Compose widgets (11:54) Jewel (13:07) Text rendering across platforms (15:51) Differences in behaviors (17:40) Support for markdown files (20:26) What is markdown? (21:25) Swing and html (25:45) Selection handling in StudioBot (28:46) Boosting productivity with Compose (30:40) Standalone vs plugin artifacts (34:29) The difference between Jewel & Swing (35:30) HTML vs Markdown (39:31) Markdeep (41:53) Jewel's Markdown API (43:46) Where to find Jewel? (46:54) Sebastiano’s podcast - Code with the Italians (47:34) Final thoughts (49:13) Links: Jetpack Compose Compose Multiplatform, for Desktop Jewel Jewel Markdown Renderer Sebastiano: https://github.com/rock3r, https://codewiththeitalians.it/ Romain: @romainguy, threads.net/@romainguy, romainguy@androiddev.social Tor: threads.net/@tor.norbye and tornorbye@androiddev.social Chet: @chethaase, threads.net/@chet.haase, and chethaase@androiddev.social Catch videos on YouTube → https://goo.gle/adb-podcast Subscribe to Android Developers → https://goo.gle/AndroidDevs
Episode 209: Compose animations
In this episode Chet, Romain and Tor chat with Doris Liu from the Compose team about animations in Compose -- covering everything from the basic primitives up to the recently added Shared Element Transitions. Chapters: Intro (00:00) Animation capabilities of Compose (1:06) Different types of animation specs (3:43) Layers of functionality, transitions (7:49) TargetBasedAnimation (9:48) Vectors & velocity of color change (12:43) Second layer parallel to animation spec (16:39) Animation interruptions (18:48) Motion layout problem-solving (20:19) Both scale and move in question (25:45) Different mental models for layout animation in Compose vs. View (26:20) Shared element (31:05) Are there things you wish more people were aware of? (34:19) What's the tooling story for this? (41:57) What is Look Ahead? (43:16) All software is regret (48:49) New API: Modifier.animateBounds (51:52) How to reach Doris – leave a comment (55:57) Motion Frame of Reference Placement (57:29) Wrap up (59:10) Links: Shared element tutorial → https://goo.gle/3XrGYp5 Shared element talk → https://goo.gle/47tm3qm A quick guide to compose animations → https://goo.gle/3Tm853p The API layers except the highest level APIs we chatted about in the podcast → https://goo.gle/3MGsiNE Doris: @doris4lt Romain: @romainguy, threads.net/@romainguy, romainguy@androiddev.social Tor: threads.net/@tor.norbye and tornorbye@androiddev.social Chet: @chethaase, threads.net/@chet.haase, and chethaase@androiddev.social Catch more Android Developers Backstage on YouTube → https://goo.gle/adb-podcast Subscribe to Android Developers YouTube → https://goo.gle/AndroidDevs
Episode 208: Micro optimizations
In this episode Tor and Romain find themselves without a guest and decide to chat about micro optimizations and writing custom tools. Tor and Romain Chapters: Intro (00:00) Micro optimizations (00:32) Kotlin explorer (3:25) Avoiding object allocations (6:49) Code Inefficiencies (8:10) Compilers (12:13) Understand assembly with AI (18:39) Layout opt (21:20) Programmers writing tools (21:52) char.isBlank (25:35) Lint checks (27:59) Companion objects (29:40) Java assertion mechanism (32:00) Hash maps (35:13) When to micro optimize and when not to (43:46) Benchmarking (47:26) New optimizations (48:46) Wrap up (50:46) Romain: @romainguy, threads.net/@romainguy, romainguy@androiddev.social Tor: threads.net/@tor.norbye and tornorbye@androiddev.social Catch videos on YouTube → https://goo.gle/adb-podcast Subscribe to Android Developers → https://goo.gle/AndroidDevs
Episode 207: AI development assistance
In this episode we talk with Kathy Korevec from the AIDA team at Google about AI assisted developer tools, such as Android Studio -- which is using Gemini AI models provided by AIDA. Romain, Kathy, and Tor Kathy: twitter.com/simpsoka Romain: @romainguy, threads.net/@romainguy, romainguy@androiddev.social Tor: threads.net/@tor.norbye and tornorbye@androiddev.social Check out → https://goo.gle/3wK4EM4 Catch videos on YouTube → https://goo.gle/adb-podcast Subscribe to Android Developers → https://goo.gle/AndroidDevs
Episode 206: Make it faster
In this episode we cover ADB -- not "Android Developers Backstage", but "Android Debug Bridge", the technology powering device connections. Romain and Tor talk with Fabien Sanglard from the Android Studio team on his work to improve the debug stack -- including the new USB speed detection feature recently unveiled at Google I/O. Chapters: Intro (00:00) You may know Fabien from… (00:50) Applying relevant knowledge to Android Studio (3:28) Communicating with remote devices and debugging (12:18) Accommodating a debugger (13:55) Fixed protocols and how to work around (16:10) What other versions of ADB do you use to get the suite faster? (19:27) Other ways to make the debugger faster (20:38) The differences between USB cables (21:51) How to find the right cable (30:17) ADB over wifi (32:41) How to detect which usb port is faster on your laptop? (34:46) Complexity of new cables (36:57) Install time of APK’s (37:41) New ways of helping full stack devs (45:44) Final thoughts (49:19) Viewer questions (57:54) Romain: @romainguy, threads.net/@romainguy, romainguy@androiddev.social Tor: threads.net/@tor.norbye and tornorbye@androiddev.social Fabien: @fabynou, Check out → https://goo.gle/3wK4EM4 Catch videos on YouTube → https://goo.gle/adb-podcast Subscribe to Android Developers → https://goo.gle/AndroidDevs
Episode 205: Time for Playtime
In this episode, Tor, Romain, and Chet talk with Aurash Mahbod from the Play Games team at Google -- covering trends in mobile games, challenges for Android games developers, console games, and more! Chapters: Intro (00:00) What’s Aurash working on currently? (02:40) How much is Play store providing users with content based on previous interests? (05:29) Longstanding games vs new games (08:34) Mobile gaming vs console (10:07) Are there stats on what type of games people are playing? (18:07) Difficulties and solutions for transitioning games from various devices (21:14) Movie corner - War Games (25:15) How does Play console help devs optimize engagement? (26:23) What is the breakdown of tools that devs actually use for games? (27:53) Reducing the backend costs for devs (30:18) Where does loyalty content surface? (34:28) Balancing add load (35:16) Cloud saves (38:18) Aurash’s history with Play store (42:18) Wrap up (42:58) Romain: @romainguy, threads.net/@romainguy, romainguy@androiddev.social Tor: threads.net/@tor.norbye and tornorbye@androiddev.social Chet: @chethaase, threads.net/@chet.haase, and chethaase@androiddev.social Aurash: https://twitter.com/aurash - @aurash Catch videos on YouTube → https://goo.gle/adb-podcast
Episode 204: Fan’otations
In this episode, Tor, Romain, and Chet talk about one of Tor’s favorite topics: Lint! Specifically, we talk about Lint checks and the annotations that use them to enable better, more robust, and more self-documenting APIs. Lint: It’s not just for pockets anymore. Chapters: Intro (00:00) Lint checks for annotations (01:50) Lint checks in Android (05:38) Logic checks (07:34) Color representations (10:01) How does lint know the type of integer? (14:40) Kotlin annotations (17:19) Unsigned (20:10) HalfFloat (22:25) Thread annotations (25:12) @CallSuper (28:18) LayoutOpt (30:26) Lint checks in AndroidX (32:00) Restrict to annotation (36:45) Writing your own custom Lint checks (39:51) Lint testing framework (43:26) Kotlin buildList Lint check example (45:25) @Discouraged (48:15) Wrap up (50:08) @Deprecated Chet (50:50) Romain: @romainguy, threads.net/@romainguy, romainguy@androiddev.social Tor: threads.net/@tor.norbye and tornorbye@androiddev.social Chet: @chethaase, threads.net/@chet.haase, and chethaase@androiddev.social Catch videos on YouTube → https://goo.gle/adb-podcast Subscribe to Android Developers → https://goo.gle/AndroidDevs
Episode 203: (W)rap
In this episode, Tor, Romain, and Chet talk about some of the many things that happened this year in the world of Android development, including new devices and form factors, tool improvements, AndroidX features and libraries, and Jetpack Compose releases. And any tech podcast would be remiss without mentioning AI/ML, so we talk about that too. Tor, Romain and Chet Chapters: Intro (00:00) Google engineers vs Android (00:57) Big changes of 2023 intro (3:03) AI (3:38) Programming with AI (5:08) Writing with AI (8:52) New devices from Android - Pixel fold (12:31) Pixel watch (18:50) Bard (19:37) Changes in device release times (20:23) Major changes in devices vs incremental updates (21:42) Camera (22:40) Platform developments - mainline modules (24:03) More testing for Android (25:12) Flaky tests (26:55) Jetpack compose features (32:32) RTO (38:00) Shapes library and KMP (42:42) Final thoughts on big events of 2023 (45:03) Studio build improvements (46:43) Baseline profiles (49:21) Listener mail (50:45) Where has Chet been? (52:46) Metalava question (55:46) Wrap up wrap up (57:00) Romain: @romainguy, threads.net/@romainguy, romainguy@androiddev.social Tor: threads.net/@tor.norbye and tornorbye@androiddev.social Chet: @chethaase, threads.net/@chet.haase, and chethaase@androiddev.social Catch videos on YouTube → https://goo.gle/adb-podcast Subscribe to Android Developers → https://goo.gle/AndroidDevs
Episode 202: AndroidX, Gradle and Metalava
In this episode, Tor and Romain chat with Aurimas Liutikas from the AndroidX team. Topics include performance tuning the AndroidX Gradle builds using configuration caching, local caching and remote caching, as well as tracking API compatibility using the Metalava tool. Aurimas, Romain and Tor Romain: @romainguy, threads.net/@romainguy, romainguy@androiddev.social Tor: threads.net/@tor.norbye and tornorbye@androiddev.social Aurimas: androiddev.social/@Aurimas and www.liutikas.net/blog-posts Catch videos on YouTube → https://goo.gle/adb-podcast Subscribe to Android Developers → https://goo.gle/AndroidDevs
Episode 201: Firebase in Android Studio
In this episode, Tor and Romain chat with Greg Baker and Joe Baker-Malone about exciting new Android Studio features made possible by Firebase integration. Physical device streaming allows you to connect remotely to physical devices hosted in Google’s secure data centers and use them for all your development needs. We also explore other time saving features like the ability to go from a crash report directly to the correct line of code, even across git branches. Tor, Romain, Joe, Greg Links: Android Device Streaming from Android Studio feedback form App Quality Insights and Firebase Crashlytics Romain: @romainguy, romainguy@threads, romainguy@androiddev.social Tor: tor.norbye@threads and tornorbye@androiddev.social Greg: @bakergo@fosstodon.org
Episode 200: WebGPU
In this episode, Chet and Romain speak with Ken Russell and Corentin Wallez from the WebGPU team. WebGPU is a new API that brings modern GPU rendering and compute functionality to web and other platforms (including Android!). We talk about the genesis and capabilities of WebGPU, WGSL (WebGPU’s new shading language), the state of WebGL (the predecessor API for web GPU rendering), and lots of other fun related graphics topics. Ken, Romain, and Chet (not pictured: Corentin, who is on the monitor behind the photographer) Links: Samples (and its github repo) Google I/O Codelab Google I/O presentation Introducing WebGPU (and associated blog post) Series of articles teaching WebGPU and WGSL Series of articles of WebGPU Best Practices Draft specs for WebGPU and WGSL Dawn from Google/Chromium wgpu from Firefox Romain: @romainguy, romainguy@threads, romainguy@androiddev.social Tor: tor.norbye@threads and tornorbye@androiddev.social Chet: @chethaase, chet.haase@threads, and chethaase@androiddev.social Ken: @gfxprogrammerCorentin: @DaKangz and @DaKangz@mastodon.gamedev.place Catch more from ADB → https://goo.gle/adb-podcast Subscribe to Android Developers YouTube → https://goo.gle/AndroidDevs
Episode 199: Compose performance
This time, Romain, Tor, and Chet talk with Leland Richardson, George Mount, and Chuck Jazdzewski from the Jetpack Compose team about performance. The team has been looking at performance issues recently and discusses what they’ve found, what gotchas lie in wait for library developers, what tools and compilers can magically handle for you... and what they can’t. Tune in to learn about why we worry about autoboxing (and why you probably shouldn’t). Foreground: Romain, Tor, George, and Chuck Background (on the monitor): Chet, Leland, and Cody (audio engineer/producer), plus another view of the Studio with Romain, Tor, George and Chuck again, for your recursive pleasure. Links: Jetpack Compose Android Studio Memory Profiler Macrobenchmark Baseline profiles Kotlin bytecode decompilation Romain: @romainguy and romainguy@androiddev.social Tor: tor.norbye@threads and tornorbye@androiddev.social Chet: @chethaase and chethaase@androiddev.social Leland: @intelligibabble George: @georgemount1 Chuck: @chuckjaz Catch ADB on YouTube → https://goo.gle/adb-podcast Subscribe to Android Developers → https://goo.gle/AndroidDevs
Episode 198: Location location location, revisited
Since our original episode on location nearly nine years ago, a lot has happened in the location support for Android. In this episode, Wyatt Riley and Roy Want answer all of Tor's questions about how it works and cover recent developments like indoor location, elevation, and some tips for developers. Wyatt, Roy and Tor. Links: Getting started guide Precise indoor location Wi-Fi Alliance(WFA) : Wi-Fi Location(TM) demonstrated at a recent WFA member event Android Developer resources for Wi-Fi RTT (IEEE 802.11mc) Location Google Play Store has three apps that demonstrate Wi-Fi RTT (IEEE 802.11mc) capabilities for devices with 11mc support. WifitRttLocator (phone positioning in a building with 11mc capable Access Points) WifiRttScan (Phone to Access Point ranging) WifiNanScan (Phone to phone ranging) Catch ADB on YouTube→ https://goo.gle/adb-podcast Subscribe to Android Developers → https://goo.gle/AndroidDevs
Episode 197: Studio Bot
You saw it at Google I/O - now you can hear about it in the comfort of your own headphones! Tor, Romain, and Chet talk with Siva Velusamy and Sandhya Mohan from the Android Studio team about the just-launched Studio Bot. This new AI-powered assistant enables conversational queries in the IDE to help with coding, commenting, confusion, or if you just need a friend. Chet, Tor, Romain, Sandhy, and Siva in the Sunnyvale studio Studio Bot: https://goo.gle/3BBEKZI Subscribe to Android Developers YouTube → https://goo.gle/AndroidDevs