Android Makers by droidcon 2023
2023-04-27..2023-04-28
Paris, France
who it's for
android developers, kotlin developers, mobile engineers, android architects, tooling engineers, qa engineers, engineering managers, mobile security engineers
topics
jetpack compose UI techniques; compose runtime client libraries; kotlin multiplatform ecosystem; gradle version catalog and plugins; android lint custom rules; hardware acceleration for ML inference; android auto development; bluetooth LE on Android; billingclient 5 paywall implementation; designing for foldable devices; mobile observability and profiling; app performance scoring
| title | author | length |
|---|---|---|
| Android Graphics: the Path to [UI] Riches | Chet Haase, Romain Guy | 42m |
Overview of concrete changes and demos: history from Skia (2005) explains why canvas and Paint are stateful and awkward—Paint accumulates 27 constants and… | ||
| Using Compose Runtime to create a client library | Fatih Giriş | 36m |
Claims that Compose Runtime alone can host client libraries and demonstrates the actual pieces used: compiler-injected composer, slot table, applier, and the… | ||
| Help! What is my place in the IC vs. EM career path? | Elaine Dias Batista | 18m |
Career path argument: moving between IC and EM is feasible and often simultaneous, supported by concrete steps and credentials — developer from 2013, promotion… | ||
| Staying passionate about your craft | Jeroen Mols | 37m |
Built a cross‑platform file‑transfer app after six months of full‑time work, leads a 14‑person team through a messy codebase, and spends 132 working days… | ||
| Exposing Data | Hadi Hariri | 45m |
Exposed is a lightweight Kotlin library with two real APIs: Kotlin DSL or DAO, connects to Postgres/H2/MySQL and runs blocking transactions by default but… | ||
| 90s Website … in 2023 on mobile in Compose … for science | Maia Grotepass | 36m |
Builds a retro 90s web UI using Jetpack Compose and Compose Multiplatform, reproducing blink tags, rainbow shimmer, marquees, a visitor counter and particle… | ||
| Unusable or Undebuggable? Rebelling against best practices | Louis CAD | 21m |
Compose LazyColumn drops to 5–10 frames per second in debug on Wear OS devices like the Samsung Galaxy Watch 4, so a drop‑in replacement is implemented that is… | ||
| The Rise and Fall of Feature Teams | Danny Preussler | 22m |
Claim: cross‑functional feature teams break down at medium scale and spawn new silos and unowned black boxes. Evidence: a cited study finds 75% dysfunctional… | ||
| Practical ADB usage to enhance your life! | Ben Kadel | 45m |
Automates login flows by sending real input events (taps, swipes, text) from shell scripts, swaps brittle hard‑coded coordinates for UI hierarchy lookups via… | ||
| A Design System, it Composes! | Jean-Baptiste Vincey, Julie Gléonnec | 39m |
Deezer migrated a large Android app to Jetpack Compose by rebuilding its design system, Tempo, from design tokens upward and targeting the Album screen as a… | ||
| In Search of Performance: the Subtle Art of Android Profiling | Pierre-Yves Ricau | 35m |
A practical, step-by-step Android profiling workflow that starts by reproducing a real user scenario and capturing signals with scrcpy screenrecord, then… | ||
| Clean Code Base: Harnessing the Power of Android Lint and Custom Rules | Sinan Kozak | 15m |
Shows concrete uses of Android Lint and custom rules: detects mismatched string-format arguments that would crash at runtime, flags missing intent export… | ||
| Forging the path from monolith to multi-module app | Marco Gomiero | 38m |
The TIER app evolves from a single monolith into a layered multi‑module structure over about a year (discussion starts July 2021, first UI module merged May… | ||
| SwiftUI vs Jetpack Compose by an Android Engineer | Gerard Paligot | 40m |
The talk compares Jetpack Compose and SwiftUI for building mobile UIs, focusing on practical differences: Compose is Kotlin-first and needs the Compose… | ||
| Collaborating with Protobuf & Type-Safe APIs | Alan Chiu | 09m |
Practical claim: Protobuf replaces brittle hand‑written APIs so cross‑platform teams stop arguing over key names and focus on app logic. At Lyft the team moved… | ||
| How to use hardware acceleration for Machine Learning inference on Android | Adrien Couque | 21m |
Shows concrete steps to speed on-device ML: use TensorFlow Lite delegates to rewrite model nodes for GPU/DSP/NPU, add the delegate factory when creating an… | ||
| Going on a road trip with Android Auto | Carlos Mota | 23m |
Android Auto reaches 100 million cars and the talk shows concrete steps: add Car App Library, declare CarAppService and metadata XML, target API levels (most… | ||
| Become a Maestro of Mobile Testing in 5 minutes | Jordan Dahnoun, Romain Rivollier | 18m |
Claims that Maestro (from mobile.dev) replaces a five‑tool end-to-end stack and runs cross‑platform Android iOS flutter and react native tests written as… | ||
| Go with the Flow | Akshay Chordiya | 36m |
Kotlin Flow is cold, operator lambdas are suspending, and context preservation means flowOn only affects upstream. The talk explains internals… | ||
| Journey of the Android white label process | Kinnera Priya Putti | 30m |
Company runs 80 modular in‑app modules and ships 70+ white‑label projects biweekly, so the pipeline focuses on concrete fixes: use Localize for translations… | ||
| Demystifying the test pyramid | Xavier F. Gouchet | 35m |
Argues the test pyramid is a template not a rule and teams should pick levels, tooling and cadence around four questions: what to test, how to test, why and… | ||
| The joys and challenges of building a paywall with BillingClient 5 | Deema AlShamaa, Mark Villacampa | 18m |
Migrates an app from Billing Library 4 to BillingClient 5, implements hierarchical subscriptions with multiple base plans and offers per product, adds prepaid… | ||
| How Wildlife Studios maximizes mobile game performance and discoverability | Lucas Klegen | 26m |
Wildlife Studios describes concrete results: uses Embrace alerts to detect regressions and rollback releases, traces a chat-implementation crash in Sky… | ||
| Designing for foldables in 2023 | Enrique López Mañas, Pierluigi Rufo | 35m |
Foldable guidance lists concrete patterns and tools: list–detail and supporting pane canonical layouts, reveal/transform/expand/reposition UI moves, and… | ||
| AI won't take your job but it sure will help you do it better | Orel Zion | 34m |
Concrete demo of GitHub Copilot and chat GPT generates data classes, Retrofit interfaces, repositories and Compose views from curl/json, then assembles a chat… | ||
| How to Gain Efficiency with File Templates? | Jonathan Mercandalli, Marc Picone | 19m |
Shows how to use Android Studio file and live templates with the Velocity template language to generate full, working code scaffolds so repetitive work… | ||
| Introduction to Observability on Mobile | Kelian Clerc, Valentin Pertuisot | 20m |
Overview of how Spendesk implements mobile observability: centralized logs in Datadog (with Slack alerts for threshold breaches), enriched with… | ||
| Let's shake the Flutter tree | Aleksandr Denisov | 33m |
Claim: Flutter’s tree shaking (only during AOT/release or profile builds) actually strips unused Dart code — functions fields types type args metadata — but… | ||
| Take a look at Jetpack Glance | Piotr Prus | 27m |
Jetpack Glance is a Compose-runtime wrapper that still emits RemoteViews and requires Compose build features and the Kotlin compiler extension, currently at… | ||
| State of Bluetooth LE on Android in 2023 | Erik Hellman | 40m |
Bluetooth LE on Android is usable but brittle: avoid supporting versions below Android 8 (API 26), rely on companion device manager plus a foreground service… | ||
| Collapsing Toolbar with Parallax Effect and Curved Animation with Jetpack Compose | Morad Azzouzi | 26m |
Shows how to build a collapsing toolbar with a parallax header and a curved-title motion using only Jetpack Compose (no third-party libraries). Models header… | ||
| Embed Your Machine Learning Model in Your App? | Hugo Gresse | 15m |
Pl@ntNet describes converting a server ML model into a mobile-optimized runtime and shipping a 210 MB model plus metadata and example images to phones to cover… | ||
| Unit Testing with KotlinFlow | Florent Blot | 22m |
Practical recipes for unit-testing Kotlin Flow: use kotlinx-coroutines-test with runTest (virtual time) to control delays, combine Kluent assertions and… | ||
| I have a Date | Renaud Mathieu | 24m |
Argues that concrete choices matter: drop java.util.Date because it’s mutable and misleading, prefer java.time or ThreeTenABP for up‑to‑date TZ rules, and… | ||
| Make Gradle work for you, create your own tasks and plugins | Cécile Dreyfus, Frédéric Torcheux | 21m |
Shows how to implement a real Gradle task that copies APK AAB and mapping into a versioned directory using a BuildSrc class or standalone module, wires… | ||
| What a Long Strange Trip it's Been: A Year In Android | Ash Davies | 43m |
An archive documents week by week news, events and releases from the end of droidcon Berlin 2022 through now, listing concrete items: Android 13 and Android 14… | ||
| Sweet Architecture | Benoît Quenaudon | 35m |
Cash App says unidirectional UI works across 40+ engineers and 600+ modules: views in Kotlin or XML, presenters in Rx, Coroutines or Compose coexist via a… | ||
| Off to the Races with Android | Etienne Caron, François Légaré | 44m |
Project builds remote‑presence RC racing using Android phones as the car brains, USB‑serial to ESP32 over USB microcontrollers, and WebRTC video plus a data… | ||
| Confetti: building a Kotlin conference app in 40min 🎊 | John O'Reilly, Martin Bonnin | 39m |
Confetti is a working conference app with a runnable GraphQL server and iOS Android clients built from shared KMM code the backend uses graphql-kotlin on Ktor… | ||
| The Art of KMP: how I learned backend development with Kotlin and why you should too | Lena Stepanova | 23m |
Notes show a Kotlin backend for a recipe app built with Ktor, using JetBrains Exposed ORM and Postgres, packaged with ShadowJar, injected with Coin, hosted… | ||
| 10 Years of Android Development: The Retrospective | Julien Salvi | 43m |
Covers a 10-year retrospective of Android development, showing concrete shifts from pre-Fragment apps using ActionBarSherlock and networking with Volley and… | ||
| How to ship apps better, faster, stronger | Fabien Devos | 28m |
Concrete practices and outcomes: adopt release trains with an ideal one‑week cadence so main is always shippable; put every feature behind feature flags and… | ||
| Exploring the Kotlin Multiplatform Ecosystem | Pamela Hill | 46m |
Claims that Kotlin Multiplatform is beta but production-ready and shows concrete stacks: a SpaceX demo app using Ktor + Ktorfit + kotlinx-serialization for… | ||
| Are your secrets secure - How mobile apps are leaking millions of credentials | Mackenzie Jackson | 39m |
Findings show hard facts not vague promises: 10 million secrets on GitHub, including ~2 million cloud provider keys and 23,000 AndroidManifest.xml files with… | ||
| Migrate to Gradle version catalog and convention plugins | Merab Tato Kutalia | 25m |
Migrates an existing project to a central libs.versions.toml, adds a small Gradle plugin published as a composite build so the cache stays intact, and replaces… | ||
| Different Monetization Strategies for a Mobile App | Anthony Stéphan Guilloteau, Romain Bouchaud | 34m |
Compares monetization strategies using two Android apps: Télécommande Livebox (2.2M downloads, 250k monthly users, short 2‑minute sessions) which combines ads… | ||
| Developing system apps without AOSP | Erik Hellman | 35m |
Claim: system apps can be developed without full AOSP by reusing AOSP test keys and userdebug images and by calling protected APIs directly. Practical steps… | ||
| Boost Your Mobile App with ChatGPT | David Silvera | 20m |
WeMoms integrates conversational AI and image models into a mobile app: a Python script called the OpenAI API to fetch meanings for 15,000 baby names in 24… | ||
| Animations with Compose: Make Your Apps Shimmering | Antoine Robiez, Baptiste Carlier | 47m |
A live-coding session demonstrates using Jetpack Compose animation APIs in a small chat app: AnimatedVisibility and animateFloatAsState for toggling FAB text… | ||
| App Clinic | Enrique López Mañas, Erik Hellman, Eyal Lezmy, Julien Salvi, Maia Grotepass | 01h 13m |
A live app clinic reviews four fresh installs: OufMime (family mime game), Babbel, Color Pop (coloring), and SeLoger, with reviewers opening each app cold and… | ||
| ~/git --help | Zhenlei Ji | 45m |
Explains git internals (blob/tree/commit/tag) and shows concrete commands and failures: git bisect for automated binary search of a regression, reflog to… | ||
| Get a performance score for your app | Alexandre Moureaux | 32m |
A tool called flashlight gives an app a 0–100 performance score by running an APK through end-to-end scripts with Maestro, averaging 10 iterations by default… | ||
| Defensive Programming: The Best Software Development Methodology Ever Invented | Chet Haase, Romain Guy | 23m |
Slide claim that defensive programming is the best never becomes a methodology; instead the session demos ChatGPT and large language model behavior. Live… | ||
| nothing matches | ||