Ralf

Ralf

@ralf-wondratschek.com

https://ralf-wondratschek.com/ | Member of Technical Staff at OpenAI, formerly Block / Square, Amazon and Evernote | GoogleDevExpert for Android

1K followers126 following110 posts

This is a reminder to write a hype doc to document your wins and achievements. AI can help you a lot and this can be fully automated.

I still prefer writing some loosely structured bullet points manually, because AI creates noise and sometimes misjudges the impact. But it's tremendously helpful for finding old records and evidence.

One thing I like about App Platform a lot is that it's modular and every feature is an opt-in. For example, we started using the Module Structure implementation within OpenAI without any of the other pieces. You can pick and choose.

Is anyone using App Platform? github.com/amzn/app-pla... I wanted to give a heads up that ownership of the repo was transferred to me and I'm considering to change the coordinates and packages to detach the project from Amazon. How much pain would this cause for consumers?

github.comGitHub - vRallev/app-platform: A lightweight application framework for state and memory management suitable for Kotlin Multiplatform projects.A lightweight application framework for state and memory management suitable for Kotlin Multiplatform projects. - vRallev/app-platform

I'm excited to share that I joined OpenAI this week, where I'll be working on Android infrastructure. My second stint at Block was shorter than expected, but I'm grateful for the time together with my team. I'm proud of what we accomplished and excited for what's next.

Ralf reposted

I've used Metro, and it's better than anything else, imo. It not only speeds up your builds, but makes DI easier, and also provides simpler upgrade paths if you're transitioning from other common DI frameworks. Huge thanks to @zacsweers.dev

This post is unavailable.

We're wrapping up our migration to Metro internally for Square Android. I summarized some of our challenges and steps we took in a blog post. If you use Dagger 2 for a Kotlin project, then you should migrate to Metro sooner rather than later. engineering.block.xyz/blog/metro-m...

engineering.block.xyzMetro Migration at Square AndroidHow Square Android migrated its monorepo from Dagger 2 and Anvil to Metro over nine months and saved thousands of hours of build time.

I'm more excited about this than I should be.

JetBrains@jetbrains.com

We've updated an essential part of the code editing experience – the caret and selection behavior. Selections are now clearer, and you can choose between "Snappy" and "Gliding" modes for smoother, easier-to-follow caret movement.

Ralf reposted

One underrated improvement Metro brings is its easy setup. No more configuring KAPT, runtime modules, keeping versions in sync, etc. You apply the Gradle plugin, setup a tiny graph and the rest is driven through constructor injection, @ContributesBinding and its other features. This was all I needed

Ralf reposted

This is fantastic and @zacsweers.dev deserves all the praise but it also is gonna give you a false idea of what Z is like as a maintainer and author, what the project is like, and how you might achieve something like this yourself

JetpackCompose.app@jetpackcomposeapp.bsky.social

Hot take: Dependency Injection on Android just got a huge upgrade!! Square just moved Anvil to maintenance mode to adopt Metro - a DI framework built by ONE PERSON that's 47-56% faster than Dagger+Anvil. This is what "individual developers changing ecosystems" looks like 🧵 #AndroidDev

After three wonderful years at Amazon I'm happy to share that I started this week at ... Square / Block again on my old team 🪃 I'm excited to think about developer productivity more deeply again.

Metro is conceptional very similar to Dagger + Anvil and kotlin-inject-anvil, which made this migration easy. I expect most new development to happen for Metro, so I wouldn't use kotlin-inject-anvil for new projects anymore.

Anvil was quite successful inside and outside of Square, but now it's time for the next big improvement. Metro is 95% of what I pitched as Dagger 3 within Square. I'm excited.

Zac Sweers@zacsweers.dev

Metro wouldn’t be where it is without the road that Anvil paved before it. I’ve really enjoyed working with Joel and Jacob on several Metro features already, with @ralf-wondratschek.com in its early design phase, and really looking forward continuing to work with all of them. Future’s bright 🚇

Ralf reposted

I uploaded the slides of my presentation. Thank you all for coming 🙏 ralf-wondratschek.com/presentation...

ralf-wondratschek.comRalf WondratschekPersonal website from Ralf Wondratschek to collect and share presentations, blog-posts and other interesting bits.
Ralf@ralf-wondratschek.com

Kotlin Conf is great and a lot of fun. I'm closing today with my session "Scale your Kotlin Multiplatform projects using dependency injection". I hope some folks are still around and don't travel home yet 😊 kotlinconf.com/schedule/?da...

Ralf reposted

Replying to @tornorbye.bsky.social

Indeed, we improved every parts of ADB Wifi pipeline. Besides support in Studio, you need ADB 36.0.1 (to be released soon) and Android 16.

Where does one start with improving Android app performance? Should I start with writing benchmarks to establish a baseline? Should I enable StrictMode and LeakCanary first? How can I implement metrics in production? Are there any good guides for beginners you'd recommend?

That's me! I'm really excited about this topic and look forward to giving this talk at KotlinConf. I'll summarize how we got here and how painless dependency injection can be.

Kotlin by JetBrains@kotlinlang.org

Here’s another glimpse at the amazing Kotlin Multiplatform sessions and speakers you’ll see on stage. 🎤✨ 🔗 kotl.in/conf-schedule 🔗

View full thread

App Platform is a culmination of solutions we developed and deployed in our own apps over the last 2.5 years. Some of the concepts aren't new and became best practices in the industry. With that we're curious to hear what you think, whether the project is helpful and look forward to collaborating.

I'm really proud of the project. I personally put in a lot of effort over the years at Amazon to get it launched and adopted in multiple orgs. And I believe it's useful outside of Amazon, too!

The best part is that it's ready for Kotlin Multiplatform and Compose Multiplatform from day one. We use App Platform to share code between Android, iOS and Linux machines.