Advertisement · 728 × 90

Posts by Richard Schattauer

Recently I drove my daughter up a snowy mountain when the tires started spinning. Had to show zero fear so she stays calm. Turns out that's the same job leading a team through the AI shift.

6 days ago 0 0 0 0
Preview
An update on Android KTX – Jake Wharton

It is sadly true - androidx ktx libraries have been killed today and it is all Jake Wharton's doing.

Details here:
jakewharton.com/an-update-on...

#androidx #androiddev

1 week ago 31 5 2 0
Post image

Claude Code’s source code leaked last night.

Given the speed and sheer volume of forks and spin-offs already popping up, agentic harnesses are about to surge really hard.

It’s crazy out there and I actually love to see it 😈

github.com/chatgptproje...

1 week ago 2 1 2 0

Set up KMP next to your project, implement new things there, use KMP within your android project and slowly migrate things over one by one.

2 weeks ago 3 0 0 0

Amazing addition! ♥️ 🦢

Just getting this warning here now and with warningsAsError=true this fails:
> Task :module:compileDebugKotlin FAILED
w: generateFunctionKeyMetaClasses is deprecated. It was replaced by emitting annotations on functions instead. Use generateFunctionKeyMetaAnnotations instead.

3 weeks ago 1 0 0 0
Video

Compose Hot..Swan is finally here! 🦢

Compose HotSwan enables Compose Hot Reload in real Android devices, instant UI updates on your running Android app, with state preserved. No rebuilds, no relaunching, no navigating back to the same screen again.

hotswan.dev

3 weeks ago 13 5 3 1
A screenshot of code that reads:

// Create a Recomposition Tracking Rule
@get:Rule
val composeTestRule = createRecompositionTrackingRule()

@Test
fun incrementCounter_onlyValueRecomposes() {
  // Perform an action
  composeTestRule.onNodeWithTag("inc_button")
    .performClick()

  // Assert that Composables change like you expect
  composeTestRule.onNodeWithTag("counter_value")
    .assertRecompositions(exactly = 1)

  // Or assert that they remain stable
  composeTestRule.onNodeWithTag("counter_title")
    .assertStable() // asserts recompositions = 0
}

A screenshot of code that reads: // Create a Recomposition Tracking Rule @get:Rule val composeTestRule = createRecompositionTrackingRule() @Test fun incrementCounter_onlyValueRecomposes() { // Perform an action composeTestRule.onNodeWithTag("inc_button") .performClick() // Assert that Composables change like you expect composeTestRule.onNodeWithTag("counter_value") .assertRecompositions(exactly = 1) // Or assert that they remain stable composeTestRule.onNodeWithTag("counter_title") .assertStable() // asserts recompositions = 0 }

Today I’m open-sourcing Dejavu!

Testing UI performance in Jetpack Compose is frustrating. We profile and watch tools, yet regressions still creep in.

I built Dejavu to make recomposition behavior something you can actually test.

1 month ago 40 11 7 0
Post image

Junie CLI, the LLM-agnostic coding agent, is now in Beta!
Junie will follow you wherever you’re working: in the terminal, your IDE, or CI/CD workflows.

With BYOK pricing, real-time prompting, and next-task prediction, Junie is ready for you to try. https://jb.gg/ecer6x

1 month ago 14 3 1 0

There is one place where an AI-related layoff might be justified. Working with AI requires skills that some developers seem unwilling or unable to acquire. Coding alone, no matter how good you are, is no longer sufficient. You need to understand systems thinking and software architecture.
9/11

1 month ago 51 12 3 1
Advertisement

What happens to Square / Block Android OSS projects post layoffs?

Let's start with some context

OSS at Square is mostly a happy accident. Jack hired Bob, who's job was attracking world class engineers, and he did that through talks & OSS.

1 month ago 82 25 2 1

I think the amount of RAM will be the most important part. How many things can you run in parallel will be the next big question.

1 month ago 0 0 0 0
Preview
Google API Keys Weren't Secrets. But then Gemini Changed the Rules. ◆ Truffle Security Co. Google spent over a decade telling developers that Google API keys (like those used in Maps, Firebase, etc.) are not secrets. But that's no longer true.

trufflesecurity.com/blog/google-...

1 month ago 0 0 0 0
Video

Your builds and remixes have brought us to the finish line. 🏁

Because of your collective effort, the #GoogleIO dates are unlocked. Join us May 19-20, 2026. 🗓️

Register today → goo.gle/io2026reg-6

1 month ago 18 4 0 2
Preview
Koin Powered by Kotlin Compiler The next evolution of Kotlin dependency injection — powered by the Kotlin Compiler. Same simplicity, more power.

Koin now has a native Kotlin Compiler Plugin ✨

- Compile-time auto-wiring
- DSL + Annotations
- KMP & Compose Multiplatform ready
- No KSP needed

Same simplicity, compile-time power.

#Kotlin #Koin #AndroidDev

2 months ago 20 6 2 0

DM me :)

2 months ago 1 0 0 0
Post image Post image

How it started / How it's going

2 months ago 2 1 0 1
Video

👀 Want to see a preview of what's coming up in #JetpackCompose?

We heard you that debugging shared elements is tricky. In 1.11.0-alpha03, a new composable LookaheadAnimationVisualDebugging was added.

Wrap your SharedTransitionLayout to add visual cues to track down those hard to debug issues. 🐛⤵️

2 months ago 41 12 1 1
Advertisement
Preview
Compose Multiplatform 1.10.0: Unified @Preview, Navigation 3, and Stable Compose Hot Reload | The Kotlin Blog Compose Multiplatform 1.10.0 has been released with common @Preview annotation, support for Navigation 3 on non-Android targets, and bundled stable Compose Hot Reload.

Compose Multiplatform 1.10.0 is out! 🎉

What’s new:
✨ Common @​Preview annotation
🧭 Support for Navigation 3 on non-Android targets
🔥 Stable and bundled Compose Hot Reload

Learn more: blog.jetbrains.com/kotlin/2026/01/compose-m...

3 months ago 52 18 1 0

Thank you, I really appreciate koin for what it is, this shouldn't be a "koin bad" comment, rather what I am missing :) if koin has compile safety I will not miss anything from dagger/hilt :)))

3 months ago 1 0 1 0

A "look" yes, seems promising, but migrating a full project over wasn't on my to-do list yet :)

3 months ago 1 0 1 0

The koin config check on multi module projects is sadly just not working correctly when interface and impl are split into separate modules.

3 months ago 0 0 1 0

I am missing Hilt, Koin is good but not good enough.

3 months ago 0 0 3 0

I was once handed an iPhone at droidcon to take a group photo. Making a joke that, as an Android developer, I didn't know how the thing worked, I gave it a shot anyway. That day I learned that the semi-transparent bars in the viewfinder aren't actually included in the photo! 😅

3 months ago 1 0 0 0

Amazing article about liquid glass and the math behind it. I really love such super nerdy stuff.

4 months ago 0 0 1 0
Preview
GitHub - jakala-germany/gradle-transitive-dependency-check: A gradle plugin that ensures that no declared dependency version is overridden by a newer transitive version A gradle plugin that ensures that no declared dependency version is overridden by a newer transitive version - jakala-germany/gradle-transitive-dependency-check

I am thrilled to announce that our Gradle transitive dependency check plugin is open-sourced! 🎉 It prevents version surprises in builds. Happy to give back to the community and that this is now available for everyone! 🙂

4 months ago 2 0 0 0
Preview
What's new in the Jetpack Compose December '25 release News and insights on the Android platform, developer tools, and events.

Compose 1.10 was released yesterday! 🔟

It includes some nice new features:

🧞‍♀️ Support for dynamic shared elements
👰🏻‍♀️ New Enter/Exit Transitions: unveilIn / veilOut
⏭️ Modifier.skipToLookaheadPosition()
📦 New retain APIs influenced by Circuit

android-developers.googleblog.com/2025/12/what...

4 months ago 26 9 1 1

Just purchased a ticket for me and for two of my colleagues!

4 months ago 1 0 0 0
Advertisement
Preview
Jetpack Navigation 3 is stable News and insights on the Android platform, developer tools, and events.

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

4 months ago 60 26 3 3
Preview
Android developer verification: Early access starts now as we continue to build with your feedback News and insights on the Android platform, developer tools, and events.

Yes, annoy everyone with warning messages, I would be fine with that, but keep the possibility to sideload whatever I desire within my own hands! Good move!
android-developers.googleblog.com/2025/11/andr...

5 months ago 0 0 0 0
Preview
GitHub - skydoves/compose-stability-analyzer: 🦄 Real-time analysis of Jetpack Compose composable functions' stability directly within Android Studio or IntelliJ. 🦄 Real-time analysis of Jetpack Compose composable functions' stability directly within Android Studio or IntelliJ. - skydoves/compose-stability-analyzer

I'm happy to share that I published a new open-source library, Compose Stability Analyzer!

This is a plugin that provides real-time stability analysis for Jetpack Compose functions in Android Studio or IntelliJ IDEA.

github.com/skydoves/com...

5 months ago 43 15 3 1