Saket Narayan
@saket.me
1.3K followers 290 following 270 posts
Building Cash App (at S̶q̶u̶a̶r̶e̶ Block) • Android GDE • he/him 🌎 https://saket.me/ 📍 Waterloo, Canada
Posts Media Videos Starter Packs
saket.me
Yeah, the rationale for designing a "unified" user interface has always been a lie. It's very clear our screens were designed with iOS in mind.
saket.me
+1. Having immediate access to the entire icon set has been very useful in my side projects. It's sad that we'll have to go pulling them manually from the website.
saket.me
Hold on, I agree that these are complex problems. All I'm saying is that they're already solved for Swift apps. I wish we had the same convenience on the JVM. :)
saket.me
Yeah I think I agree with your rationale. I'll take my arguments back for an official AsyncImage() component.
saket.me
Hmm I don't think that's what I meant. I was referring to the responsibility of _implementing_ windowing APIs.

I do care about Android's lifecycle, but the platform gives me everything I need.
saket.me
Same thought about window size and position restoration. Developers shouldn't have to care whose responsibility it is. All we know is that it's missing when we compare Compose to Swift for desktop apps.
saket.me
Honestly, the lines are blurred imo. I see your point, but remote images are such a common enough need that the framework could help. Apple set a nice precedent with SwiftUI with an official AsyncImage() component. Google could/should offer something similar.
saket.me
Fair enough, I wasn't fully considering the complexity involved.

Still, this feels like yet another compromise when building desktop apps using KMP. 😕
Reposted by Saket Narayan
shikasd.bsky.social
Casey Muratori pretty much sums up how I feel about LLMs for coding:

"The AI will always be useless for me. I physically can't get what I want from programming when AI is involved, because what it is doing is robbing me of the experience that I wanted to have and the knowledge that I wanted to get"
saket.me
Would you like to extract your code into a library?
saket.me
Oh no, thats awful! I... didn't even know outlets could do that.
saket.me
Neat! I wish the main window's last size and position were automatically saved by compose multiplatform.
saket.me
The Pixel phones (and previously Nexus) have made pioneering decisions in the past. This should also be one of them imo.
saket.me
2025 in one screenshot: my phone's AI is talking to another AI on a phone call.
Phone screen showing Google Call Assist answering a phone call. The assistant asks why they're calling. The caller, an AI "virtual specialist", replies about a promotion.
saket.me
I'm also on macOS. I was told by one of the engineers that this is a known problem, and they're working on a fix. But… it's been a while.
saket.me
As much as i feel sad about this, i've accepted that salaries are never proportional to a location's cost of living 😔
saket.me
The year is 2100. Civilization has colonized Mars. Android Studio still freezes every time my laptop wakes from sleep.
saket.me
Gotcha. Don't you have a screen "factory" that can collect these dependencies in one place?

My experience with self contained widgets is a bit limited. In the last two codebases I worked on, we almost always piped the presentation code separately, which made DI simpler for us.
saket.me
I'm wondering if you might be doing dependency injection in an uncommon way. Is this because your reusable UI components are self contained in terms of presentation logic? Do they bring their own presenters rather than being wired with a model at the call-site?
saket.me
What kind of dependencies are you injecting in your UI composables?
Reposted by Saket Narayan
sinasamaki.com
✨ New article on the latest shadow api in #JetpackCompose
Recently, I have enjoyed using them to easily create fancy realistic effects

Check out the article, and let me know what you build with these new apis 🤗

www.sinasamaki.com/new-shadow-api-for-jetpack-compose/
Reposted by Saket Narayan
zacsweers.dev
Wrote a lot of thoughts on junior developers, AI, and what I strongly feel is going to become the defining challenge of our industry's next generation.

www.zacsweers.dev/forklifts-re...
Forklifts Require Training
Sleepwalking into labor collapse
www.zacsweers.dev
saket.me
True, it has happened, but very rarely if my memory serves right. While some of their API decisions have been controversial (fragments, navigation, etc.), I kind of appreciate that they stick with their choices.

And the view system feels like a tough example. It had a solid 15-year run. 😄
saket.me
Agree about Google, but has that also historically been true for Android?