Sign in

Elyes Mansour

@elyesm.bsky.social
57 followers 173 following 124 posts

Android dev passionate about tech, science, and workplace culture. Based in Denmark and working at framna.com building different apps and teaching Android at dtu.dk. linktr.ee/elyesm

PostsRepliesMedia
Elyes Mansour @elyesm.bsky.social · 03/09/2026
My CMP app stutters on first launch on iOS then becomes smooth after a few interactions. It has to do with Skia compiling Metal shaders lazily on first draw, cached per install. Flutter fixed this with SkSL warm-up, then Impeller. Any equivalent in Skiko? #kotlinmultiplatform #kotlin
000
Elyes Mansour @elyesm.bsky.social · 23/05/2026
Nice keynote presentation Márton. It's super nice to see CMP/KMP progressing so well.
030
Elyes Mansour @elyesm.bsky.social · 30/01/2026
Source tn1ck.com/blog/claude-... 4/4
000
Elyes Mansour @elyesm.bsky.social · 30/01/2026
Now writing code is much more accessible, and we can focus more instead on high level details which by their very nature require juggling less details. This means jumping in and out of the focus state is less costly. 3/4
100
Elyes Mansour @elyesm.bsky.social · 30/01/2026
This usually means a flow state is necessary to be productive, which makes interrupting it by meetings quite costly. 2/4
100
Elyes Mansour @elyesm.bsky.social · 30/01/2026
Interesting thought I read today: Agents make meetings more bearable The idea is that coding is the most cognitively costing task in engineering, requiring juggling lots of details in working memory to write it properly. 1/4
100
Elyes Mansour @elyesm.bsky.social · 04/01/2026
I was researching communication protocols in the context of mobile apps, and I thought a visualization might help sell the difference between them better. This is not perfect but good enough as a starting point. Created in Figma Make with Claude 4.5 Sonnet. #AndroidDev
030
Elyes Mansour @elyesm.bsky.social · 30/12/2025
I wish Surface had a signature that doesn't take a content parameter similar to Box. I find myself using Box with modifiers instead of Surface, when I need a styled (shape, color, shadow) composable that takes no content. I just hate writing the empty lambda at the end 😅 #AndroidDev
010
Elyes Mansour @elyesm.bsky.social · 24/12/2025
I built a mutli-agent system using Google ADK and gave a short presentation about it back in October. youtu.be/geHif1qXHf0 #AiAgent
youtu.be
Building AI Agents with Google ADK
YouTube video by Elyes Mansour
020
Elyes Mansour @elyesm.bsky.social · 23/12/2025
I love navigating the editor with shortcuts, but I'm missing a way to navigate vertically in the code without using the mouse. Do you have a nice shortcut for that? #AndroidDev
010
Elyes Mansour @elyesm.bsky.social · 22/12/2025
Unfortunately it's not mentioned in the official documentation. I stumbled on this through a random StackOverflow post linking to a Medium article that broke it down well. proandroiddev.com/jetpack-comp...
proandroiddev.com
Jetpack Compose Previews: Delving Deep Into Their Inner Workings
Uncover the secrets of Jetpack Compose Previews! Learn to run them with adb, how to compile them and the nuances in multi-module setups.
000
Elyes Mansour @elyesm.bsky.social · 22/12/2025
TIL library modules need the androidTest source set to run Compose previews on device. This took way too long to figure out. #AndroidDev
120
Elyes Mansour @elyesm.bsky.social · 15/12/2025
I'd like to share a talk where I shared how I'm starting to see the emotion of fear differently. Instead of running the other way when we feel fear, we could consider instead that it might be pointing us towards weaknesses where we can grow. youtu.be/dthDY7gkqYo
youtu.be
The Positive Side of Fear
YouTube video by Elyes Mansour
010
Elyes Mansour @elyesm.bsky.social · 11/12/2025
Shout out to the team maintaining Media3/ExoPlayer. I was about to create a custom preloading logic, and then I found out they added a built-in PreloadManager that does a lot of heavy lifting. And the cherry 🍒 on top is its good documentation 👏 developer.android.com/media/media3... #AndroidDev
developer.android.com
Use a preload manager for faster response  |  Android media  |  Android Developers
High-level overview of the DefaultPreloadManager documentation.
020
Elyes Mansour @elyesm.bsky.social · 10/12/2025
Wow this is an incredible presentation
000
Elyes Mansour @elyesm.bsky.social · 09/12/2025
In this talk, I cover how to create a production grade Compose PDF reader with no 3rd party dependencies, that achieves simultaneous page zooming. We also cover many Compose basics, as well as advanced topics like performance, re-composition, and accurate zooming. youtu.be/joKLvMwzJx8 #AndroidDev
youtu.be
Advanced PDF Reader in Jetpack Compose
YouTube video by Elyes Mansour
030
Elyes Mansour @elyesm.bsky.social · 08/12/2025
I was curious what makes it difficult for mobile targets. Gemini tells me Android and iOS basically don't support class redefinition (learned about that now), which is what Hot Reload needs. And other cross platform frameworks deploy their own virtual environment with the app to circumvent this.
100
Elyes Mansour @elyesm.bsky.social · 08/12/2025
This is one of those really complex problems 👏 I'll give it a spin! I had to create a custom one previously, and I used a sample project from Google as my base. I also had to add auto-scrolling when dragging to the edge, as well as enabling swapping depending on item type. Fun times 😄
000
Elyes Mansour @elyesm.bsky.social · 08/12/2025
We're spoiled as Android devs with all the tooling available for us 😌 iirc hot reload is not available for mobile targets right?
100
Reposted by Elyes Mansour
Nick Butcher @nickbutcher.bsky.social · 03/12/2025
We just released Jetpack Compose 1.10 with new features and a number of performance improvements. What's your favourite thing in this release? I 💚 the improvements to shared elements. android-developers.googleblog.com/2025/12/what...
android-developers.googleblog.com
What's new in the Jetpack Compose December '25 release
News and insights on the Android platform, developer tools, and events.
1182
Elyes Mansour @elyesm.bsky.social · 04/12/2025
I'm loving all the changes, but I especially keep getting impressed by how configurable you made the shared element transition 👏
010
Elyes Mansour @elyesm.bsky.social · 29/11/2025
Thanks for the clarification @schimke.ee and @camaelon.bsky.social . I'll try remote-creation and using a byte array tomorrow and see how that works.
010
Elyes Mansour @elyesm.bsky.social · 29/11/2025
Looks really good! I tried to test but I'm having some road blocks: - Client side: I'm not sure how to create the CoreDocument object. I assume we'll simply deserialize it from a JSON response? - Server side: the `remote-creation-compose` is an AAR and depends on Android classes like Context.
300
Reposted by Elyes Mansour
Jaewoong Eum (skydoves) @skydoves.bsky.social · 29/11/2025
Published a new article, 'RemoteCompose: Another Paradigm for Server-Driven UI in Jetpack Compose'. You’ll explore RemoteCompose, understand its core architecture, and discover the benefits it brings to dynamic screen design with Jetpack Compose. skydoves.medium.com/remotecompos...
skydoves.medium.com
RemoteCompose: Another Paradigm for Server-Driven UI in Jetpack Compose
Building dynamic user interfaces has long been a fundamental challenge in Android development. The traditional approach requires…
5337
Elyes Mansour @elyesm.bsky.social · 18/11/2025
I saw a useful post online on how to make the Logcat window open up besides the emulator instead of underneath which requires reducing the emulator's size. Source: Qamar A. Safadi www.linkedin.com/posts/qamar-... #AndroidDev
040
Elyes Mansour @elyesm.bsky.social · 04/11/2025
It seems actually that this is a Live Update notification developer.android.com/develop/ui/v...
developer.android.com
Create a Live Update notification  |  Views  |  Android Developers
000
Elyes Mansour @elyesm.bsky.social · 04/11/2025
Is this Dynamic Island look alike Pixel specific or available in stock Android as well? I don't see anything about it in the new Progress Centric Notifications introduced in Android 16. #AndroidDev
220
Elyes Mansour @elyesm.bsky.social · 04/11/2025
Man it's so easy to get sidetracked by implementing things "properly" instead of focusing on what actually moves the needle. I have to figuratively slap myself out of it sometimes 😅 Not arguing for doing things sloppily though. It's a balancing act depending on the circumstances. #AndroidDev
020
Reposted by Elyes Mansour
Aurimas Liutikas @liutikas.net · 01/11/2025
If you are using Gradle and your per project configuration time (total configuration time / number of subprojects) is more than 100ms there is likely something suboptimal in your build set up. #gradle
6163
Elyes Mansour @elyesm.bsky.social · 30/10/2025
Cursor 2.0 was just released and it brought a lot of changes. Here are some highlights: - Multi-agents execution - Composer - its own coding model - Embedded browser - Sandboxing - similar to Claude Code - Team commands There are many more changes. You can read more here cursor.com/changelog/2-0
010
Elyes Mansour @elyesm.bsky.social · 19/10/2025
I was just reading the Material 3 design system docs, and I saw this snippet where they're explaining motion and citing iOS directly as an example. Pretty cool that they're openly acknowledging a competitor. #AndroidDev
140
Elyes Mansour @elyesm.bsky.social · 17/10/2025
Had a great time yesterday presenting at the GDG meetup in Copenhagen. I talked about my experience building my first open source library. Someone came up to me at the end, and told me it felt more like standup comedy. The best compliment I could wish for 😁 github.com/elyesmansour... #AndroidDev
020
Elyes Mansour @elyesm.bsky.social · 15/09/2025
Compared to a regular LLM answer, it offers: - Up-to-date data - More reliable information - Links to sources for easy verification
000
Elyes Mansour @elyesm.bsky.social · 15/09/2025
I've been "abusing" Gemini's Deep Research feature lately. From researching kitchen ventilation systems in Denmark to latest French political news, it's been giving me great results and within just a few minutes. Deep Research is definitely one of the most useful applications of LLMs so far. #AI
100
Reposted by Elyes Mansour
John O'Reilly @johnoreilly.dev · 29/07/2025
Yay, Swift export now available by default in today's Kotlin 2.2.20-Beta2 release ! #KMP 🚀 kotlinlang.org/docs/whatsne...
2174
Elyes Mansour @elyesm.bsky.social · 16/07/2025
I'm happy that my Jetpack Compose library was featured in the latest edition of the jetc.dev newsletter 🎉 github.com/elyesmansour... #AndroidDev
github.com
GitHub - elyesmansour/compose-floating-tab-bar: A Jetpack Compose floating tab bar that mimics the iOS 26 Liquid Glass tab bar behavior.
A Jetpack Compose floating tab bar that mimics the iOS 26 Liquid Glass tab bar behavior. - elyesmansour/compose-floating-tab-bar
040
Elyes Mansour @elyesm.bsky.social · 16/07/2025
@johnoreilly.dev from your experience how do you compare Koog with Google's ADK? Have you also tried other frameworks? What's the best you like so far?
100
Elyes Mansour @elyesm.bsky.social · 14/07/2025
I've released my first open source library, a FloatingTabBar composable that mimics the new iOS Liquid Glass behavior. github.com/elyesmansour... This is my first ever open source contribution and it's been a very valuable experience. I hope you like it and find it useful! #AndroidDev
040
Elyes Mansour @elyesm.bsky.social · 11/07/2025
There is actually documentation written about this, I just found out developer.android.com/develop/ui/c...
000
Elyes Mansour @elyesm.bsky.social · 11/07/2025
Ideally, animations wouldn't cause a recomposition as we should prioritize deferring state read, but the case in question can happen.
000
Elyes Mansour @elyesm.bsky.social · 11/07/2025
The only concern I'm aware of is if a composable gets recomposed frequently due to an animation, then the modifiers will be recreated and possibly causing a spike in memory allocation.
000
Elyes Mansour @elyesm.bsky.social · 10/07/2025
Is there any best practice for when to remember Modifiers and when not? #AndroidDev
310
Elyes Mansour @elyesm.bsky.social · 10/07/2025
I just had this funny chain of problems and solutions problem A > solution A -> creates: - problem B > solution B -> problem X > solution X - problem C > solution C -> problem Y > solution Y I hope this is the end of the chain 😅 And I don't see any way around solution A. #AndroidDev
010
Elyes Mansour @elyesm.bsky.social · 08/07/2025
Alright, today I progressed a bit in my maven central publishing adventure. I rewrote all the Git history to use the Github no-reply email address. And I finally managed to actually upload an artifact, but now I have validations issues to resolve. At least I got the gradle task to work 😅
000
Elyes Mansour @elyesm.bsky.social · 07/07/2025
Publishing to MavenCentral has a learning curve to say the least 😅 I was about to buy a domain, then learnt that my information would be exposed on whois. Not too long after I learnt that Github Pages exist! Now I'm messing with gradle configurations. Wish me luck 😄 #AndroidDev
030
Elyes Mansour @elyesm.bsky.social · 03/07/2025
Debugging sessions are much more enjoyable when they're performed like steady and calm science experiments rather than expecting fast results immediately then cursing in frustration because my programmer ego is hurt. #AndroidDev #Programming
020
Elyes Mansour @elyesm.bsky.social · 30/06/2025
Coding with AI teaches the discipline of going slower when we can go faster. We still own a 100% of the code. We can't review a 1000 lines of code in one go, but we can review them in small chunks. If we'd like to maintain quality, then we need to slow down the process to a human level. #ai
010
Elyes Mansour @elyesm.bsky.social · 30/06/2025
This is my current iteration on recreating the iOS 26 navigation bar on Android. I hope to release this soon as my first open source project 🤞 #AndroidDev
030
Elyes Mansour @elyesm.bsky.social · 28/06/2025
If you mean Junie, then yes I tried it briefly. I'm rooting for it, but compared to Claude Code or Cursor, it felt quite behind at the moment. I'm sure the JetBrains folks are hard at work, and it's just a matter of time before they catch up.
200
Elyes Mansour @elyesm.bsky.social · 28/06/2025
The shared element transition API in Compose is quite powerful. It allowed me to achieve exactly the custom behavior I need. And thanks to the documentation page below, I was able to understand how to resolve all the visual artifacts I was seeing. developer.android.com/develop/ui/c... #AndroidDev
070