~/conference

droidcon London 2022

date:2022-10-27..2022-10-28
location:London, United Kingdom
series:droidcon London · 5 editions
tags:[android]
titleauthorlength
From Scoped Storage to Photo Picker: Everything to know about StorageYacine Rezgui39m
Covers how Android moved from scoped storage (Android 10) to the Photo Picker, explains concrete APIs: use MediaStore & Storage Access Framework for shared…
Talk on
Practical TDD for AndroidTodd Yates39m
Argues that TDD is development guided by tests and shows a working approach used at Moonpig: an MVI pattern with expressive view states, intentions created on…
Talk on
Best Practices for Integrating Google Wallet to Your AppEdson Yanaga39m
Google Wallet integration uses the Google Wallet Android SDK (dependency com.google.android.gms.playservices.pay), requires Google Play services and the Wallet…
Talk on
Mastering Flutter WebJoachim Böhmer40m
Rewrote a 10-year-old mobile game in Flutter to use one shared codebase across Android iOS web, measured bundle sizes (HTML renderer ~380 KB transfer…
Talk on
Building a real-time collaboration tool using CRDTs and Kotlin MultiplatformAnders Järleberg, Carlo Rapisarda39m
A real-time collaborative board is built using CRDTs and a Kotlin Multiplatform core library shared across Android, iOS, web and backend, syncing over…
Talk on
Flutter under the hood. What makes Flutter tickEfthymios Sarmpanis41m
Overview of Flutter’s internals, showing that the framework compiles to native ARM and paints every pixel itself, uses Dart’s AOT and JIT so hot reload…
Talk on
Keynote: The Silver Bullet Syndrome Director's Cut - Complexity Strikes BackHadi Hariri41m
Argues the industry keeps replacing simple, proven setups with needless complexity, citing the path from HTTP/HTML to microservices stacked with GraphQL…
Talk on
Let's get this Droid on the roadAl Sutton36m
Explains the practical differences: Android Auto projects apps from phones and exists on 150 million Android Auto units, while Android Automotive OS runs…
Talk on
Thinking outside the Box: Custom Compose layoutsAndrey Kulikov, Andrei Shikov32m
Implements a custom header and a time-graph layout using the layout composable, defines alignment lines on first/last labels and computes bar positions as…
Talk on
Psychological Safety: Building fearless teamsAnastasia López, Sofia Gerbase36m
A clear claim: teams with high psychological safety and high performance standards hit a “learning zone” that improves outcomes, supported by Google’s Project…
Talk on
Keynote: Comedy Talk - Better Android Development (BAD)Ben Kadel, Viktor Stojanov34m
Claims a single giant file app where repositories, UI and services live together, a cardboard bad box to eliminate distractions, and a tongue-in-cheek Death…
Talk on
At long last we have Kotlin first at Meta!Peng Jiang, Sergei Rybalkin35m
Meta declares 10 million Kotlin lines across tens of thousands of modules and rolls out a Kotlin‑first policy that makes Kotlin the default for new Android…
Talk on
One design system to rule them all 1Daniel Beleza18m
Company builds a reusable, automated design system that extracts tokens from Figma custom plugin into JSON, parses them with a Kotlin repository and generates…
Talk on
Design for errors - An introduction to Domain Modeling with ArrowIvan Morgillo42m
Kotlin code demonstrates domain types instead of raw strings: value classes and private smart constructors validate names and emails at creation, and Arrow…
Talk on
Observation-based product development using Flutter 1Mangirdas Kazlauskas36m
App observation splits into app behavior, user feedback and product metrics and focuses on concrete actions not theory: implement a composite logger with…
Talk on
Plugging Into the Gradle MatrixJohn Rodriguez, Tony Robalik41m
Large monorepos are real: one repo has ~4,000+ Gradle modules and ~4 million LOC supporting ~170 active developers, another about 800 modules. The talk shows…
Talk on
Android Graphics: Blurring the LinesChet Haase26m
Android now exposes a render effect API to apply system blurs and color ops to whole views, plus an AGSL runtime shader that runs per pixel; a demo combines a…
Talk on
Streamlining Success - How we went from prototyping an SDK to serving billions of customersFilip Babić, Neevash Ramdial44m
Company builds SDKs for feeds and chat with real-time UI, offline sync, unlimited message storage and CDN support, plus Firebase/Xiaomi/Huawei push providers…
Talk on
Understanding Recomposition Performance PitfallsJossi Wolf, Andrei Shikov36m
Explains how recomposition works (snapshot observers record state reads, recomposer observes writes, composition restarts) and shows a practical profiler…
Talk on
Composable Sheep: The Creative Coding EpilogueNicole Terc, Tasha Ramesh39m
Shows how to draw and animate by plotting points in Compose using Canvas plus animationState and launchedEffect to drive a sketch composable that yields a time…
Talk on
Composing With ConfidenceAdam McNeilly23m
Shows how to test Jetpack Compose UIs end-to-end and component-level using concrete code: use createComposeRule or createAndroidComposeRule to render…
Talk on
Breaking the Rules: Dynamic Navigation in Modularized AppsSumayyah Ahmed30m
Explains how nav components and Gradle modules introduce scoping and shows three concrete patterns: using implicit deep links (URI + nested graphs) to land on…
Talk on
Behind The Screen: The Humans Who Use Our CodeMatt McKenna, Adam McNeilly30m
Breaks Android users into consumer / commercial / internal / hidden categories and gives concrete failures and fixes: airline displays still run Android Donut…
Talk on
Android History Q&AChet Haase25m
A book on Android history documents 60 interviews and a four year writing process resulting in 412 pages (audio took another six months) with all profits…
Talk on
What’s next for senior developers? The IC track missing manualLorenzo Quiroli36m
Clear steps to reach staff engineer include trading low‑effort busywork for projects with measurable business outcomes, tracking before/after metrics like…
Talk on
The power of Camera APIs and OpenGL all togetherSuneet Agrawal33m
Shows how to grab raw frames from CameraX + Camera2 and hand them to OpenGL ES (vertex + fragment shaders) to build real effects: implemented a fragment shader…
Talk on
Back to front - Backend technologies for the frontend developerSavvas Dalkitsis43m
Covers practical backend techniques front-end engineers can use: HTTP cache headers and stale-if-error (implemented at ASOS to serve expired images on network…
Talk on
Branching out to Jetpack ComposeChris Banes, Nacho López43m
Twitter for Android adopts Jetpack Compose over ~2 years, shipping features like Communities and a Compose navigation drawer and reaching 19 Compose modules…
Talk on
Compose beyond MaterialSebastiano Poggi35m
Claim: you can drop Material UI and still implement a full design system by using Compose’s four main components and reusing the foundation package primitives…
Talk on
Composing in your Canvas!Himanshu Singh31m
Shows how Jetpack Compose canvas draws real UIs using concrete APIs: drawLine, drawCircle, drawPath and drawArc to build a clickable circular progress…
Talk on
Opinionated guide on Proof of Concept projectsOussama Hafferssas19m
Practical checklist for proof‑of‑concepts: start by reading the docs and map product and cross‑team needs by tracking frustrations, form a clear hypothesis…
Talk on
Model-driven navigation with Appyx – From zero to heroZsolt Kocsi34m
Appyx implements model-driven navigation where navigation targets are sealed-class tokens resolved to nodes, letting code pass constructor parameters directly…
Talk on
Look, Mum, No Internet - Creating great experiences with offline-first appsAndreas Wenger32m
A practical recipe for an offline‑first loyalty‑card app: store resources in a local DB, use HTTP caching headers and split large lists into per‑resource…
Talk on
How to become your app's 'security champion'.Ed Holloway-George26m
Argues that mobile security matters now—3 billion Android devices, ~$2B stolen in crypto this year, 70% of fraud via mobile—and gives concrete starter steps…
Talk on
How the Android Framework Monitors, Processes, and Triggers ANRsJamie Lynch29m
Android’s framework starts a watchdog whenever work is scheduled and writes a trace to /data/anr via ANRHelper → ProcessRecord → AppErrors when thresholds are…
Talk on
google-services_json file - to commit or not to commit? That’s the questionRosário Pereira Fernandes18m
Explains that the google-services.json is just configuration read by the Google services plugin (open source on GitHub) and contains an API key plus service…
Talk on
Don't Kill My App: Android survival guidePetr Nalevka34m
Project documents that OEM "app killers" stop alarms, wake locks and foreground services; tests run a foreground service, acquire wake locks and schedule…
Talk on
Talking to your bike and other devices (wait, what?)Walmyr Carvalho39m
Android apps connect to an e-bike over Bluetooth Low Energy using cloud-backed certificates for authorization and read/write of BLE characteristics, with a…
Talk on
Practical Advanced Kotlin in PracticeSebastiano Poggi31m
Hands-on workshop that requires cloning a Git repo, IntelliJ or Android Studio and aims to get unit tests green across exercises; covers practical Kotlin…
Talk on
Finding Success on Large Screens and FoldablesJohn Wiese39m
Microsoft updates Android apps for large screens and foldables using Android 12L and a contributed Flutter/Jetpack Window Manager feature set, including a…
Talk on
Demystifying Enterprise Mobile Application DevelopmentChristopher Jobson25m
SAP’s Business Technology Platform plus SAP Mobile Services and the SAP BTP SDK for Android installs as an Android Studio plugin and uses a wizard to generate…
Talk on
Beyond the Basics: Performance Monitoring and User Experience for Mobile App GrowthMoataz Soliman17m
Instabug measures app health end-to-end: app launch, per-screen load, UI frames, network failures/latency and crashes, and combines session buckets into a 0–1…
Talk on
Power of federated plugins in Flutter's ecosystemGuillaume Bernos26m
Explains why MissingPluginException happens (native code not compiled after hot reload) and shows the real-world URL Launcher split across three packages…
Talk on
Secure your Flutter Web app using Multi factor authenticationRenuka Kelkar24m
Shows how to get true multi factor auth working for Flutter Web by wiring together real tools and code instead of theory. Uses Firebase + Identity Platform and…
Talk on
Your app deservers its own CLI: Try sidekickPascal Welsch18m
Sidekick generates a self‑executing CLI for Flutter/Dart projects that embeds a Dart runtime, provides a bash entry that auto‑downloads and auto‑compiles on…
Talk on
Native Platform Views for mobile and beyondDominik Roszkowski37m
Builds a native camera preview embedded in Flutter using SwiftUI via UIHostingController on iOS and macOS and a Kotlin native view using the camera-view…
Talk on
M1 Mac machines in CI_CD for Flutter developersNils Reichardt21m
Benchmarks compare an M1 Codemagic runner to Intel Mac mini and Mac Pro and show M1 builds much faster — real examples include reported reductions like 57 min…
Talk on
Let's test the full widget tree!Alicja Ogonowska41m
Full widget tree testing for Flutter runs the whole app in a test, mocking network at the HTTP wrapper so tests exercise routing, state and UI up to the…
Talk on
Extending FirebaseMajid Hajian14m
A quick photo-sharing app uses Flutter + FlutterFire with Firebase Core, Cloud Firestore and Cloud Storage; the first upload is a 20 MB image so mobile…
Talk on
Adding physics to your Flutter AppAlejandro Santiago Jaime Blasco23m
Built a live “bubble chart” that maps widget votes to physics-driven circles using Force2D (Box2D port) with Flame + flame_forge2d bridge, Firebase for votes…
Talk on
Securing Flutter AppsMajid Hajian36m
Claims that 75% fail basic security tests and that OWASP Mobile Top 10 issues mostly map to Flutter development guide the checklist: avoid over-requesting…
Talk on
Managing multiple packages in a monorepoLukas Klingsbo16m
Monorepo management for Dart/Flutter becomes a one‑tool workflow: Melos links local packages, fixes lockfiles or uses pubspec_overrides, and removes the manual…
Talk on
KarmaApp - Why we choose flutter and FirebaseSumith Damodaran40m
KarmaApp is a volunteer rewards app built in three months using Flutter and Firebase products: Cloud Firestore for events and users, Authentication, Cloud…
Talk on
Getting started with Functional ProgrammingPascal Welsch28m
Shows a concrete refactor: mutable product-list sort that originally calls list.sort becomes a pure function that returns a new copied list, is testable, and…
Talk on
Flutter on Desktop: end to end from build to distributionTeresa wu30m
Uses Flutter 3+ and the single command flutter create --platforms=macos,linux,windows to add desktop folders to an existing project, converts a mobile/web…
Talk on
Another World in FlutterSimon Lightfoot38m
Recreates the 1991 vector game Another World in Flutter by parsing original game data and porting the reverse-engineered VM into Dart; the VM is 20 KB with 256…
Talk on
Demystifying Molecule: Running Your Own Compositions For Fun And ProfitAsh Davies34m
Shows how Compose’s runtime can run headless so business logic emits testable streams: molecule turns composables into flows by creating a Recomposer…
Talk on
Going global: building for a multilingual worldPratyush More15m
Android 13 adds per-app language preferences so apps can appear in Settings and users can pick a language without switching the whole device, backed by the…
Talk on
Understanding the main threadHadi Tok23m
Explains how the main thread runs an infinite Looper/MessageQueue loop and how a Handler.post enqueues runnables, then demonstrates with lifecycle logs that…
Talk on
Tell me about it! - Improve your feedback game to become a better engineerElin Nilsson38m
Defines feedback as four parts and gives a practical feedback formula: identify the observable action, decide corrective vs evaluative judgment, name the…
Talk on
State of BLE on Android in 2022Erik Hellman35m
Bluetooth Low Energy on Android works but has concrete caveats: target min SDK 26, use the companion device manager and companion device service for discovery…
Talk on
Scaling Performance and Availability Monitoring across distributed squadsMichael Tweed37m
Skyscanner standardizes a tiny Kotlin data class and an operational event logger to send self‑contained error events (feature, component, description, stack…
Talk on
Migrate to Google Play BillingKevin Herembourg19m
Google Play Billing v5 replaces SKUs with product details and adds multi-plan subscriptions: a single subscription can have multiple base plans and unlimited…
Talk on
Gradle recipes for reducing your build timesAdam Ahmed35m
An app with 30+ modules and 1,400 developers reduces incremental local build time from ~14 minutes to ~2 minutes by pruning plugins, switching KAPT to…
Talk on
Go with the Flow!Lamberto Basti40m
Shows how to implement concrete Kotlin coroutines Flow operators: a partition operator that returns two cold flows (evens and odds) implemented with flow…
Talk on
AOSP customizationEffie Barak40m
AOSP is >100 GB across over 1,000 git repositories and builds on Linux; the emulator image builds out of the box while Pixel devices need vendor binary blobs…
Talk on
When one device is not enoughDaniele Bonaldo31m
Demo of Google’s Cross Device SDK shows a preview Android-only library (built on Play Services) that discovers nearby phones/tablets, opens low-latency…
Talk on
The ever increasing convergence of native iOS and Android mobile developmentJohn O'Reilly28m
Argues that native iOS and Android are converging through concrete features: modern languages that read similarly, declarative UIs implemented as SwiftUI and…
Talk on
Modularization - flatten your graph and get the real benefitsJosef Raska37m
Modularization strategy enforces module rules via a Gradle plugin that fails the build on illegal dependencies, extracts tiny API modules to break serial…
Talk on
Little Kotlin Multiplatform TreasuresMarc Reichelt42m
Builds Kotlin/Native binaries for macOS, Linux, Windows, JS and iOS, then inspects them with file, otool/objdump and strings to find embedded UTF‑8 data and a…
Talk on
Kotlin Multiplatform Mobile: From Hello World to ProductionPamela Hill, Tadeas Kriz41m
Kotlin Multiplatform Mobile compiles a shared module into iOS frameworks and Android JARs and is production-usable today in beta, but tooling has friction…
Talk on
Exploration of tools, frameworks to take the pain out of mobile app testing!Syed Hamid18m
Claims that a no-code test automation platform removes setup friction by spinning up real devices (example: Samsung S20) in seconds, records UI actions, and…
Talk on
Decompose your Kotlin Multiplatform project into feature modulesArkadii Ivanov22m
A concrete recipe for splitting a Kotlin Multiplatform app into lifecycle-aware feature modules using the Decompose library and a tree of parent/child scopes…
Talk on
Creating applications for small screen, low memory Android WearablesDaniel Neamtu24m
Shows a rugged WS50 running Android 11 AOSP with 1 GB RAM, 8 GB flash, 2 in touchscreen, camera plus barcode imager, NFC, Bluetooth, Wi‑Fi, push‑to‑talk and a…
Talk on
Snapshot testing (and more!) with PaparazziJohn Rodriguez37m
Paparazzi speeds Android UI feedback from minutes to seconds by running Android UI on the JVM using layoutlib’s JNI bridge and a JUnit rule that captures pixel…
Talk on
App-etite for Destruction: a look into the cookbook of an attackerIngmar Dasseville33m
Shows a concrete attack where an app reads an intent string extra and passes it into Class.forName, letting any app trigger privileged actions (examples: make…
Talk on
Open Source at ScaleNicola Corti35m
React Native runs at scale: 100,000+ stars and millions of weekly downloads powering products for billions of users, so the talk focuses on concrete practices…
Talk on
Modern App PerformanceBen Weiss41m
Overview of concrete fixes and measured gains: partners shave app startup by about 30% (Somato reports 30% faster cold start and 600,000 extra orders), Google…
Talk on
Mobile Application Performance Done The Right WaySteve Lerner21m
Claims a new tool provides video-correlated tracing that shows UI video side-by-side with system traces and a yellow line mapping which function calls which…
Talk on
Lessons in CI_CD from 3500 Android TeamsGen Citro24m
Survey of ~3,500 Android teams plus Bitrise’s 2M-build/month dataset shows median Android build time of 13 minutes on Bitrise, 86% run unit tests, 69% run…
Talk on
Keeping your team's Gradle builds in top shapeNelson Osacky41m
Shows concrete fixes and tools: run the build validation scripts (five reproducible experiments) to catch up-to-date, local-cache, relocatability and CI-cache…
Talk on
Expand your Android app beyond the phoneGiovanni Laquidara, Anisha Malde28m
Slides explain how to publish an Android app to the Amazon Appstore and run it on Fire TV, Fire TV for cars and Windows 11 via Windows Subsystem for Android…
Talk on
A closer look into error handling techniquesDiana Samboní17m
Claim: errors belong in the return type and treating them as first-class responses makes handling and composition predictable. Compares try/catch anti-pattern…
Talk on
Take a look at Jetpack GlancePiotr Prus27m
Shows a working weather widget built with Glance alpha5 using Compose runtime to emit RemoteViews, with per-widget state stored as GlanceId per-widget prefs…
Talk on
Exploring Android internals with ADBChris Simmonds41m
ADB is three pieces (adbd, adb server, adb client) and the demo uses command‑line ADB, getprop, uname -a (device runs Android 13 on Linux 5.10)…
Talk on
Creating & Scaling Meaningful Performance Tests in CIRyan Brooks38m
Focuses on testing only controllable, reproducible, impactful metrics (e.g., app startup) and warns against testing raw network latency or dynamic UI without…
Talk on
Caching your GraphQL data graphMartin Bonnin, Benoit Lubek21m
Explains how Apollo Kotlin implements a normalized cache that flattens nested GraphQL responses into record maps keyed by IDs, with both an in-memory layer and…
Talk on
Best practices for shielding mobile apps from emerging threatsJan Vidar Krey40m
Covers concrete defenses and failures: shows using Freda debugger and simple repackaging to change app behavior, reports testing 103 banking and finance apps…
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.