β¨ New Twine update rolling out β¨
In case you're wondering what the perf changes are, it's handling unnecessary recompositions because of dynamic theming I had implemented π
@sasikanth.dev.bsky.social
He/Him. Android and Kotlin Multiplatform engineer. Indie app developer on Google Play and App Store. Gaming | Anime | Formula 1. Professional procrastinator.
β¨ New Twine update rolling out β¨
In case you're wondering what the perf changes are, it's handling unnecessary recompositions because of dynamic theming I had implemented π
Thank you π
03.08.2025 23:32 β π 1 π 0 π¬ 0 π 0New Pinnit update rolling out with bunch of bug fixes and performance improvements.
play.google.com/store/apps/d... play.google.com/store/apps/d...
Yeah, one of the other options I was thinking was making it part of onboarding, so that they can at least select certain categories and app automatically adds some of the popular feeds. At least that way user can see the related topics they like when they are opening the app for first time.
25.07.2025 08:35 β π 0 π 0 π¬ 1 π 0TIL, there is `retryWhen` extension function for Kotlin flows. That's neat!
25.07.2025 07:36 β π 4 π 0 π¬ 0 π 0Have you tried pre-populating some feeds? I am doing that on Twine and so far I haven't received a warning for the category.
I don't like the idea of adding some feeds, but went with some popular options.
Oh yeah, it has bunch of issues. I was just curious if LookAheadScope will work with lazy layouts at all.
21.07.2025 23:15 β π 1 π 0 π¬ 0 π 0@sebastiano.dev it looks like LookAheadScope and animateBounds is enough to animate the LazyVerticalGrid cell changes.
Obviously the transition isnβt perfect but I think adjusting animation timings and playing around with fade spec for other items should improve it.
Letβs go! Finally we can match shadows from Figma properly without drawing them on canvas (at least thatβs what I did in the past π)
18.07.2025 06:17 β π 1 π 0 π¬ 0 π 0AI is a tool (sorry!) that people who are bad at their jobs will use badly and that people who are good at their jobs will maybe, possibly find some uses for. People who are terrible at their jobs (many executives), will tell their employees that they βneedβ to use AI, that their jobs depend on it, that they must become more productive, and that becoming an AI-first company is the strategy that will save them from the old failed strategy, which itself was the new strategy after other failed business models. The only journalism business strategy that works, and that will ever work in a sustainable way, is if you create something of value that people (human beings, not bots) want to read or watch or listen to, and that they cannot find anywhere else.
This is very good.
www.404media.co/the-medias-p...
Nowhere close to done, but finally starting to setup Fresh RSS Google Reader API integration for Twine π
github.com/msasikanth/t...
Oh god! Not another trauma filled story from night city π
www.theverge.com/news/698579/...
This is a nice addition to Android Studio/Intellij Idea. I can just quickly test out all my API calls without having to switch to a different app.
www.jetbrains.com/help/idea/ht...
Fully deserved! Your new PC video is amazing, keep on making these videos :D
03.07.2025 22:34 β π 1 π 0 π¬ 1 π 0Thanks for posting this. Going through this, I have been getting more and more anxious. But it's better to just take a short break and be a little bit more kind to myself π
03.07.2025 12:41 β π 0 π 0 π¬ 0 π 0App Store: apps.apple.com/in/app/twine...
Play Store: play.google.com/store/apps/d...
Itβs been a little over 2 years since me and @pratti.bsky.social started working on Twine.
v2 of Twine is now available on App Store and Play Store
- Updated designs
- New layout modes
- Improved performance across the app
- Unread posts widget
- Reader customisations
links π
Well that took a bit of an effort. Time to work on shared element transitions next.
github.com/msasikanth/t...
One more important change in the next version of Twine.
There is no reason to update all feeds at same interval. So, essentially ranking them based on their update freq and updating each feeds refresh interval.
github.com/msasikanth/t...
Itβs just combination of animateBounds and AnimatedContent.
I place my changing view in AnimatedContent and then applied animatedBounds modifier to outer shell
β¨New transition in Twineβ¨
25.06.2025 05:01 β π 20 π 2 π¬ 2 π 0No more manually importing the enum types ππΎ
23.06.2025 22:57 β π 2 π 0 π¬ 0 π 0I thought about it before, but it just felt weird cutting the OPML. But itβs worth a try.
22.06.2025 14:53 β π 1 π 0 π¬ 1 π 0Just to add, you can already try out the app now. It doesn't have the new paywall structure yet and you can use OPML importing to try out your feeds.
Please let me know if there are any issues with it.
fwiw, app does offer 7 days free trial and you can import an OPML in that period, and app will continue with those feeds even if the trial ends and you don't feel like paying.
Eventually I might start making some of the older paid features as free, and introduce newer features in the app.
That's a completely valid point. I was trying to figure out a way to balance out what features I keep behind paywall, and I didn't want to lock too many existing things in the app.
Since I am limiting 10 feeds in free version, went with OPML import since it can allow adding large number of feeds
Added first paid feature of Twine. I should be able to release an update by end of today or tomorrow.
22.06.2025 11:08 β π 1 π 0 π¬ 1 π 0Few shows I have been watching lately that I like
- Lazarus (Anime)
- Nine Puzzels
- Clarksonβs Farm
- Murderbot
Any remote Android engineering roles available? π
06.06.2025 09:25 β π 0 π 0 π¬ 0 π 0All my free time is consumed by this game now, not particularly good at it though yet π
04.06.2025 14:29 β π 2 π 0 π¬ 0 π 0