~/conference

droidcon Berlin 2024

Android developers, Kotlin developers, Compose developers, mobile QA engineers, app performance engineers, security engineers, automotive app developers

Android app shrinking with R8; Perfetto system tracing and jank; Kotlin coroutines in production; Kotlin binary compatibility practices; Compose multiplatform adoption; Compose UI testing and previews; On-device ML with Google AI Edge; OTA updates for Android OS; Android Automotive app development; Code obfuscation and anti-tamper; Passwordless auth with Passkeys; Video editing with Media3

titleauthorlength
Advanced Android app shrinking techniquesChristophe Beyls36m
Compares concrete builds of the FODM companion app and Tusky, using Android Studio APK Analyzer, Gradle dependency trees and R8 to measure effects: switching…
Talk on
TDD with AI?Matthias Geisler35m
Shows using Gemini in Android Studio to generate tests, fixtures and a repository implementation, claiming obvious wins for simple tasks and documentation but…
Talk on
Decipher users' behavior using ClarityIbrahim Radwan26m
Microsoft Clarity shows actual evidence: session recordings that reconstruct screens from drawing commands (not screenshots), heat maps aggregated by viewport…
Talk on
Perfetto Your App for Perfect PerformanceYevhen Pekutovskyi13m
Perfetto is a browser-based systemwide tracer that records CPU, threads, wake locks and UI events and shows jank when a frame exceeds 16.6 ms; traces come from…
Talk on
Kotlin Library API Design and Compatibility ChallengesArkadii Ivanov17m
Covers concrete compatibility failures and concrete fixes: adding a parameter to a public method creates a new signature and breaks binary compatibility…
Talk on
Attack & Defend, Defend & Monitor, Monitor & RespondKeir Storrie20m
Overview of practical defenses: describes real-world Android malware families like Gold Digger/Gold Pickax, shows how repackaging and credential leakage are…
Talk on
DAAS: Debugging as a skill!Himanshu Singh36m
A practical debugging recipe that names tools, numbers and outcomes: use Logcat and breakpoints to inspect runtime values, run the Android debugger to step…
Talk on
Testing in Practice: Keeping Your Tests Concise and DeclarativeAsh Davies29m
Argues that mocks cause brittle, interaction-only tests and recommends replacing them with Kotlin idioms: factory functions for injectable constructors…
Talk on
Side Project to $1k in Monthly Revenue and BeyondJeffrey Bunn34m
One app grows to 1,000,000 installs and $50,000 monthly revenue and is sold in 2018, and industry data shows 17% of apps reach $1k/month. Practical tactics…
Talk on
How easy is it to draw on GoogleMaps using Compose?Luca Nicoletti28m
Google Maps Compose is now split into three libraries and the Android Map Compose 5.0.4 composable exposes markers, marker info windows, clusters group markers…
Talk on
Tips, Best Practices, and Real-world InsightsSergei Maslov33m
Saving to Room via suspend DAO fails because viewModelScope gets canceled when the screen closes, so writes never finish; use an independent repository scope…
Talk on
Android Open-source repositories 101Enrique López Mañas39m
Recommends using Apache 2.0 license for permissive use with patent protection, automating dependency updates with Dependabot or Renovate, and running automated…
Talk on
Sneak Peek at the Screenshot Testing Landscape in 2024Sergio Sastre Flórez19m
Compares six real tools (Paparazzi, Roborazzi, Compose Preview, Shot, Drop, Android Testify) with concrete tradeoffs: Paparazzi vs Roborazzi require AGP or…
Talk on
Exploring Kotlin Symbol Processing: A Practical GuideDean Djermanović35m
Builds a small peoplehub app that stores people in a local DB and uses Kotlin Symbol Processing to auto‑generate a DBMapper interface plus an implementation…
Talk on
Actionable App Performance MeasurementBen Weiss36m
Practical recipe for faster apps: upgrade to AGP8, enable R8 and ship baseline profiles plus startup profiles; macrobenchmark generates profiles and measures…
Talk on
Stop Debating. Start Enforcing with Lint RulesStelios Frantzeskakis33m
Argues that architectural debates in PRs become automated checks by writing lint rules with Consist, which expresses rules as Consist lint rules as unit tests…
Talk on
Test your mobile and web app with a single test suitePieter Snyman14m
Claims a single Playwright-based suite runs mobile and web tests via an Appetize integration called Appetize App Recorder and shows a live demo uploading an…
Talk on
from regular to Android Automotive app developmentSven Falk, Marc Becker36m
Built an experimental arrow parking feature for the Stanara One that needed camera and sensor access and per-vehicle shared settings, and ends up using a…
Talk on
On-Device Machine Learning with Google AI EdgePaul Ruiz42m
A practical walkthrough showing how to run on‑device inference with MediaPipe Task with TensorFlow Lite, covering image classification, object detection and…
Talk on
Enhancing Mobile App SecurityManikanta Garikipati36m
Company app fails a VAPT and reveals plaintext and recoverable ciphertext; automated Frida scripts expose key algorithms and show keys retrievable in ~30…
Talk on
Distributing Over-the-Air Updates for Android OSgor Kalkov-Streitz34m
AOSP generates over‑the‑air packages directly from target files using the OTAA from target files script and the platform includes a sample updater app; full…
Talk on
ZePass: Digital Badges communicatingMilos Marinkovic, Mario Bodemann25m
Hardware badge runs a CircuitPython fork called ZOS driving a low‑res e‑ink display and uses Floyd–Steinberg dithering to convert images. Android control moves…
Talk on
Master the Art of Code Obfuscation from Simple to AdvancedCorvin Grigutsch36m
Shows that ProGuard/R8 only gives a baseline and demonstrates concrete obfuscation: renaming methods by replacing every 'i' with 'u', inserting dead bytecode…
Talk on
Of Cocktails and Mocktails.Frank Tamre35m
Team of seven engineers reveals two repeatable patterns: mocktail teams (homogeneous, avoidant, low ownership) and cocktail teams (strong opinions, unresolved…
Talk on
Coroutine PuzzlersAnton Dudakov41m
Interactive live quiz shows 20+ Kotlin coroutine puzzles with runnable code: exact outputs for launch vs coroutineScope, delay is suspend so tasks overlap —…
Talk on
Podcasting 101Nicola Corti19m
84 episodes, roughly 23,000 downloads total, bi-weekly schedule and two hours booked to record a 45-minute show; remote recording uses Streamyard with guest…
Talk on
Conflicts in Vulnerability Management and PatchingAntonio Nappa23m
Compares two concrete failure modes: baseband bugs require deep protocol knowledge and targeted radio calls so they rarely make headlines but can crash and…
Talk on
Type Safety and clear error objects in KotlinJanusz Leidgens19m
Uses a concrete updateTimer(id, minutes, seconds) example to show why three Ints lose meaning and cause silent bugs; replaces minute/second Ints with a…
Talk on
Practical Patterns for Kotlin Coroutines in ProductionMarcin Moskała37m
Practical, actionable rules for Kotlin coroutines: never use async immediately await is pointless — start asyncs together and await later or use…
Talk on
Building for the Future of AndroidNiharika Arora28m
Android 15 forces edge-to-edge S2H (status bar and nav gestures transparent) and expands inset handling left/right; enabling predictive back animations…
Talk on
AOSP Development EnvironmentViktor Mukha, Roman Illarionov37m
Concrete setup for AOSP Android 14 builds using Ubuntu LTS requires ~400 GB disk and ~64 GB RAM and full builds take hours while small incremental changes…
Talk on
The state of code coverage for KotlinEvgeny Mandrikov, Marharyta Nedzelska38m
Compares actual tools and failures: JaCoCo and JetBrains Coverage generally work but mis-map compiler-generated bytecode (try-with-resources, Kotlin inline…
Talk on
multi-modal AI to avoid eating takeawaysMaia Grotepass, Ivan Pletinskij27m
Built an Android Kotlin Multiplatform app that sends an image and prompt and returns a structured grocery list plus a recipe, implemented with Kotlin…
Talk on
Trust Yourself – How to Release to Production with ConfidenceEyal Yovel14m
Compares concrete tooling and workflows: Appium: cross‑platform, multi‑language (Java, JS, Python, Ruby, C#), client‑server architecture so tests run slower…
Talk on
How to train your designer?Dora Makszy45m
Argues that handing over a Figma file with connected screens, documented components and pre-handover comments cuts questions and prevents missed details that…
Talk on
What everyone can learn from building a frameworkEliza Camber43m
Built a reusable Android gaming framework called AGF framework that produces MVP apps by composing tested components and features, backed by a small AGF…
Talk on
Hotfix Heaven: Why In-App Updates Are a MUSTJames Cullimore35m
Shows concrete setup: uses the Google Play Core in‑app updates library with Flexible vs Immediate flows, sets priority 0–5 and staleness/backoff days, and…
Talk on
The Lazy (Meta)programmer's Guide to Hilt ExtensionsFabian Shallari28m
Claim: replace repetitive Dagger binding modules with one annotation that KSP generates into installable Hilt modules. Uses KSP and KotlinPoet to implement an…
Talk on
Crash course to Compose for TVPaul Lammertsma23m
Android TV claims 47% year‑over‑year growth and now reaches 220 million monthly active devices, and migrating apps to app bundles yields ~20% size reduction…
Talk on
Lessons Learned from a Surprisingly Long Career in TechChet Haase36m
Career overview states a 35 year span in graphics programming with stints on Java Swing and Java2D, work on the Flash rendering engine and Flex (learned…
Talk on
Monetization for Automotive AOSP AppsNikolai Glazkov, Nuno Palma18m
Foria’s platform ships an OEM-embedded module plus a developer SDK that enable in‑app purchases across 23 car brands and ~200 apps now, with a worldwide…
Talk on
Software Defined Vehicle and Android Automotive OSMarius Mailat31m
Claims Android Automotive moves from infotainment to core SDV workloads and forecasts that many current tier‑ones will disappear; a commercial Spark layer runs…
Talk on
The Future of 3rd Party App Ecosystems in CarsNiklas Weiss, Juhani Lehtimäki, Jose Freitas, Casper Kessels, Danny Preussler, Gerhard Grossberger, Sven Eckoldt35m
OEMs are rolling out Android Automotive stores (BMW already ships a store client) while vendors offer white‑label stores and QA bridges; current tooling is…
Talk on
Android in Automotive, the Real FragmentationJuhani Lehtimäki18m
Claim: almost all cars run Android within five years, but OEM theming and API changes mean an app that works in one brand often fails in another. Polestar and…
Talk on
The Future of In-Car EntertainmentMattijs de Valk09m
Frtoarts runs a white-label app store for cars, delivered roughly 200 applications since 2017 and now sits inside Forvia which supplies parts to about one in…
Talk on
Build apps for Android Auto and Android Automotive OSBen Sagmoe34m
Android Auto is phone‑powered and present in about 98% of cars sold while Android Automotive OS runs in‑car (first ship Polestar 2 in 2020, Android Automotive…
Talk on
Building and Launching Android Automotive Apps to the App StoreMaxim Lebold, Saverio Labella, Matthias Ostermeier44m
Builds a real Android Automotive app end to end using the Android Automotive emulator (Google/Volvo images, Pixel tablet, cuttlefish) and the Ignite portal…
Talk on
Releasing an Android, iOS, and macOS app with KMPMarco Gomiero34m
FitFlow is a Kotlin Multiplatform app shipping on Android, iOS (SwiftUI) and macOS (Compose Multiplatform JVM) and it reaches stores after solving signing…
Talk on
Koin vs. Kotlin-injectSebastian Lobato Genco17m
Comparison of Koin and Kotlin‑inject for a Kotlin Multiplatform library integrated into an existing app serving ~40M users shows Koin wins here because its…
Talk on
Uniting Native SDKs into KMPGiancarlo Buenaflor13m
Reuses existing Android and iOS Sentry SDKs to produce a Kotlin Multiplatform MVP that calls each native init and shares a single common API, built with…
Talk on
Crime Scene InvestiGITorBen Kadel39m
Covers Git internals (commits, trees, blobs under .git/objects) and concrete CLI workflows: git cat-file and git rev-list to inspect objects, using reflog to…
Talk on
Composing an API the *right* wayMárton Braun39m
Summary of actionable rules from the AndroidX Compose guidelines and JetBrains Compose Multiplatform details: use camelCase for constant-like objects and nouns…
Talk on
AndroidX Lifecycle's Path to MultiplatformMarcello Galhardo29m
AndroidX Lifecycle moves to Kotlin Multiplatform by extracting shared logic (a new viewModelProviderImplementation) while keeping Android-only constructors and…
Talk on
Working with NFC and smart cardsDmitrii Romanenko32m
Explains how Android talks to NFC cards using ISO/IEC 7816-4 and EMV commands, showing real SELECT (A4), GET PROCESSING OPTIONS and READ RECORD exchanges and…
Talk on
Developing Android Automotive Apps for the VW GroupSaverio Labella, David Nguyen39m
VW Group ships a white‑label Harmon Ignite Store app marketplace integrated into car head units, with payment via Samsung Checkout and a digital wallet, plus…
Talk on
Best practices for evolving Kotlin librariesLeonid Startsev36m
Explains concrete JVM compatibility pitfalls (renaming named parameters, adding defaulted params breaks binary) and shows a practical workflow: use the binary…
Talk on
Exploring Android Accessibility MalwareTamir Daniel28m
Shows a working Android proof of concept that uses AccessibilityService to automate logins on installed apps by crawling the window node tree, clicking UI…
Talk on
Securing your app: Classic Android vs Other frameworksJordi Ventayol19m
Flutter compiles Dart into a native libapp that embeds a serialized Dart snapshot, leaving plaintext strings in the read‑only data segment and only stripping…
Talk on
an opinionated look at Googles library collectionThomas Künneth38m
Google's Jetpack lists 115 artifacts but many are duplicates, outdated, or poorly categorized; documentation misses subordinate modules and shows legacy…
Talk on
Is This App Accessible? A Live Testing DemoEeva-Jonna Panula40m
Live demo tests the Clue period‑tracking app with Accessibility Scanner (recording screenshots), Switch Access driven by volume buttons, and maxed font/display…
Talk on
Behind the mirror, Kotlin ReflectionDanny Preussler37m
Kotlin reflection exploration shows exactly what works and how: use KClass/KType/KFunction/KProperty to inspect constructors, nullability and suspend…
Talk on
Our Journey to Fully Automated Weekly ReleasesMarjana Karzek29m
Company replaces biweekly manual validation with an automated pipeline that runs end to end tests on PRs via the GitHub merge queue and Flank, verifies UI with…
Talk on
Unblocking The Main Thread: Solving ANRs and Frozen FramesSinan Kozak40m
Apps freeze at 700 ms and ANRs trigger at 5 s; profiling shows vector drawable init costing ~78 ms each, encrypted SharedPreferences can take up to ~500 ms and…
Talk on
Mobile Developer Productivity EngineeringHakkim Alavudeen37m
Zelando runs ~70 million Android installs, a 40% app-visit growth since 2018, and centralizes app platform work into a modularization effort called project…
Talk on
Building a Scalable Android PlatformMonica Muntean, Adrian Cruceanu28m
Deutsche Bank consolidates multiple mobile banking, 2FA and trading products into a single, modular Android platform that started in 2019 and evolves over…
Talk on
What’s New in Compose MultiplatformMárton Braun, Sebastian Aigner42m
Live demo builds a working expense tracker with shared Compose UI and AndroidX ViewModel running on Android iOS and desktop, using Kotlin Multiplatform. Code…
Talk on
Incoming new message for youSven Eckoldt, Nils Frers24m
Carriad uses Android Automotive OS plus Harman’s app store to ship real car apps across VW Group brands; example: an Incoming Messenger app that consolidates…
Talk on
Vehicle Abstraction with Open Source TechnologiesSven Erik Jeroschewski30m
Open source Vehicle Signal Specification (VSS vehicle signal specification) provides a tree of standardized signals plus rules to extend per model, adopted by…
Talk on
Feature Runners - code, build, run, repeatSandeep Nair15m
Large apps get a fast shortcut: create a small mini app Gradle module that depends only on the target feature and shared modules so it never goes into the…
Talk on
Effective App Monitoring in ProductionMauro Frezza, Alejandra Stamato38m
Top-down monitoring tracks user actions from viewmodels into a system task object and pushes latency, availability and error metrics to New Relic; dashboards…
Talk on
Solving Poly-Repo Dependency NightmaresMohamed Gamal34m
SumUp confronts polyrepo dependency drift by building Gradle tooling: custom build-logic repo and published settings plugins that generate version catalogs…
Talk on
Kotlin Language Features in 2.0 and BeyondMichail Zarečenskij38m
Kotlin 2.0 ships a rewritten front end (FIR) after ~5 years and ~80 subsystems changes, focused on performance and correctness; the compiler now dugars complex…
Talk on
Hitchhiker’s Guide to Kotlin Multiplatform LibrariesJohn O'Reilly34m
Five years of concrete examples: 11 KMP samples showing cross‑platform apps (Android, iOS, desktop, web) that actually run with shared view models and shared…
Talk on
Getting to a green build with caching on CITamás Bazsonyi19m
Claimed 95% faster ideal speedups but typical real projects see 30–60% gains; a concrete test shows Amaze file manager 28:43→3:48. Setup of Bitrise remote…
Talk on
Passwordless App with PasskeyMustafa Khaled38m
Claims that 81% of password breaches come from weak passwords and 34% of users reset passwords monthly, and reports of 95% fewer resets and a 4x increase in…
Talk on
Your app could use a secondary screen!Daniel Neamtu19m
Android supports secondary screens since Android 7 with activities resizable by default and Android 12 changing compatibility behavior; apps should check the…
Talk on
Going 100%* Compose MultiplatformRichard Schattauer33m
Practical rundown for adopting Compose Multiplatform: project setup recommends JetBrains web wizard not the Android Studio plugin; Compose Multiplatform 1.6.11…
Talk on
That's not a phone...Erik Hellman38m
Survey of real, shipped Android hardware from tiny phones to cars, with hard numbers and failure causes: Xperia X10 mini forced Android to accept smaller…
Talk on
The Android Experience seen from an iOS dev's perspectiveMichael Hitzker16m
An iOS developer implements a reusable “what’s new” popup on Android using Android Studio, Kotlin and Jetpack Compose, struggles to get a transparent activity…
Talk on
SEQUEL SQL for Android DevelopersKai Koenig42m
SQL is 50 years old and Android uses embedded SQLite (available since the early 2000s) with limits like concurrent reads but sequential writes, slower disk I/O…
Talk on
Hardware development with KMP and Compose DesktopEnrique Ramírez34m
A working prototype called Matrix8 wires an ADG2188 8x8 switch to a Raspberry Pi and uses Kotlin Multiplatform with the JVM desktop target and Compose…
Talk on
Improve the build times of your projectAntoni Castejón García33m
N26 reduces full-app clean assemble from 24m → 6m (−75%) by flattening Gradle dependency graph and removing a single huge "inject legacy" model; graph height…
Talk on
Speechless, droidcon editionChet Haase45m
A live PowerPoint karaoke set uses audience prompts to invent concrete absurdities: claims include 2,300 attendees, the conference app is explicitly Droidcon…
Talk on
Guide to Foreground ServicesDomen Lanišnik38m
Android 14 requires a mandatory foreground service type declared in the manifest and passed to startForeground or setForeground, or the app gets security or…
Talk on
Three ways to use AI on AndroidMarcel Pintó Biescas31m
MVP is a clipboard reply app that uses the Gini SDK to generate replies, but the initial hardcoded API key is stolen from the APK and drains credits. Moving…
Talk on
TIDAL App with Jetpack ComposeVladimir Jovanović, Safal Kumar Ghimire35m
TIDAL’s homepage is rewritten using Jetpack Compose and a clean repository architecture in three months, shrinking roughly 29 modules to three types…
Talk on
Tap it! Shake it! Fling it! Sheep it!Nicole Terc32m
Builds a tappable, draggable, flingable and shoppable Canvas chip using Jetpack Compose and Kotlin Multiplatform with working code on GitHub. Tap toggles scale…
Talk on
Jetpack Compose: Drawing without pain and recompositionVitalii Markus36m
Shows concrete fixes that cut recomposition and allocations: replace state-read modifiers (alpha, offset, background) with versions that read state in layout…
Talk on
Demystifying Pixel Shaders (AGSL)Timo Drick39m
Shows how to write AGSL pixel shaders that run compiled on the GPU and integrate into Jetpack Compose via a runtime shader → brush created in drawWithCache and…
Talk on
Advanced Layout Animations in ComposeDoris Liu, Rebecca Franks37m
Explains how Compose implements layout animations by adding a new lookahead pass that measures target bounds so animations chase stable layouts instead of…
Talk on
Building an AR app with Compose & OpenGL ESPau Guillamon36m
Concrete recipe for a working AR prototype: use Compose + OpenGL ES + ARCore, host GL on a SurfaceView/TextureView via AndroidView or AndroidExternalSurface…
Talk on
Real-Time Communication in AndroidMehmet Burak Akgün14m
Shows a Kotlin Multiplatform Android app talking to a ketor backend using HTTP, SSE and WebSockets, with a Compose UI offering three buttons for REST, SSE and…
Talk on
Testing Tricks with KotlinMarc Reichelt36m
Kotlin test hacks that speed up debugging: enable Gradle configuration cache to make repeated runs much faster, use IntelliJ’s run automatically and…
Talk on
Bringing Predictive Back Gestures to your AppTim Brüggenthies17m
Timeline of platform changes (onBackInvoked in Android 13, onBackAnimationCallback in 14, enabled by default in 15) maps to a concrete recipe: use the…
Talk on
Practical Tips and Tricks to Improve Your Compose PreviewsIstván Juhos33m
Shows concrete fixes: use showBackground=true and UI mode parameters to get light/dark screenshots in Android Studio, group variants with MultiPreview…
Talk on
What everyone can learn from building a frameworkEliza Camber43m
An internal Android framework called AGF reduces time-to-MVP by shipping reusable components and features, using a Figma design tokens with modes pipeline to…
Talk on
How to keep your app awake in a GSM phone appPeter K. Brandt38m
Custom GSMR “railcom” app replaces the default dialer and implements InCallService and CallScreeningService plus a foreground service and device admin to stay…
Talk on
Open Source Community BuildingAndreas Itzchak Rehberg, Antonios Hazim40m
An open source collective reports three developers, five apps and about a thousand community members, resurrecting three abandoned apps; a 1,000-project study…
Talk on
Compose UI Testing beyond layoutsAndrei Sorokin38m
Builds a Compose UI test stack that runs 400+ end-to-end regression tests with mocked network and navigation, cutting full run time from 55 to 25 minutes by…
Talk on
Feature Teams vs. Platform PainPetar Ljubic33m
Claims that swapping org structure doesn’t fix underlying issues: one company moves from platform teams to feature teams and back, creating a loop of the same…
Talk on
Video Editing on Android with Media3Kristina Simakova18m
Media3’s Transformer module provides concrete APIs for transcoding, trimming, composing and effects, with claimed device-level optimizations and support back…
Talk on
Design System 3.0 with Jetpack Compose at N26Arne Herdick, Shivam Verma31m
N26 migrates its Compose design system from rigid view entities to a slot-based API, converting about 70% migrated of components since September 2023…
Talk on
How “Write-Once/Deploy Everywhere” is Becoming a RealityGabriel Gautron, Daniele Bonaldo, Melina Mascolo32m
Claims a path to write-once/deploy-everywhere by standardizing APIs and delivery: a Kovesa SDK (ADL interface + Kotlin/Flow wrapper) plus an ADL-based mock…
Talk on
~/search
type to search 6,249 conferences, 138,987 speakers and 185,172 talks
~/help
cmdctrl k
search every conference, speaker and series
/
focus the filter search
h
home
c
conferences
s
speakers
e
series
t
light / dark — the status bar button does the same
?
this help
esc
close this, then clear every filter — or just the search, while you are typing in it

Ignored while you are typing. Pages without a filter rail have no search to focus.