Profile avatar
romainguy.dev
Engineering Director, Android Toolkit team at Google, Filament, Photography (https://curious-creature.com), Blog (https://romainguy.dev).
208 posts 2,730 followers 179 following
Regular Contributor
Active Commenter

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

First light www.curious-creature.com/posts/2025/f...

Alone www.curious-creature.com/posts/2025/a...

Quiet Night II www.curious-creature.com/posts/2025/q...

I'm excited about photography again. Let's hope it sticks for a while this time!

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...

Fall Sunset — La Sal Mountains, Utah www.curious-creature.com/posts/2025/f...

The Android UI & Jetpack Compose team is building a new team in Bengaluru! Join us in building exciting new APIs for Jetpack Compose as well as the other UI libraries and help us expand to Bengaluru. EM: goo.gle/4gt9dMl SWE: goo.gle/4dQb9w7 PM: goo.gle/compose-pm-in DevRel: goo.gle/3DE8B7T

Our new ADB podcast episode covers the ten year anniversary of Android Studio, where @ducrohet.bsky.social and Jamal Eason joined us to look back at the early decisions and highlights over the years: www.youtube.com/watch?v=IhP4... (J had to leave early so missed the thumbnail photo at the end)

✨ First video out now! Learn how to create delightful mesh gradients in #JetpackCompose Works on Android and #KotlinMultiplatform If you like the video, you can check out the code that made it, fully open source on GitHub (aka tell me how bad my code is, 😅). youtu.be/C7iq8m2dQOo

Android 16 will have some big changes around restricting orientation and aspect ratio by respecting the user's preferred orientation in more cases. Apps can no longer rely on assuming they have a specific aspect ratio to render in. For more details: android-developers.googleblog.com/2025/01/orie...

The whirlpool galaxy and its companion dwarf galaxy. They are ~24M light-years away. Tidal plumes from their interactions can be seen around them. This was taken from my backyard in the Bay Area with 1,334 images in HaLRGB totaling just under 56Hrs. Full res: astrob.in/bzijt8/0/ #astrophotography

The elephant trunk nebula in the Cepheus constellation. Located ~2,400 light-years from Earth, it is a region of star formation with young stars (<100,000 years old). Taken from my backyard in the Bay Area, composed of 73 20-minute exposures, totaling ~24Hrs #astrophotography

The North American Nebula (left on its side) and the Pelican Nebula (right) These are located ~2,500 lightyears from Earth. The field of view is about the size of 3 moons. Taken from my backyard in the Bay Area. This is a combination from 948 exposures for a total of 74.5Hrs. #astrophotography

I'm always ambivalent about Kotlin's explicit type conversions. On one hand, it's nice to avoid subtle bugs, on the other hand, having to write the following is annoying: fun foo(a: Short) = a != 0.toShort() or fun foo(a: Short) = a.toInt() != 0