skydoves's Avatar

skydoves

@skydoves.bsky.social

Senior Developer Advocate at @revenuecat.com πŸ₯‘ Google Developer Expert for Android and Kotlin. An open-source software engineer. GitHub: github.com/skydoves Dove Letter: github.com/doveletter Book for Android: https://www.android.skydoves.me

906 Followers  |  106 Following  |  275 Posts  |  Joined: 05.11.2024  |  1.7361

Latest posts by skydoves.bsky.social on Bluesky

Preview
GitHub - skydoves/Balloon: :balloon: Modernized and sophisticated tooltips, fully customizable with an arrow and animations for Android and Jetpack Compose. :balloon: Modernized and sophisticated tooltips, fully customizable with an arrow and animations for Android and Jetpack Compose. - skydoves/Balloon

Balloon 1.6.13 has been released!

It now supports custom stroke styling on your balloon container. Huge shoutout to Tobiloba for contributing a feature that’s been on my to-do list for five years.

github.com/skydoves/Bal...

10.08.2025 08:02 β€” πŸ‘ 2    πŸ” 0    πŸ’¬ 0    πŸ“Œ 0
Preview
New features in Android Studio Preview Β |Β  Android Developers Discover new features and changes in Android Studio preview.

New features in Android Studio Preview (Android Studio Narwhal 3 Feature Drop | 2025.1.3)

developer.android.com/studio/previ...

10.08.2025 02:54 β€” πŸ‘ 2    πŸ” 0    πŸ’¬ 0    πŸ“Œ 0
Android Librarian's Guide: Building Robust Libraries and SDKs In this talk, the speaker (skydoves) shares real-world lessons from maintaining Android open-source libraries and SDKs, including his work on the RevenueCat SDK. You'll learn what it takes to build ro...

I’ll be speaking at DroidKaigi in Tokyo!

My session is titled "Android Librarian’s Guide: Building Robust Libraries and SDKs". Looking forward to seeing you there!

2025.droidkaigi.jp/en/timetable...

10.08.2025 02:24 β€” πŸ‘ 9    πŸ” 0    πŸ’¬ 1    πŸ“Œ 0
Preview
Previewing RetainedEffect: A New Side Effect to Bridge Between Composition and Retention Lifecycles The Jetpack Compose ecosystem has grown exponentially in recent years, and it is now widely adopted for building production-level UIs in…

I published a new article, 'Previewing RetainedEffect: A New Side Effect to Bridge Between Composition and Retention Lifecycles'.

We will preview RetainedEffect's internal workflow to better understand how Compose manages these long-lived operations.

skydoves.medium.com/previewing-r...

09.08.2025 02:37 β€” πŸ‘ 5    πŸ” 0    πŸ’¬ 0    πŸ“Œ 0
Preview
Manifest Android Interview Manifest Android Interview

It’s been 3.5 months since Manifest Android was published, and it’s already crossed 1,300 copies sold! πŸ₯³

The book is available in English, Korean, Chinese, Indonesian, Ukrainian, German, Spanish, and India Edition.

www.android.skydoves.me

08.08.2025 12:29 β€” πŸ‘ 0    πŸ” 0    πŸ’¬ 0    πŸ“Œ 0
Preview
remember vs rememberSaveable: deep dive into state management and recomposition in Jetpack Compose Jetpack Compose enables you to design and build UI components and screens in a declarative way, and this approach is powered by several key concepts. One of the most important is idempotenceβ€”the idea ...

I just published a new article, 'remember vs rememberSaveable: deep dive into state management and recomposition in Jetpack Compose'.

In this article, you’ll learn how they differ by exploring their internal mechanisms and @revenuecat.com Android SDK.

www.revenuecat.com/blog/enginee...

08.08.2025 10:14 β€” πŸ‘ 7    πŸ” 0    πŸ’¬ 0    πŸ“Œ 0
Preview
Previewing retain{} API: A New Way to Persist State in Jetpack Compose Jetpack Compose has reshaped how we think about UI in Android. With its declarative nature, reactive state model, and composable functions…

Thanks @androidweekly.bsky.social for featuring my recent article, 'Previewing retain{} API: A New Way to Persist State in Jetpack Compose', this week!

medium.com/proandroidde...

07.08.2025 06:34 β€” πŸ‘ 5    πŸ” 1    πŸ’¬ 0    πŸ“Œ 0

Oh wow! Can I ask which app you're building? 😁

06.08.2025 14:33 β€” πŸ‘ 0    πŸ” 0    πŸ’¬ 1    πŸ“Œ 0
Context-sensitive resolution in Kotlin 2.2
YouTube video by Kotlin by JetBrains Context-sensitive resolution in Kotlin 2.2

Context-sensitive resolution in Kotlin 2.2

youtu.be/aF8RYQrJI8Q?...

06.08.2025 14:31 β€” πŸ‘ 2    πŸ” 0    πŸ’¬ 0    πŸ“Œ 0
Preview
Announcing RevenueCat Virtual Currency support Add coins, credits, or tokens to your app with RevenueCat’s new Virtual Currency support. Mix consumables and subscriptions, track balances, and grow revenue

Announcing RevenueCat virtual currency – monetize beyond subscriptions!

Launch your own coin or credit system in minutes. With @RevenueCat virtual currency, you can sell packs, grant bonuses, and manage balances across iOS, Android, and web.

www.revenuecat.com/blog/company...

06.08.2025 03:31 β€” πŸ‘ 1    πŸ” 0    πŸ’¬ 1    πŸ“Œ 0
Post image

The androidx.activity.ComponentActivity.

06.08.2025 03:22 β€” πŸ‘ 3    πŸ” 0    πŸ’¬ 0    πŸ“Œ 0
Preview
GitHub - skydoves/compose-effects: 🧡 Compose Effects enable you to launch efficient side-effects without unnecessary operations for Android and Compose Multiplatform. 🧡 Compose Effects enable you to launch efficient side-effects without unnecessary operations for Android and Compose Multiplatform. - skydoves/compose-effects

Compose Effects 0.1.2 has been released.

🧡 Compose Effects enable you to launch efficient side-effects without unnecessary operations for Android and Compose Multiplatform.

github.com/skydoves/com...

02.08.2025 02:39 β€” πŸ‘ 3    πŸ” 0    πŸ’¬ 0    πŸ“Œ 0
Preview
Previewing retain{} API: A New Way to Persist State in Jetpack Compose Jetpack Compose has reshaped how we think about UI in Android. With its declarative nature, reactive state model, and composable functions…

Previewing retain{} API: A New Way to Persist State in Jetpack Compose.

skydoves.medium.com/exploring-re...

01.08.2025 06:41 β€” πŸ‘ 2    πŸ” 0    πŸ’¬ 0    πŸ“Œ 0
Gerrit Code Review

A new `retain {}` API will be introduced in Compose Runtime.

The retain API is similar to remember in that it persists values across recompositions, but retained values are also able to persist destruction and recreation of the composition hierarchy.

android-review.googlesource.com/c/platform/f...

01.08.2025 05:17 β€” πŸ‘ 7    πŸ” 0    πŸ’¬ 0    πŸ“Œ 0
Gerrit Code Review

Extending compatibility for androidx pdf-viewer v1 to support minSdk 21.

android-review.googlesource.com/c/platform/f...

31.07.2025 10:07 β€” πŸ‘ 1    πŸ” 1    πŸ’¬ 1    πŸ“Œ 0
Gerrit Code Review

Bump androidx default minSdk to 23.

android-review.googlesource.com/c/platform/f...

31.07.2025 02:38 β€” πŸ‘ 2    πŸ” 1    πŸ’¬ 0    πŸ“Œ 0
Gerrit Code Review

Compose foundation is still migrating from composed{} to Modifier Node.

android-review.googlesource.com/c/platform/f...

30.07.2025 00:45 β€” πŸ‘ 0    πŸ” 0    πŸ’¬ 0    πŸ“Œ 0
Gerrit Code Review

Shared element transitions example for Jetpack Navigation 3.

android-review.googlesource.com/c/platform/f...

30.07.2025 00:44 β€” πŸ‘ 1    πŸ” 0    πŸ’¬ 0    πŸ“Œ 0
Preview
Ship, Share, and Win: The Kotlin Multiplatform Award at Shipaton 2025 | The Kotlin Blog Join the global Shipaton 2025 hackathon β€” build with Compose Multiplatform and Junie, and compete for over $300,000 in cash prizes.

Ship, Share, and Win: The Kotlin Multiplatform Award at Shipaton 2025.

blog.jetbrains.com/kotlin/2025/...

29.07.2025 15:07 β€” πŸ‘ 2    πŸ” 0    πŸ’¬ 0    πŸ“Œ 0
Preview
Play Billing Library 8 support in Purchases SDK v9.0.0 Google recently announced the release of Google Play Billing Library 8, introducing new offer capabilities such as multiple purchase options for one-time products and support for non-expiring subscrip...

Thanks @androidweekly.bsky.social for featuring my recent article, 'Play Billing Library 8 support in Purchases SDK v9.0.0'.

In this article, we’ll walk through the key changes in Billing Library 8, migrating to the new @revenuecat.com SDK.

www.revenuecat.com/blog/enginee...

27.07.2025 12:36 β€” πŸ‘ 3    πŸ” 1    πŸ’¬ 0    πŸ“Œ 0
Preview
New tools to help drive success for one-time products Explore Google Play's new, flexible way for developers to manage one-time products, allowing diverse purchase options, offers, and regional pricing.

New tools to help drive success for one-time products

android-developers.googleblog.com/2025/07/new-...

26.07.2025 04:40 β€” πŸ‘ 1    πŸ” 0    πŸ’¬ 0    πŸ“Œ 0
Post image

Manifest Android Interview Ukraine (Π£ΠΊΡ€Π°Ρ—Π½ΡΡŒΠΊΠ΅ Видання) has been published!

Π’ΠΈΡ‡Π΅Ρ€ΠΏΠ½ΠΈΠΉ посібник Π· ΡƒΡΠΏΡ–ΡˆΠ½ΠΎΠ³ΠΎ проходТСння Ρ‚Π΅Ρ…Π½Ρ–Ρ‡Π½ΠΈΡ… Ρ–Π½Ρ‚Π΅Ρ€Π²'ю Π· Android. Π’ΠΈ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΠΏΡ€ΠΎΡ‡ΠΈΡ‚Π°Ρ‚ΠΈ ΠΊΠ½ΠΈΠ³Ρƒ Π·Π° зниТСною Ρ†Ρ–Π½ΠΎΡŽ 50% Π·Π° посиланням Π½ΠΈΠΆΡ‡Π΅.

leanpub.com/manifest-and...

26.07.2025 00:57 β€” πŸ‘ 2    πŸ” 0    πŸ’¬ 0    πŸ“Œ 0
Preview
Play Billing Library 8 support in Purchases SDK v9.0.0 Google recently announced the release of Google Play Billing Library 8, introducing new offer capabilities such as multiple purchase options for one-time products and support for non-expiring subscrip...

I just published a new article, 'Play Billing Library 8 support in Purchases SDK v9.0.0'.

In this article, we’ll walk through the key changes in Billing Library 8, what to keep in mind when migrating to the new @revenuecat.com SDK v9.0.0.

www.revenuecat.com/blog/enginee...

24.07.2025 04:41 β€” πŸ‘ 3    πŸ” 1    πŸ’¬ 0    πŸ“Œ 0
Preview
Release Dagger 2.57 Β· google/dagger Potential breaking changes The generated Factory/MembersInjector constructors have changed from public to private. This shouldn’t affect most users since these classes are only meant to be called b...

Dagger 2.57

github.com/google/dagge...

23.07.2025 01:04 β€” πŸ‘ 0    πŸ” 0    πŸ’¬ 0    πŸ“Œ 0
Preview
Dove Letter Dove Letter is a private subscription repository where you can learn, discuss, and share new knowledge about Android and Kotlin. - Dove Letter

It’s been exactly one year since Dove Letter launched! πŸ•ŠοΈ

Dove Letter is a daily updated repository dedicated to learning and sharing everything Android and Kotlin from articles and code snippets to interview questions and broader ecosystem updates.

github.com/doveletter

22.07.2025 13:02 β€” πŸ‘ 0    πŸ” 0    πŸ’¬ 0    πŸ“Œ 0
Preview
Recommendations for Android architecture Β |Β  App architecture Β |Β  Android Developers

Recommendations for Android architecture

developer.android.com/topic/archit...

22.07.2025 05:04 β€” πŸ‘ 2    πŸ” 0    πŸ’¬ 1    πŸ“Œ 0
AI Breakfast 개발자 νŠΉλ³„νŽΈ | Episode 1 - AI for Everyone, Everywhere! 개발자의 기회: Google I/O 2025κ°€ λ˜μ§„ λ©”μ‹œμ§€
YouTube video by Google Cloud APAC AI Breakfast 개발자 νŠΉλ³„νŽΈ | Episode 1 - AI for Everyone, Everywhere! 개발자의 기회: Google I/O 2025κ°€ λ˜μ§„ λ©”μ‹œμ§€

I recently filmed a video with @developers.google.com and a few fellow YouTubers discussing AI and what the future holds for Android developers in this new era of artificial intelligence. It contains English subtitles.

youtu.be/rO-aXsGl0xg?...

22.07.2025 03:15 β€” πŸ‘ 3    πŸ” 0    πŸ’¬ 0    πŸ“Œ 0
Gerrit Code Review

Support dynamically enable/disable shared elements.

This change adds a new API to support shared element to be dynamically enabled/disabled. This is useful when the shared element match logic is dependent on runtime information.

android-review.googlesource.com/c/platform/f...

22.07.2025 01:04 β€” πŸ‘ 1    πŸ” 0    πŸ’¬ 0    πŸ“Œ 0
Post image

The Indonesian edition of Manifest Android Interview has been published!

Panduan lengkap untuk menaklukkan wawancara teknis Android.

Kamu bisa mendapatkan kupon diskon 50% di bawah ini β€” sangat terbatas hanya untuk 10 orang saja.

leanpub.com/manifest-and...

21.07.2025 13:20 β€” πŸ‘ 0    πŸ” 0    πŸ’¬ 0    πŸ“Œ 0
Preview
Releases Β· RevenueCat/purchases-kmp RevenueCat SDK for Kotlin Multiplatform. Contribute to RevenueCat/purchases-kmp development by creating an account on GitHub.

Purchases KMP 2.0.0+15.0.0 has been released!

This @revenuecat.com SDK for Kotlin Multiplatform updates to use Google Play Billing Library 8, Kotlin to 2.1.10, and Compose Multiplatform 1.8.0.

github.com/RevenueCat/p...

21.07.2025 00:28 β€” πŸ‘ 1    πŸ” 0    πŸ’¬ 0    πŸ“Œ 0

@skydoves is following 20 prominent accounts