Lead Android Engineer @ Aircall
Into the Android world for more than 10 years, I experienced California the startup way of life before coming back to France. I am currently Lead Android Engineer at Aircall where we are building the best phone system for modern businesses. Alongside Android, I have a great interest in backend development with Kotlin and AR/VR technology. In 2021, I became an Android GDE to continue my journey to always share and learn with the Android community.
In my spare time, I am a world traveler and a beer lover always looking for the best IPAs!
Area of Expertise
Here is the story of an ongoing migration... and what a migration! This journey moving from our REST API to the GraphQL one is a long run with much coordination across all tech teams.
This return of experience will focus on how we are dealing with this transition on Android where Retrofit coexists with Apollo, how we synchronized with backend teams to keep our GraphQL schemas up-to-date or how we are dealing with our authentication stack with Apollo Kotlin, or the issues we faced and much more.
Buckle up! Relax! The journey is just starting 🚜
What if I tell you that you don't need to be an expert in Artificial Intelligence and Machine Learning to bring some of these great features to your Android application.
In this session, we'll explore what ML Kit has to offer to easily bring machine learning features that are optimized for mobile. In fun and practical code sample, we'll explore the main Vision and Natural Language APIs to potentially unlock new ideas and innovative features in your apps.
Join us as we explore the power of ML Kit and discover how it can help you take your Android app to the next level!
Working in the Android Development since 2011 when I made my first apps on a Galaxy S with Froyo (2.2) and there was no Fragment, Holo design was beautiful and ActionBarSherlock was the big thing!
Let's see how Android Development has evolved during this 10-years timeframe with the rise of Fragments, Material design, and now Kotlin and Jetpack Compose with fun anecdotes and code samples.
A not so easy migration to support Android 12! This talk will show you all the subtleties you need to know before migrating your applications to Android 12.
From the Manifest to PendingIntent, through the new restrictions on the Bluetooth/Telephony side or even in terms of security and privacy, Android 12 brings a lot of changes (and some of them a bit hidden 😅). We'll explore how we can achieve the support of this new Android version and see which tools can facilitate the migration. On top of that, we'll have a look at the some of the new APIs that arrived with Android 12.
One of the most laborious migrations since Android 6 and the introduction of runtime permissions 😆 3, 2, 1 let's do it!
Jetpack Compose, the new UI toolkit by Google, has been in dev and alpha stage for more than a year and it is now in beta. Throught several live examples, let's see how you can bring high quality UI to your Android application and how functional programming helped achieving such as thing. We will go even further and I'll introduce Jetpack Compose for Desktop application where components from your Android app can be reused to keep the same quality of design design accross the platforms.
AR/VR have been around for a while in Android now! Since the rise (and fall) of Google Cardboard, a lot of tools have come to help developers build great mobile experiences.
In this session, we'll see how the AR ecosystem is strongly evolving with ARCore, Unity, Google Maps and more. And how VR has slowly disappeared from Android. But VR is not dead yet on mobile!
In this session, we are going to explore the Jetpack Compose Canvas and its capabilities. Let's see the different ways of drawing custom shapes with Jetpack Compose: exploring the Canvas Composable and its APIs, building custom Shape or overriding the canvas of any existing Composable. Then, we'll see how we can animate the shapes we drawn and how you can access the native Android canvas to bring your existing shapes to life with Jetpack Compose.
This publication format has been around for a while now and will be required for the new apps on the Play Store in August 2021.
This session will cover all the steps to migrate your existing project in order to build and release a brand new AAB file to the Play Store. You will see the advantages and drawbacks of App Bundle. How you can easily configure your project, handle testing tracks and update your CI/CD (CircleCI, Bitrise) to deploy your optimized app with fastlane.
At some point, every Android developers will end up using a Locale for the applications they are building. If you are dealing with dates and time zones, currencies or multiple language support, you probably faced some challenges to make everything's working as intended.
In this session, we are going to see what is a Locale and how to use it to handle localization (L10N), how to support multiple languages with Lokalise by example or with the Android 13 APIs. In the end, we'll show what are the common pitfalls and how to deal with them.
Through this session, we are going to cover all the steps you need to know to setup a Kotlin Ktor project to build a reliable web service. We will discover the framework tools and features (Routing, DataConversion, ContentNegotiation...) and see them in action to develop some endpoints from the API frontside to the database.
To do so, we'll unveil how we can easily setup a Postgres database connection with Exposed, an ORM library for Kotlin, and see how clean architecture can be a good choice to develop your brand new API.
In order to have a strong contract between the newly built web service and your frontend, we'll explore how Kotlin and Swagger can help us achieving this goal.
Building beautiful, usable products with Material Design might be quite long especially if your app supports old Android versions. Thanks to the Material components library, Google has finally given us the keys to fully and easily implement their design concepts.
Through this talk, we will take a deep dive into this library to see what it brings on the table (theming, motion, transition, shapes, typography…) and how to implement Material components with some live action samples.
A lot of our applications depends on the technical bricks provided by the Play Services such as Google Maps, the push notifications by Firebase or even the Play Store for deploying our apps all around the world.
What if you are building apps for a device that does not implement the Play Services. With this talk you will have a glimpse of the tools you can use to build your Android applications without the Play Services such as OpenStreetMap, OpenPush or alternative ways to deploy an APK.
Kotlin is a reliable, fun and efficient programming language for developing your Android application so why not going full stack with some server side development with Kotlin and, in the end, share some part of the code with your web or mobile apps.
Through this talk you'll see how to build and deploy our own server side application using Micronaut, Ktor or Spark as base frameworks, with its pros and cons, for your backend service which will communicate with an Android app.
Sharing code is also pretty nice for avoiding a lot of rewrites or duplicate codes. So let's take a look at Kotlin Multiplatform with Ktor to build a shared module for the web and Android.
Augmented Reality (AR) is booming on mobile with ARCore / ARKit and new tools are emerging for building awesome experiences.
Like The Little Prince you will learn the foundations of ARCore and Sceneform for actually drawing a sheep in AR using basic forms and tools, and its rendering pipeline.
Through this talk, you will have an overview of what these libraries can offer from dealing with simple 3D shapes to advanced 3D assets or bringing Android UI components in AR. In the end, we will go further and see how to bring some AR fun with newly introduced features and Unity.
Developing mobile games with Unity has become more and more popular these years, and Unity developers often need to tackle OS specific challenges.
Through this talk you will discover how to work with Unity as an Android Developer. You will see how to build Unity plugins using the JNI and Java/Kotlin, which is the most efficient way to link Unity with the Android framework.
Every Unity project can be exported as an Android Studio project with a Gradle support. You'll also see how you can integrate Unity inside a native Android Java/Kotlin application, or how to get a full control of the build process so you can benefit from the best of both worlds.
Playing videos might be easy at first but this can get very tricky when you have to support multiple video/audio formats or offline medias. But no worries ExoPlayer2 is there for you!
This session will cover the basics of the ExoPlayer such as how to play a video thanks to the library and its core features. We'll go through its architecture, how to set it up and what video format ExoPlayer supports from classic MP4 to adaptive streams like HLS or DASH with protected content. A large overview of its capabilities will be done through this talk.
Then we will have a look at some interesting extensions and features such as the download manager or the ffmpeg extension for more audio formats support, building playlists or even managing you own DataSource for playing content on SMB servers.
DevFest Miami 2023 Upcoming
Developers Conference 2022 - Mauritius
droidcon Nigeria 2021
GDG DevFest UK & Ireland 2020
Building VR Apps On Android
How to build VR applications for Android starting with a basic Open GL ES prototype using the GVR library and moving towards a more complex one with Unity.
** Talk in French**
ExoPlayer, player multimédia pour vos applications et la réalité virtuelle
Cette présentation commencera avec une introduction à ExoPlayer qui en fait un remplaçant naturel de MediaPlayer. Les fonctionnalités de la v1 à v2 seront exposées avec les pour et les contre, le différents formats supportés par la player, ses différentes extensions... On vous montrera comment migrer votre code MediaPlayer vers ExoPlayer en quelques lignes de code. On finira par la capacité d'ExoPlayer à être utilisé dans le domaine de la réalité virtuelle sur Android pour créer des players pour Cardboard / Daydream ou GearVR et comment l'utiliser à l'aide d'un plugin sur Unity.
Lead Android Engineer @ Aircall