Elyes Mansour

Elyes Mansour

@elyesm.bsky.social

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. https://linktr.ee/elyesm

57 followers173 following124 posts

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

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

View full thread

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

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

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

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

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

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.comUse a preload manager for faster response Β |Β  Android media Β |Β  Android DevelopersHigh-level overview of the DefaultPreloadManager documentation.

Elyes Mansour reposted

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.comRemoteCompose: Another Paradigm for Server-Driven UI in Jetpack ComposeBuilding dynamic user interfaces has long been a fundamental challenge in Android development. The traditional approach requires…

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

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

Elyes Mansour reposted

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

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

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

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

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

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.

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

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 πŸ˜…

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

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

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

Elyes Mansour reposted

πŸš€ The HTTP Client plugin is now in Android Studio! Generate and run HTTP requests directly from your code, with support for Retrofit, OkHttp and Ktor. Enjoy seamless editor integration, code completion, and more. πŸ”— Read our blog for full details! blog.jetbrains.com/blog/2025/06...

blog.jetbrains.comRun HTTP Requests in Android Studio | The JetBrains BlogWe are happy to announce that our HTTP Client plugin is now available in Android Studio! HTTP Client is a powerful tool for making HTTP, gRPC, GraphQL, and WebSocket requests. Its text-based interf

I learnt a bit of Swift today. Two things I found particularly nice are the: - `try? ...` expression which is the same as `getOrNull()` in Kotlin but actually built in the language. - Class de-initializers that can execute some cleanup code when an object is deallocated. #Swift #AndroidDev

Thanks @jetbrains.com for a greatly organized #KotlinConf, and thanks to all the speakers who shared their knowledge with us. The biggest thing I'm excited about is Koog, the Kotlin framework for building Agents. I'm already getting my hands dirty with it. #Kotlin

It was a thrill giving a talk at the GDG Meetup in Copenhagen. The topic was about how to create an advanced PDF reader in Android with Jetpack Compose. I've gained a lot of appreciation for PDF readers after making one myself. The amount of complexity hidden inside it is surprising! #AndroidDev

I was trying to solve the issue of having to recompose the whole tree when the value in `staticCompositionLocalOf` changes, by propagating the `State` object itself. Then I found we can simply use `compositionLocalOf` instead to only recompose the scopes that are using the value πŸ‘Œ #AndroidDev