Sign in

Ben Trengrove

@bentrengrove.dev
359 followers 118 following 54 posts

Android Developer Relations - Compose

PostsRepliesMedia
Reposted by Ben Trengrove
Nick Butcher @nickbutcher.bsky.social · 19/05/2026
Going live soon! 🔴 www.youtube.com/live/sig3n7X...
youtube.com
What's new in Android
YouTube video by Google for Developers
162
Reposted by Ben Trengrove
Nick Butcher @nickbutcher.bsky.social · 19/05/2026
Android is now Compose First, we recommend you build all Android UI with Compose and `android.widget` is now in maintenance mode. #GoogleIO #AndroidDev android-developers.googleblog.com/2026/05/andr...
android-developers.googleblog.com
Android UI Development is Compose First
News and insights on the Android platform, developer tools, and events.
0359
Ben Trengrove @bentrengrove.dev · 16/04/2026
Android CLI is out! 🎉 Easy access to Android documentation and skills, in whatever agent you use. Plus we've made the initial environment set-up and project creation much more token efficient. What features would you like to see next? android-developers.googleblog.com/2026/04/buil...
android-developers.googleblog.com
Android CLI: Build Android apps 3x faster using any agent
News and insights on the Android platform, developer tools, and events.
090
Reposted by Ben Trengrove
Andrei Shikov @shikasd.bsky.social · 27/03/2026
In the next version of AGP - R8 makes coroutines 2x faster
15614
Reposted by Ben Trengrove
Chris Horner @chris-horner.bsky.social · 19/03/2026
Starting to look around for what's next. A bit of info on me and what I'm looking for chrishorner.codes/hire/
chrishorner.codes
Hire Me
About me and what I’m looking for.
082
Ben Trengrove @bentrengrove.dev · 13/03/2026
Unexpected benefit of vibe coding I've never been able to listen to music while coding, but now I can, because all I do is click allow over and over again
media.tenor.com
a pixelated image of a person 's face against a black background
Alt: Vibe cat
150
Reposted by Ben Trengrove
Andrei Shikov @shikasd.bsky.social · 15/12/2025
Here's the new page about the new stack traces in Compose, in case you were wondering how it all is supposed to work: developer.android.com/develop/ui/c...
developer.android.com
Stack traces in Compose  |  Jetpack Compose  |  Android Developers
1102
Ben Trengrove @bentrengrove.dev · 08/12/2025
Something like this is just overhead because the original state is still used. val visible by remember { derivedStateOf { foo > 0 } } Text(foo, Modifier.graphicsLayer { alpha = if (visible) 1f else 0f } )
081
Ben Trengrove @bentrengrove.dev · 08/12/2025
A common small mistake I see is correctly using derivedStateOf but still referencing the same state you used in the derived state elsewhere in the recomposition scope.
230
Reposted by Ben Trengrove
Andrei Shikov @shikasd.bsky.social · 04/12/2025
This release also adds support for Compose stack traces that work with minified apps! (requires R8 and Kotlin 2.3.0+)
1225
Reposted by Ben Trengrove
Ian Lake @ianlake.bsky.social · 19/11/2025
Jetpack Navigation 3 is stable! 🎉🎉🎉 Leaning into Jetpack Compose and the idea of combining smaller building blocks together really helped make Nav3 a much more flexible library that made it a joy to work on and hopefully for you to use as well! android-developers.googleblog.com/2025/11/jetp...
android-developers.googleblog.com
Jetpack Navigation 3 is stable
News and insights on the Android platform, developer tools, and events.
36226
Reposted by Ben Trengrove
Ben Weiss @keyboardsurfer.dev · 18/11/2025
So you enabled R8. Now is a good time to catch up on Keep Rules. @ajeshr.bsky.social talks you through configuration and troubleshooting. www.youtube.com/watch?v=A0I6...
youtube.com
How to debug and troubleshoot R8 optimizer | Spotlight Week
YouTube video by Android Developers
052
Reposted by Ben Trengrove
Tor Norbye @tornorbye.bsky.social · 18/11/2025
Try Gemini 3 in Android Studio! android-developers.googleblog.com/2025/11/gemi...
android-developers.googleblog.com
Gemini 3 is now available for AI assistance in Android Studio
News and insights on the Android platform, developer tools, and events.
1114
Reposted by Ben Trengrove
Don Turner @donaldturner.bsky.social · 01/11/2025
My talk on Navigation 3 from #dcldn25 is live (very impressive publishing from the droidcon team!). www.youtube.com/watch?v=j1Oi...
youtube.com
Navigating the future with Jetpack Navigation 3 - Don Turner | droidcon London 2025
YouTube video by droidcon & fluttercon
02713
Reposted by Ben Trengrove
Tomáš Mlynarič @mlykotom.dev · 31/10/2025
🆕Yesterday we published updates on #KMP on d.android.com/kmp! We finally have the Jetpack libraries that are compatible with KMP .. and CMP! Want to get into KMP? We have a course goo.gle/kmp-course. Pros can check their skills in the quiz at the end 😁.
d.android.com
Kotlin Multiplatform  |  Android Developers
0194
Reposted by Ben Trengrove
Chris Sinco @csinco.com · 30/10/2025
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...
3216
Reposted by Ben Trengrove
Aurimas Liutikas @liutikas.net · 10/10/2025
Would you like to work on Compose at Google (Mountain View CA office)? Apply here and let's work together www.google.com/about/career...
google.com
Senior Software Engineer, Jetpack Compose — Google Careers
01713
Reposted by Ben Trengrove
Rebecca Franks @riggaroo.dev · 03/09/2025
We launched the Androidify app on Google Play! Download it now, and create your very own custom Android bot ❤️ I've had loads of fun creating and testing the app - now you can too! play.google.com/store/apps/d... #Androidify
1176
Ben Trengrove @bentrengrove.dev · 31/08/2025
Thanks for the comments! Glad you like it! @mlykotom.dev wrote this
130
Ben Trengrove @bentrengrove.dev · 13/08/2025
This Compose release is stacked! There is something for everyone in here 🎁 android-developers.googleblog.com/2025/08/what...
android-developers.googleblog.com
What’s new in the Jetpack Compose August ’25 release
The Jetpack Compose 1.9 release introduces features like advanced shadow modifiers, new visibility modifiers, and enhanced rich styling capabilities.
0131
Reposted by Ben Trengrove
Tomáš Mlynarič @mlykotom.dev · 08/08/2025
Documentation 📃 for Room KMP just got upgraded. It finally contains all the information on how to set it up, how to migrate from Android-only and even what features are (unfortunately) not available in KMP. Give it a go! 🟢 d.android.com/kotlin/multi...
developer.android.com
Room (Kotlin Multiplatform)  |  Android Developers
081
Reposted by Ben Trengrove
Chuck Jazdzewski @chuckjaz.bsky.social · 21/07/2025
Shreyas Patil wrote a nice article about Pausable Composition! We have been working on designs for this feature for quite a while until Leland asked "Why don't we just skip?". Ben Tengrove did a prototype to prove it would work and voila a feature is born. blog.shreyaspatil.dev/exploring-pa...
blog.shreyaspatil.dev
Exploring PausableComposition internals in Jetpack Compose
Explore the internals of the `PausableComposition` API in Jetpack Compose to improve UI performance by pre-composing elements during idle time in Android
072
Reposted by Ben Trengrove
seb @sebastiano.dev · 16/07/2025
If you do, I would recommend using your own Gemini key to get a larger context (1m tokens) developer.android.com/studio/previ... And yes, there is a rather generous free tier for the Gemini APIs, too ai.google.dev/gemini-api/d...
developer.android.com
Agent mode  |  Android Studio  |  Android Developers
Learn about AI-assisted coding features powered by Gemini.
093
Ben Trengrove @bentrengrove.dev · 01/06/2025
We call them bin chickens 😂
040
Reposted by Ben Trengrove
Márton Braun @zsmb.co · 28/05/2025
I was barely online during KotlinConf 2025, so here's my follow-up now. Thank you so much everyone who joined us, in person or online. It was an incredible experience connecting with the community! ❤️ Here are some highlights of news below, as you've probably missed some! 🧵
2255
Reposted by Ben Trengrove
Tomáš Mlynarič @mlykotom.dev · 23/05/2025
If you're new to #KMP we have 2 new codelabs: 1️⃣ Get started - goo.gle/kmp-get-started-codelab 2️⃣ Migrate Room - goo.gle/kmp-migrate-room-codelab Try it out, let us know what you miss! 🤖🍏 Thanks to everyone that attended the code-along at #KotlinConf 😊
goo.gle
Get Started With Kotlin Multiplatform  |  Android Developers
Learn how to get started with Kotlin Multiplatform from two separate Android and iOS projects. In this codelab you will learn how to add a Kotlin Multiplatform (KMP) module to share code between Andro...
0207
Ben Trengrove @bentrengrove.dev · 23/05/2025
There are a lot of amazing KMP talks coming out right now but here is our talk from I/O! Dustin and I give an update on our latest KMP releases and then explain the build setup for an Android KMP app. youtu.be/gP5Y-ct6QXI?...
youtu.be
Demystify KMP builds and structure
YouTube video by Android Developers
0299
Reposted by Ben Trengrove
Ben Weiss @keyboardsurfer.dev · 21/05/2025
Tomorrow we will show how to measure and improve app performance at #GoogleIO. Make sure to join in.
0122
Reposted by Ben Trengrove
Ian Lake @ianlake.bsky.social · 20/05/2025
Today, we've released a brand new Jetpack library - Navigation3! A pure Compose, state based navigation library: android-developers.googleblog.com/2025/05/anno...
android-developers.googleblog.com
Announcing Jetpack Navigation 3
Explore Jetpack Navigation 3, a new Compose-first navigation library with increased flexibility so Android developers to build robust experiences.
69129
Reposted by Ben Trengrove
Rebecca Franks @riggaroo.dev · 20/05/2025
#io25 is a go! Excited to be here for the first time as a Googler! Find me at the Androidify booth for most of today 👀
0202
Reposted by Ben Trengrove
Aurimas Liutikas @liutikas.net · 18/05/2025
I am looking forward to KotlinConf 2025. I hope to see you there. Do drop by for the talk by @alanv and I on "APIs: How Hard Can They Be?" #kotlinconf
0231
Reposted by Ben Trengrove
Ben Weiss @keyboardsurfer.dev · 15/05/2025
Don't use Gson on Android. Use Kotlin Serialization instead. It relies on code generation instead of reflection. This helps avoid optimization related crashes and faster app performance. github.com/google/gson?... github.com/Kotlin/kotli...
2424
Ben Trengrove @bentrengrove.dev · 13/05/2025
But in general yes, it's a challenge for any xplat framework
100
Ben Trengrove @bentrengrove.dev · 13/05/2025
The superpower is, if your company is big enough your iOS Devs barely need to know. Analytics or whatever other framework team can package it up so it just looks like any other iOS framework and now they are shipping to multiple platforms with one team
110
Ben Trengrove @bentrengrove.dev · 26/04/2025
This was an amazing post. Thank you for taking the time to write it
140
Ben Trengrove @bentrengrove.dev · 14/04/2025
Very generic but leads from the front by example, doesn't just yell from the back. Tries to remove roadblocks before the team hits them rather than placing them in the path
130
Reposted by Ben Trengrove
Jolanda Verhoef @lojanda.bsky.social · 27/03/2025
🚀 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
24918
Ben Trengrove @bentrengrove.dev · 01/03/2025
Then the lazy list calls equals on the 3 visible items. If your list was stable, you'd call equals on each item and pay it for a couple of hundred times. Then the lazy list still calls equals again for the 3 visible items. Tldr, stable lists aren't always faster even if they avoid recomposition
080
Ben Trengrove @bentrengrove.dev · 01/03/2025
So the idea is with strong skipping, === is an extremely fast check. Imagine you have a lazy list and an array with a couple of hundred items, 3 on screen. Depending on the cost of equals, it's faster to let that higher level recomposition happen with ===.
171
Reposted by Ben Trengrove
P-Y @p-y.wtf · 25/02/2025
If you're running Macrobenchmark tests to compute interaction latencies, you should check whether the distribution of results is a normal distribution. If it's not normal, compare outlier traces with traces that are close to the median and you will find systemic perf issues! Thread 🧵 #AndroidDev
latency data in red, normal distribution from its parameters in green. A red arrow points to an outlier
25211
Ben Trengrove @bentrengrove.dev · 23/02/2025
Best of luck!
010
Reposted by Ben Trengrove
Jorge Castillo @jorgecastillo.dev · 22/02/2025
LocalActivity CompositionLocal made the cut in androidx.activity👏👏 developer.android.com/jetpack/andr...
1171
Reposted by Ben Trengrove
Saket Narayan @saket.me · 16/02/2025
Okay, I'm never building a calculator app. chadnauseam.com/coding/rando...
chadnauseam.com
calculator-app - Chad Nauseam Home
"A calculator app? Anyone could make that." (this was originally a https://x.com/ChadNauseam/status/1890889465322786878) Not true. A calculator should show you the result of the mathematical expressi…
03811
Ben Trengrove @bentrengrove.dev · 13/02/2025
Yeah that's fair, pure curiosity to see the effect
000
Ben Trengrove @bentrengrove.dev · 13/02/2025
I'm curious how much the size of the list changes the comparison? Might be interesting to plot it and see if it crosses over
220
Reposted by Ben Trengrove
Rahul Ravikumar @rahulrav.com · 04/02/2025
Been working on a new experimental Kotlin Multiplatform Tracing library capable of emitting Perfetto compatible traces. Currently supporting Android and JVM with the goal of eventually supporting other platforms. Here is the README if you want to try it out. github.com/androidx/and...
github.com
2438
Ben Trengrove @bentrengrove.dev · 01/02/2025
Yeah I really like it as well! I should try tailwind, I've been using Pico.
120
Ben Trengrove @bentrengrove.dev · 01/02/2025
That makes sense. I just kept seeing people say they barely write code anymore, just prompt, and I was like "wow! I have to try this out!"
310
Ben Trengrove @bentrengrove.dev · 01/02/2025
I keep seeing people talking about Cursor and how amazing it is. I tried it out on a SvelteKit app and most of the code it generates is completely wrong and not helpful. Is this a free trial issue and paid models are better? Any suggestions? It is using claude3.5-sonnet
530