Nick Butcher
nickbutcher.bsky.social
Nick Butcher
@nickbutcher.bsky.social
Jetpack Compose Product Manager @ Google
Reposted by Nick Butcher
One of the questions I get asked most about Navigation 3 is "how can I create multiple back stacks?". Now there's a recipe for that: github.com/android/nav3...
nav3-recipes/app/src/main/java/com/example/nav3recipes/multiplestacks at main · android/nav3-recipes
Implement common use cases with Jetpack Navigation 3 - android/nav3-recipes
github.com
November 11, 2025 at 8:10 AM
Reposted by Nick Butcher
If using Gemini in Android Studio is not your cup of tea, you can now use whatever model you want via API key! Now available in latest canaries developer.android.com/studio/gemin...
October 30, 2025 at 6:13 PM
Reposted by Nick Butcher
My talk on Navigation 3 from #dcldn25 is live (very impressive publishing from the droidcon team!). www.youtube.com/watch?v=j1Oi...
Navigating the future with Jetpack Navigation 3 - Don Turner | droidcon London 2025
YouTube video by droidcon & fluttercon
www.youtube.com
November 1, 2025 at 10:19 AM
Reposted by Nick Butcher
✨ New and improved Agent features for Compose now in Canary! 🦦

Generate & transform composables with imgs and text, generate Previews, improve code quality... I can't fit it all🙃

Get the latest Canary & the release notes, submit issues, have fun! 😊

developer.android.com/studio/previ...
Release notes for Android Studio preview  |  Android Developers
Discover new features and changes in Android Studio preview.
developer.android.com
October 1, 2025 at 11:23 AM
Last week I had to upgrade the firmware on my bike's gears and today I have to factory reset my sunglasses. What a time to be alive!
July 4, 2025 at 8:19 AM
Reposted by Nick Butcher
Compose 1.9 just hit beta01 & another exciting feature landing is a way to reliably determine if something is visible on screen & a way to get notified of visibility changes 📣

💅 New modifiers are entering the chat in this space: Modifier.onFirstVisible() & Modifier.onVisibilityChanged().
June 24, 2025 at 9:22 AM
Reposted by Nick Butcher
Playing around with the UI for fun. Designing such micro-interactions and animations is a breeze thanks to Compose.

P.S. If you didn't catch it, a full vinyl rotation takes exactly 1800ms. That's 33 RPM 🎶💿
June 20, 2025 at 9:09 AM
Reposted by Nick Butcher
I'm excited to be speaking at #DroidconNYC next Thursday, hope to see you there!

I'll be covering how to handle configuration changes in Compose, and specifically trying to answer the question of what you should put in android:configChanges and - probably more importantly - why.

#AndroidDev
June 20, 2025 at 10:45 PM
Reposted by Nick Butcher
You've asked for this... and now Compose 1.9 alpha introduces two new modifiers 👀 Modifier.innerShadow() and Modifier.dropShadow()

Allowing you to more closely align your designs to your Figma specs, unlocking fun effects like Neumorphic type UIs 😍

github.com/riggaroo/com...
June 17, 2025 at 8:39 AM
Reposted by Nick Butcher
🥳 Excited to share our latest blog post on Material 3 Expressive Motion Theming!

🤿 Dive into how the new physics-based system brings interactions and transitions to life.

Read it here: m3.material.io/blog/m3-expr...

#AndroidDev
May 22, 2025 at 11:19 PM
Reposted by Nick Butcher
Our #IO25 talk on how to build more accessible apps with Compose is out! 🥳 Lots of tips on choosing appropriate semantics, merging, clearing & hiding, inspection & debug, accessibility checks in tests 🫶

Check it out ☺️
www.youtube.com/watch?v=80qk...
Build more accessible UIs with Jetpack Compose
YouTube video by Android Developers
www.youtube.com
May 23, 2025 at 8:46 AM
youtu.be/ubyPjBesW-8

Should help you to update to `compose-bom:2025.05.01`!
Agentic Experiences: Version Upgrade Agent
YouTube video by Android Developers
youtu.be
May 21, 2025 at 1:28 PM
Reposted by Nick Butcher
Scenes!

If there's only one concept to call out for Navigation 3, it's scenes. The abstraction layer allows showing multiple panes at a time, and in different ways.

It's the integration hook that integrates Navigation3 with ListDetailPaneScaffold in a flexible, satisfying way.
May 21, 2025 at 6:07 AM
Reposted by Nick Butcher
✨🎬 New video on creating delightful path animations in #JetpackCompose

youtu.be/20b_bshZo84
#AndroidDev #Kotlin #ComposeMultiplatform
May 19, 2025 at 6:31 PM
👀 Jetpack Compose updates from #googleio

What are you excited about using? What do you want us to add to Compose?

android-developers.googleblog.com/2025/05/what...
What's New in Jetpack Compose
Explore the latest performance improvements, input support, adaptive layouts, updated libraries and more for Jetpack Compose at Google I/O 2025.
android-developers.googleblog.com
May 21, 2025 at 7:47 AM
Reposted by Nick Butcher
Today, we've released a brand new Jetpack library - Navigation3! A pure Compose, state based navigation library: android-developers.googleblog.com/2025/05/anno...
Announcing Jetpack Navigation 3
Explore Jetpack Navigation 3, a new Compose-first navigation library with increased flexibility so Android developers to build robust experiences.
android-developers.googleblog.com
May 20, 2025 at 6:05 PM
Reposted by Nick Butcher
For the first time I'm officially a part of Google IO. Listen to us talk about text input in Compose and how it's changing. I promise you will learn something new :)

io.google/2025/explore...
Google I/O 2025: Mastering text input in Compose
Don’t miss Google I/O, featuring product launches, innovations, and insights. Tune in for the live keynotes and sessions.
io.google
May 4, 2025 at 6:28 PM
Reposted by Nick Butcher
Hyped to be speaking at #IO25 on how to build more accessible apps with #JetpackCompose 🎉 : classifying components, choosing appropriate semantics, merging and clearing wisely, traversal, inspection & debug tips, accessibility checks in tests & more! 🚀

See ya in May: io.google/2025/explore... 🤩
Google I/O 2025: Build more accessible UIs with Jetpack Compose
Don’t miss Google I/O, featuring product launches, innovations, and insights. Tune in for the live keynotes and sessions.
io.google
May 4, 2025 at 3:18 PM
Reposted by Nick Butcher
I'm proud of Gradle Best Practices finally launching. It was a result of many hours of discussions, negotiations, and wordsmithing to bring you the first batch of best practices. It was a deep collaboration between Google, Jetbrains, and Gradle. Enjoy it!

blog.gradle.org/gradle-best-...
#gradle
Gradle Best Practices - A Path to Build Happiness
Gradle Build Tool, also known as Gradle, is a highly flexible and extensible build system. It supports multiple ways to structure and configure builds, making it incredibly powerful—but also somewhat ...
blog.gradle.org
May 1, 2025 at 7:35 PM
Reposted by Nick Butcher
A small but extremely useful foundational API added in #JetpackCompose 1.8: LocalWindowInfo.current.containerSize

It's the best way to get the size of the window, which should form the basis for any breakpoint logic for top-level layouts like window size classes.

#AndroidDev
April 28, 2025 at 4:02 AM
15 years at Google on Saturday! Grateful to everyone that I've worked with and learned from and still love working for the #AndroidDev community 💚
April 28, 2025 at 9:23 AM
Reposted by Nick Butcher
🚀 Big news for Android devs using Jetpack Compose! Media3 just dropped version 1.6.0, and it includes a brand new artifact: media3-ui-compose! Finally, seamless and customizable video playback directly in your Compose apps. 🎬 #AndroidDev #JetpackCompose #Media3
March 27, 2025 at 5:13 PM
Reposted by Nick Butcher
Super pumped to share our journey with Bump by amo on the official Android Developers blog! Dive into how we crafted delightful experiences using Kotlin, Compose, Media3 and Play Services.

medium.com/androiddevel...
Bump’s Journey into Delightful Experiences on Android with Jetpack Compose
Bump leverages Jetpack Compose on Android, delivering meaningful touch-based feedback through graphics, haptics, and sound.
medium.com
March 13, 2025 at 7:08 AM
Reposted by Nick Butcher
Inspired by this article, I built a small tool in Compose Desktop to more easily iterate through building fancy mesh gradients from @sinasamaki.com's Modifier recipe! Code is here github.com/c5inco/Mesh with the code export assuming you are using the same Modifier recipe
February 27, 2025 at 10:43 PM
Reposted by Nick Butcher
✨ New article out now!
Learn how to animate mesh gradients in #JetpackCompose

www.sinasamaki.com/mesh-gradients-in-jetpack-compose/
February 7, 2025 at 7:01 PM