Nick Butcher
nickbutcher.bsky.social
Nick Butcher
@nickbutcher.bsky.social
990 followers 120 following 16 posts
Jetpack Compose Product Manager @ Google
Posts Media Videos Starter Packs
Also the remote MCP server support is very cool e.g. accessing a Figma design and converting it into Compose code

developer.android.com/studio/previ...
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
Then keep using it! The `icons-extended` artifact continues to work, it just won't be receiving any further updates (like the underlying 'Material Icon' set which has been replaced by 'Material Symbols')
Not an ebike but the gears are electronic. Generally I love them as they change perfectly every time, even under load. But having something else to charge and maintain can be a pain.

www.sram.com/en/sram/road...
Be sure to complete your smart waiver ahead of time!
waiver.smartwaiver.com
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!
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().
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 🎶💿
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
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...
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
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
@tornorbye.bsky.social “… and that's why we have coffee” 😂
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.
Bravo, excellent work 👏
Reposted by Nick Butcher
We work closely with the Compose Multiplatform team, what would you like to see change?
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
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
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
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
I celebrated by running a long way.