~/conference

droidcon Berlin 2022

date:2022-07-06..2022-07-08
location:Berlin, Germany
series:droidcon Berlin · 9 editions
tags:[android]
titleauthorlength
Orchestrate your UI tests with ConductorDMITRY ZAYTSEV31m
Conductor is an open source CLI and Kotlin library that runs black‑box Android (and iOS) UI flows without installing test APKs, replacing the ADB binary with a…
Talk on
5 ways to improve your Android build productivityBoris Farber, Miłosz Moczkowski32m
Five concrete fixes: keep Android Gradle Plugin and Gradle up to date (AGP 7 replaces compile with implementation), enable configuration cache in…
Talk on
Bloated ViewModels? What NextDAVID ODARI KIRIBWA22m
Android ViewModel usage narrows to one concrete claim: dumping business logic into Android Architecture Components ViewModels turns them into 900–2,000 lines…
Talk on
Testing: how hard can it be?Danny Preussler36m
Builds a Compose login flow and proves it with JVM tests that exercise ViewModel coroutines, a Retrofit/Moshi API client, and an…
Talk on
A talk for self-perceived impostors and their friendsZsolt Kocsi15m
About 70% of people hit impostor feelings and 58% of big‑tech employees report it regularly, and the talk gives concrete fixes: keep a written log of positive…
Talk on
Why do I have more than one Application instance?DANIIL POPOV16m
App instances duplicate across processes when merged manifests from libraries declare components with a process attribute, causing secondary processes to fork…
Talk on
Community DayAsh Davies14m
A live experiment uses a clicker and two colored slides so the audience controls whether the argument is pro or con, forcing a rapid flip between positions on…
Talk on
Upgrade Android Studio experience by building your own pluginsSantosh Astagi20m
Build plugins with the Gradle plugin (recommended), the older DevKit, or a GitHub template; register UI and actions in plugin.xml manifest; match the IntelliJ…
Talk on
Gesture navigation best practicesDiego Zuluaga, Aaron Labiaga33m
Covers concrete migration steps to use the Android 13 onBackInvoked / AndroidX ahead-of-time APIs, shows a WebView example that moves from…
Talk on
Skill-building and Growing in Seniority01h 01m
Five-panelists with about 10+ years experience map concrete ways to level up: publish small apps to GitHub and publish a Play Store app ($25) (three simple…
Panel on
Android at ScaleAnita Singh01h 00m
Panelists compare concrete patterns and mistakes for scaling Android: teams grow from 7→20 and 10→90 to 200+ engineers; use cross‑functional feature teams…
Talk on
War in Ukraine – How Can Devs Help?44m
Community volunteers build a refugee camp logistics system on monday.com integration and add an Airbnb API check to verify drivers within hours; 250 volunteer…
Panel on
Green Tech Development & Social ResponsibilityAlex Saalfeld, Markus Gilles, Chris Ward55m
Panel traces concrete wins and tools: a grassroots app once sends 15,000 emails led to Lords passing by 250 votes; Klima offers Klima: personalized CO2…
Talk
Comedy Talk – Better Android Development (BAD)Viktor Stojanov, Ben Kadel40m
A satirical playbook that actually names tools and decisions: recommends stuffing repositories, services and UI into a single-activity-with-everything file…
Talk on
RAMSES – An Open Source 3D Graphics Tool Chain for AndroidDaniel Haas, Klaus Gassner, Violin Yanev40m
Open source 3D tool chain used in production at BMW since 2018, delivering streams 3D scenes, not video to displays and shipping as a Maven package on Maven…
Talk on
How to Test Your Compose UIIstván Juhos33m
Practical guide to testing Jetpack Compose UIs using the Compose testing library and a small Hydration Tracker sample project: shows using…
Talk on
Lazy and amazy – Lazy layouts in ComposeSimona Stojanovic39m
Jetpack Compose provides lazyColumn/lazyRow/lazyGrid that render items on demand, with lazyListState (firstVisibleItem + offset), rememberCoroutineScope +…
Talk on
Optimize your app for large screensPaul Lammertsma33m
Android lays out a three‑tier checklist and concrete APIs for large screens: Android 12L/13 changes, Jetpack WindowManager and window size classes (compact…
Talk on
Keeping Google Play Safe: Privacy, Security and SDKsMaria Reis, Craig Fagan, Abhijit Chandgadka20m
Google Play outlines three concrete efforts: the Play Integrity API returns an encrypted integrity verdict at transaction time so servers can block fraud or…
Talk on
640K ought to be enough for anyoneYonatan Levin40m
Mobile apps hit out-of-memory even on big-RAM phones because Android imposes a 268 MB per-app heap limit and the system uses zram and an OOM killer that ranks…
Talk on
Deep dive into Modern Android PerformanceBen Weiss, Tomáš Mlynarič45m
Shows concrete wins and tools: customers cut cold start ~30% (Zomato → +90% day‑one retention, +600k orders; Google Maps → +30% start, +2.4% searches) and…
Talk on
Android Benchmarking and other storiesEnrique López Mañas, Iury Souza29m
Three Android benchmarking tools get compared: microbenchmark (unit-like CPU tests — example: quicksort and RecyclerView scrolls run from a separate Gradle…
Talk on
Modern Android DevelopmentFlorina Muntenescu, Wojtek Kaliciński55m
Google teams are actively smoothing gaps: they coordinate with Paparazzi, Shot, DropShot to make screenshot/snapshot testing easier to set up; Compose and…
Talk on
Implementing a Design System in ComposeSarah Yates41m
Monzo adopts Jetpack Compose alpha in late 2020 and builds a reusable design system that replaces heavy RecyclerView boilerplate with composables, supports…
Talk on
Modern Testing on AndroidJose Alcérreca35m
A tiny app called Sooth exposes a broken regex email validator that causes a .co.uk regression and shows why unit tests catch regressions early; tests use…
Talk on
Composable Sheep: A Compose Animations JourneyNicole Terc28m
Compose animations center on sequencing UI property changes rather than frame-by-frame art, and the talk demonstrates this with concrete code: state APIs like…
Talk on
A Complete Journey of Android ModularisationSinan Kozak37m
A practical account of splitting a 200k‑line monolith into 150+ modules with 10+ developers, showing concrete wins and tradeoffs: use of Gradle profiler and…
Talk on
Write it down: Using text in Jetpack ComposeAlejandra Stamato38m
Jetpack Compose breaks text into layers: Text -> BasicText -> Paragraph -> platform Java/C++ rendering, and offers downloadable fonts (fetch Google Fonts with…
Talk on
Keynote: Now in Modern AndroidFlorina Muntenescu, Wojtek Kaliciński41m
Modern Android shows concrete choices and working examples: a production sample app on GitHub called Now in Android sample that demonstrates Jetpack Compose…
Talk on
DevSecOps: Injecting Security into Android CI/CD PipelinesMoataz Nabil30m
Shows how to inject automated security checks into an Android CI/CD pipeline using a Bitrise CI workflow that builds, runs static analysis, uploads the APK via…
Talk on
Implementing Modern Android ArchitectureManuel Vicente Vivo45m
Concrete implementation of the Now in Android open‑source app demonstrates a layered UI/domain/data architecture with repositories, Room as the local single…
Talk on
Scaling Productivity: How we have improved our dev experienceGabriel Ittner, Hannes Dorfmann41m
Freeletics reports work by 15 Android engineers across four teams on a codebase of roughly 1,600 Gradle modules and claims concrete wins: a CLI called droid…
Talk on
Successfully publishing a tested, upgradeable and documented Open Source LibraryXavier F. Gouchet34m
Android SDK matured over 2.5 years with ~2,400 commits, 20+ contributors, ~30 releases and 10 Maven artifacts used on ~100,000 devices; goal is zero crashes…
Talk on
Writing bulletproof code with property-based testingSergio Sastre Flórez41m
Shows how property-based tests replace hand-picked cases with 1,000 semi-random examples by default and catches bugs missed by examples (uppercase-regex error…
Talk on
Forging the path from monolith to multi-module appMarco Gomiero37m
A year-long migration breaks the TIER Android monolith into a shell, libraries, feature contracts and feature implementations layout, extracts the ride feature…
Talk on
5 Common Traps You Can Step Into When Using CoroutinesPhilipp Lackner15m
Five concrete mistakes and fixes for Kotlin coroutines with code-level details: executing independent suspending calls sequentially instead of using async +…
Talk on
Why is it easy for an android developer to build MicroServices (and why most of them don’t do it)Manikanta Garikipati28m
Claim: Android experience maps to backend so developers reuse tools and patterns to ship microservices in weeks. Uses Kotlin + Gradle, Micronaut for…
Talk on
Untangling Coroutine TestingMárton Braun38m
Migrates projects to kotlinx.coroutines 1.6 testing APIs and shows concrete fixes: use runTest to get a TestDispatcher backed by a single…
Talk on
Something old, something new: Adding Jetpack Compose to a large open source Android appMaia Grotepass37m
Adds Jetpack Compose into Habitica, a large open‑source Android app with 26 activities and 33 fragments, facing tight Kotlin/compiler version coupling that…
Talk on
De-mock your testsJarosław Michalik27m
Argues that overusing Mockito/MockK harms code and shows concrete replacements: implement a fake database using an internal list/map instead of…
Talk on
The ever increasing convergence of native Android and iOS developmentJohn O'Reilly25m
Argues that native Android and iOS are converging through concrete examples: line-by-line comparisons of Swift and Kotlin, UI parity between SwiftUI/Compose…
Talk on
SDK Design and Publishing For Kotlin Multiplatform MobileKevin Galligan45m
Kotlin multiplatform code exports to iOS through Objective‑C, so default parameters get lost, generics and suspend/Flow APIs become awkward, and sealed…
Talk on
Creating Europe’s first mobile drivers licenseRutger Roffel24m
A Google-backed implementation uses the JetPack Identity Credential API and ISO-based certificates to put a government-signed driver’s license into the device…
Talk on
Memory Leaks & Performance Considerations: A CookbookAmanda Hinchman-Dominguez34m
Android apps leak memory when background work outlives UI lifecycles; coroutines can leak too unless using structured concurrency and cancelable scopes…
Talk on
Crash-reporting taken to next-levelTahsin Dane, Savan Ajamoglu29m
Built a BigQuery + Data Studio pipeline that ingests Firebase Crashlytics (real-time export of ~40–50 tables), cleans with Airflow, joins Firebase Analytics…
Talk on
A recipe for a CI/CD pipelineZan Markan38m
A complete CI/CD pipeline for the OwnTracks Android app uses CircleCI with Docker and VM executors, Gradle builds, Jacoco + Codecov coverage, and Espresso UI…
Talk on
Kotlin Multiplatform multithreading old and new wayAnna Zharkova42m
Kotlin Multiplatform concurrency historically forces Kotlin/Native code to use freezing and custom dispatchers to avoid frozen-exceptions; the talk shows a…
Talk on
Story about how Amazon built their first in-vehicle delivery appStephan Betz, Simanti Olive29m
Amazon Last Mile builds a dual-screen AAOS app for Rivian vans that runs on the vehicle head unit and complements the mobile driver app; it finishes in about a…
Talk on
Security First Android AppsTarika Chawla43m
Checklist-style practical fixes for Android app security: use EncryptedSharedPreferences not plain prefs; set android:exported=false for components unless…
Talk on
Live Coding Session: How do you Build More Privacy Focused Apps?Alice Yuan, Yacine Rezgui, Terence Zhang45m
Live coding converts a messy photomemory app into a privacy-first app: replace custom picker with the Android 13 photo picker (backported to Android 11–12 via…
Talk on
LinuxOnAndroid – Reviving a 10 year old Android projectZachary Powell20m
LinuxOnAndroid gets revived after a decade by rebuilding a one‑million‑download project that originally runs full GNU distributions via chroot method and peaks…
Talk on
Workshop: Inspect and improve app performanceBen Weiss, Tomáš Mlynarič05m
Hands-on codelab that measures and speeds app cold start using the Macrobenchmark library to record startup timings, then generates and applies Baseline…
Talk on
Shooting a “Glance” at App WidgetsFatih Giriş24m
Covers the Glance library that converts its own composables into RemoteViews and wear tiles, clarifies that Glance composables are distinct from Compose UI…
Talk on
Transforming farmer’s lives using Android in KenyaHarun Wangereka, Juma Allan16m
Apollo builds two Kotlin Android apps that are offline-first and use server-driven UI so field agents fetch versioned schemas (one example is form v14) from…
Talk on
Explained: Compose Compiler and RuntimeCan Yumusak28m
Explains how Jetpack Compose achieves context awareness and hot recomposition by a Kotlin compiler plugin that rewrites bytecode and by a runtime that stores…
Talk on
Extending IntelliJ-based IDEs at runtimeDmitry Kandalov42m
Runtime extension of IntelliJ-based IDEs using LivePlugin and Kotlin compiles a plugin.kts into classes loaded by a fresh classloader per evaluation, with a…
Talk on
Smarter Application Caching with Kotlin FlowNick Skelton40m
Shows a concrete caching layer built with Kotlin Flow that emits cached data immediately and network data when it arrives, using a createCachedCacheFlow…
Talk on
Demystifying Enterprise Mobile Application DevelopmentRobin Kuck16m
SAP offers a middleware called mobile services plus an Android SDK that integrates with native APIs, a Fiori-like UI kit, and an offline encrypted store…
Talk on
Android is open source, what does that mean for us?James Gatt20m
Average consumers replace phones every 2 years and many OEMs drop support at that point, but the Android Open Source Project exposes platform, device and…
Talk on
Sharing code among multiple projects: the case of internal librariesJean-Baptiste Vincey30m
Deezer extracts reusable code into private Android libraries organized as three libraries (features, core, design), hosted to an internal Nexus and released…
Talk on
The future of dependency management, seen from 2022Louis CAD36m
Dependency upgrades are slow and error prone with Gradle defaults, version ranges break reproducibility, and bots like Dependabot/Renovate generate noisy PRs…
Talk on
Smarter data storage on AndroidSebastian Spät, Markus Kett43m
MicroStream brings a JVM persistence engine to Android that serializes in-memory object graphs (POJOs only, no ORM or annotations) and writes delta-only…
Talk on
Creating Applications for Small Screen, Low Memory Android WearablesJames Swinton-Bland23m
AOSP wearable prototype (WS50) with 1 GB RAM and 8 GB flash, 2" touch display, NFC, Wi‑Fi and Bluetooth but no cellular, hot‑swap battery and integrated…
Talk on
Path to the freelanceEugen Martynov17m
Switching from an internal role to freelance after 1.5 years of contracting and landing two contracts requires setting up a self‑employed entity, quarterly VAT…
Talk on
Screenshot testing – The practical talkBenedict Pregler18m
Evaluates Shot and Dropbox (emulator-based) and Paparazzi; finds none perfect. Shot/Dropbox (emulator-based, sensitive to device/DPI/OS differences) requires…
Talk on
What I found when I look into your APKFung Lam17m
Scans of real APKs reveal concrete failure modes and fixes: oversized 32‑bit PNGs duplicated across densities produce a 100 MB APK from duplicated PNGs…
Talk on
The Curious Case of Android Gesture AnimationKinnera Priya Putti21m
Implements a stretchy, sticky square that snaps to top or bottom using ViewDragHelper with clampViewPositionVertical and settleCapturedViewAt for smooth…
Talk on
Basic Layouts in ComposeJolanda Verhoef, Simona Stojanovic07m
Hands-on one-hour workshop that builds a realistic UI from the MySoothe sample app using Jetpack Compose: implement each element (cards, rows, grids, lists)…
Talk on
How Android Automotive Helps Us to Design and Build In-Car User ExperiencesCasper Kessels29m
Claim: using Android Automotive lets a design team build and validate real in-car interfaces fast. The team runs Android Automotive on a Samsung S5 tablet…
Talk on
Invest in Real State: A workshop for State in ComposeAlejandra Stamato, Ian Clifton11m
Hands‑on walkthrough of state in Jetpack Compose showing exactly which APIs to use: mutableStateOf and delegated properties for simple values…
Talk on
Using Communication APIs to enhance your UX (and reduce notifications!)Zachary Powell28m
Apps send too many alerts so users ignore them: users get 46 notifications a day and only 4.6% are actioned, so push can’t start reliable flows. Communication…
Talk on
Painless, Typesafe Jetpack Compose Navigation with VoyagerAlexander Steenbergen35m
Migrates a 200-screen app to Jetpack Compose incrementally and replaces Google Navigation with Voyager, claiming no global NavGraph at startup and type-safe…
Talk on
Releasing and monitoring your Android app with FirebaseMarina Coelho, Rosário Pereira Fernandes33m
Overview of concrete Firebase release and monitoring workflows: use Test Lab’s device farm to run APKs/App Bundles and get screenshots videos and logs, extend…
Talk on
Open Source at ScaleNicola Corti36m
Practical playbook for running a massive OSS project like React Native: explain the dual-source model (FB source vs GitHub), use fbshipit to sync commits…
Talk on
How we migrated the CI / CD of our Android app to GitHub ActionsTitouan Thibaud19m
Migrates a legacy Google Cloud Build pipeline to GitHub Actions, replaces complex Docker images with reusable actions (Gradle action, upload-artifact, Java and…
Talk on
A ride through AOSP's new colorsSid Patil28m
Monet is the OS-level wallpaper-driven theming engine implemented as a SystemUI package plus wallpaper manager/service and a wallpaper observer that decodes a…
Talk on
Using Compose Runtime to create a client libraryFatih Giriş37m
Shows that Compose Runtime (not UI) can power non-Android clients by building a tiny Compose-based PowerPoint generator: compiler-injected Composer writes to…
Talk on
What's new in Amazon AppstoreGiovanni Laquidara30m
Amazon Appstore distributes Android apps to Fire TV, tablets, mobile and now Windows 11 via Windows Subsystem for Android (Android 11, US beta, requires ~8 GB…
Talk on
Inside the .git folder - Explore the mysterious depths...Ben Kadel36m
Maps every file inside a .git directory to actual commands and bytes: shows commits/trees/blobs as objects with 40‑char hashes (first seven usually enough)…
Talk on
Deep dive into DEX files byte-by-byteDANIIL POPOV42m
Explains DEX internals: header magic and checksums, string/type/proto/field/method tables stored as indices into shared pools, and code items holding…
Talk on
Building Glanceables with ComposeMarcel Pintó Biescas38m
Explains how Glance lets Compose-style composables become real widgets by translating to platform views and Tiles and shows a working weather widget that…
Talk on
Hype Driven Development: How I learned to stop worrying and love the failuresAsh Davies35m
Claims that chasing hype is OK if confined to a sandbox and risk-managed; builds a conference-listing app using GitHub content + GraphQL, Firebase Functions…
Talk on
It's Time to Build for Wear OSAtaul Munim, Yuri Schimke35m
Wear OS history condenses into concrete opportunities: build complications for quick presence with minimal UI, add tiles using Jetpack Tiles and the new Tile…
Talk on
Compose Beyond Material DesignFrank Tamre26m
Kyosk migrates from XML to Jetpack Compose to implement a company-specific design system, proving Compose production-ready in 2022 and completing a four-month…
Talk on
Testing: how hard can it be?Danny Preussler36m
Builds a Watch OS SoundCloud client and implements the login flow end to end: Compose screen -> ViewModel with coroutines -> wear client callback wrapped as…
Talk on
What’s on tonight? New developments in Android and Google TVPaul Lammertsma37m
Android TV OS now reports over 110 million activated devices across 300+ partners with seven of ten top TV OEMs and 170 pay TV providers, and the talk details…
Talk on
The age of large screen & foldablesFrancesco Romano, Cesar Valiente Gordo47m
Android 12L and Play Store ranking changes mean apps that adapt to larger screens get surfaced more, with about 270 million larger-screen devices cited…
Talk on
Diving into Koin 3.2 & Koin Annotations 1.0Arnaud Giuliani38m
Koin 3.2 adds a constructor DSL so you can declare dependencies with singleOf/factoryOf constructor DSL instead of hand-writing lots of get() calls, warns on…
Talk on
Securing Mobile Apps with OWASP MASVS & MSTGCarlos Holguera21m
Google recognizes OWASP MASVS since April 2022 and uses it for the App Defense Alliance badge; the MASVS lists concrete controls (storage has about 15…
Talk on
Treasure.map(): Functional Programming in KotlinKarin-Aleksandra Monoid35m
Explains why common collection functions map/filter/fold/flatMap are the day-to-day functional tools and makes the concrete claim that lists are monads because…
Talk on
Lessons Learned Migrating the Maps SDK to ComposeChris Arriola30m
Maps Compose is a Jetpack Compose interop layer that replaces tedious View-based glue by emitting map objects as composable nodes using subcomposition; it…
Talk on
Visualizing Assertions for Complex Logic TestsMario Bodemann17m
App state serializes into a UTF-8 chessboard string, then zips and base64s it to fit into 160 characters for the SMS API; UI renders with Jetpack Compose as a…
Talk on
Life is too short to develop only for Android – A journey to Server-driven UIJi Zhenlei35m
A server-driven UI system that ships entire screens by changing backend JSON, not app binaries, is described with concrete choices: Moshi polymorphic JSON for…
Talk on
RoverMap: Rendering a Vector Map With Rust and VulkanLorenzo Neumann, Jonas Treumer23m
RoverMap implements a native Rust renderer with Vulkan/Metal/WebGPU backends and Kotlin bindings, compiling one codebase to Android, iOS, macOS, Linux, and…
Talk on
How a tiny android app is changing travel experience and transporter industry business in AfricaAnselmo Alexandre09m
A tiny Android app called Bileteira uses Material Tools, Jetpack Components and Kotlin to let users pick origin, destination, date and seat, pay with M-Pesa…
Talk on
Error Handling Beyond the Standard LibraryStojan Anastasov44m
Builds a signup flow that actually validates name (non‑blank), email (must contain @) and phone (starts with + and ≥4 chars), calls Retrofit and stores a…
Talk on
Bytecode Transformations: Exploring new AGP APIs for instrumenting your appRoman Zavarnitsyn39m
Explains how the deprecated Transform API is replaced by the new AGP instrumentation API (available since AGP 4.2) that runs a single Gradle task, uses ASM…
Talk on
In-App Subscriptions for all Android devicesKevin Herembourg23m
Shows how to ship subscriptions across Google, Amazon and Huawei stores with a reusable module per store and a common purchase interface that handles SKU…
Talk on
Concurrency for ImpostersChris Ward28m
Explains why Kotlin coroutines beat ad-hoc threads for UI responsiveness, showing coroutines compiled to a simple state machine that suspends blocking work and…
Talk on
Keeping your Gradle builds in top shapeNelson Osacky33m
Company builds lose an estimated 42 hours per day when each developer wastes 60 seconds across 50 builds; a five-step build validation scripts suite runs two…
Talk on
What’s new in Apollo Kotlin 3Martin Bonnin23m
Apollo Kotlin 3 is rewritten 100% Kotlin and unifies runtimes to provide Kotlin Multiplatform plus a coroutines and Flow API; codegen now defaults to…
Talk on
Is my application taking up too much power?Alice Yuan, Vinny DaSilva33m
Android implements concrete limits: Android 9 introduces app standby buckets (active, working set, frequent, rare, restricted) and a restricted app can run…
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.