Congrats π₯³ well deserved!
Posts by Houssam Elbadissi βοΈ
Compose apps will finally chirp!
Qwen 3.5 surprisingly never faltered
β‘οΈ Interop with Canvas-based frameworks (Flutter, Compose)
This is one of those features I didn't know I needed but can't live without anymore.
Honestly just the experience of watching a therapist screensharing their ChatGPT session and echoing the AI's suggestions back to them is SO hilarious it'd cure all of my problems π
www.technologyreview.com/2025/09/02/1...
They're talking about an Android bug, not Windows.
Though I have yet to see what limitations there are/will be on this API, as there must be some limitations to block malicious uses. This is the web platform, after all.
Compose Multiplatform gang: HTML interop in web is about to get a whole lot smoother boy
I hope this gets standardized and adopted soon enough, as it'd solved most headaches when trying to embed native web elements into Compose Web.
this is fantastic! this solves the problem html interop in canvas-based frameworks like Compose Multiplatform or Flutter beautifully
Note that I very much despise AI for content or literally anything that is targeted at humans to consume. Code is different because its entire purpose is to translate our wishes to something computers can execute, and AI making that process easier is empowering, particularly for personal stuff.
Otherwise, there are two paths:
- an extremely crippled UI that greatly limits what's possible.
- literally asking users to understand protocol-level stuff and maybe how to use a hashmap and regex and a bunch of technical details they can never justify the time for.
I hope I made my point clear.
Feeds fit perfectly in the definition of throwaway software. If it doesn't get it right, no harm, try again or just use existing stuff. AI makes it super cheap to do this multiple times. Users can easily get a feel for where the model fails. They can also tweak their feeds over time. In English.
And who cares if it's not perfect anyways?! I'm a dev and I've always wanted to create some personal tools, but could never justify the time to make them, even an imperfect version. Now I can throw an agent at it, tweak it a few times, and get what I would've otherwise never done.
You're also underestimating modern models' steerability. Yes they're far from perfect, but they've been training them more and more with focus on being steerable. They can one-shot something decent, but with like 5 more prompts with more granular detail, they can land exactly where you need them.
I'm talking about "inherent complexity", both of the protocol, as well as filtering techniques that can be used on the data.
Unless they literally build a code editor but disguised as a UI (basically Scratch), users will always get _less_ control, as this is inherently complicated to put in a UI.
That's why something that allows users to iterate * at a low cost of time * and quickly get a feel for its effect is great.
Then there's the other, bigger argument: you're underestimating how complex this stuff is under the hood, and the wide variety of options you get with programmatic control.
The model doesn't know perfectly. But you know who else doesn't know perfectly the exact tweaks they need to do to make it feel right: the user.
Heck, even the user doesn't exactly know what is it that they want (including developers who might've never needed help in the first place).
Claude will then also "fix" the tests π€‘
They mention that their providers follow a no-retention policy. For Go, this seems to apply to all models: opencode.ai/docs/go/#pri...
Same for Zen, except for free models, as well as OpenAI and Anthropic's 30-day retention policy: opencode.ai/docs/zen/#pr...
I feel as though Codex is better at respecting guardrails (and generally just being a lot more steerable and less jumpy), but even there this type of thing still happens sometimes.
I mean that's kinda the whole thing. It's literally just writing a bit of feed code that runs the right filters etc for your request (it's not the model itself doing the filtering), which modern models really excel at, and you can tweak it and ask about how it works. These models are very steerable.
IntelliJ still doesn't support AGP 9 though π
I used to think the 1-star comments on the Android plugins were blowing this out of proportion but no, it's quite egregiously behind :/
9.0.1 can work with a flag to allow unsupported versions (with suppressed exceptions), but 9.1.0 doesn't work at all
I rarely use previews, hot reload ftw!
Though having a less frustrating preview experience would be very appreciated for the things they're made for (e.g. component libraries etc)
I want to wash my car. The car wash is 50 meters away. Should I walk or drive?
The other thing which is still a bit of a pain point is filesystem access/handling in common code. This is not a big deal for most apps, but a font viewer that wants to scan folders isn't most apps xD
kotlinx-io is looking pretty promising in that space, though I haven't tried it just yet.
Though generally speaking, if it was already a well designed app with decent architecture, it wouldn't be too hard to migrate directly
Aside from that, the other main blocker was some Rust code with custom (hacky) JNI wiring and build integration, but now Gobley solves that very elegantly for KMP
I have an old (and first!) app, a font viewer, started with java/xml then haphazardly migrated to kotlin/compose
By the time I was all-in on KMP it's still the only holdout. Part of it is some androidisms as well as terrible code that's effectively unmaintainable
Currently rewriting from scratch π«
hiring managers making decisions based on some half-remembered linkedin hustleslop probably aren't the most sophisticated individuals. but it's their funeral, commitment to legacy technology in an era of free rewrites is a competitive disadvantage
Thankfully this seems to be about to change with Remote Compose, and you can create a remote view out of an RC document in Android 16 already. It's a lot closer to full Compose, with the ability to do custom drawing and more.
It's in alpha. More info here: slack-chats.kotlinlang.org/t/30153834/w...