~/conference

Droidcon London 2023

date:2023-10-26..2023-10-27
location:London, United Kingdom
series:droidcon London · 5 editions
tags:[android]
titleauthorlength
Flounder to Flutter FoundLuke W07m
Labrys builds a single platform that integrates communications, task management, payments and secure coordination for defense, humanitarian and commercial…
Talk on
Improving Video Playback with ExoPlayerAlexey Bykov35m
ExoPlayer and Media3 are used end to end: MP4 progressive delivery cuts playback errors by about 5% and boosts views, so use MP4 for short clips; adaptive…
Talk on
And Gradle says: sharing is caring - Or why Gradle Plugins are all you need for your ConfigurationMatthias Geisler30m
Gradle plus Kotlin DSL uses version catalog TOML files to centralize versions, libraries, plugins and bundles, letting teams publish catalogs to…
Talk on
Bluetooth Magic, first levelNicole Terc32m
Builds a Bluetooth Low Energy mushroom-garden demo using AndroidX Bluetooth LE (alpha), GATT services and UUIDs, advertising, scan filters, and read/write of…
Talk on
Demystifying DaggerRyan Harter48m
Asserts Dagger remains useful and explains how it works under the hood: annotation processing generates Java factories like CrashReporter_Factory and members…
Talk on
Hot Take:Engineering Managers are actually useful!Parth Padgaonkar40m
Engineering managers plan and negotiate roadmaps and capacity (example: a five‑engineer team with two juniors, two mids, one senior), prioritize company…
Talk on
Flutter For The Discerning Android DeveloperSimon Lightfoot23m
Flutter compiles Dart with JIT during development and AOT to native machine code for release, enabling hot reload and small runtime startup via compile-time…
Talk on
A Picture Is Worth A 1,000 ... Lines? Devs?: Get the full picture (on image loading) with CoilRafa Moreno41m
Coil implements a concrete fetch‑decode‑transform pipeline that replaces the three naive lines of code by using an OkHttp LRU disk cache plus Okio buffering to…
Talk on
A\B Test Best Practices and Fun Case Studies from DeliverooJamie Adkins, Edward Harker34m
Deliveroo runs about 200 AB tests/year and uses experiments to turn guesses into dollars: removing the email button background increases sign‑ups, persisting…
Talk on
Brick by Brick: Building Open Source librariesPaolo Rotolo, Nicola Corti41m
A pintro (AppIntro) starts as an onboarding library that now has more than 10,000 stars on GitHub, handles onboarding, permissions and custom layouts, and is…
Talk on
Composing ViewModels:Breaking ViewModels into smaller self-contained UI modelsHakan Bagci40m
Micro-features replaces one giant ViewModel with many self-contained UI models backed by a root Jetpack ViewModel that passes scope and SavedStateHandle…
Talk on
Easy screenshot testing with ComposeJose Alcérreca35m
Screenshot testing verifies visuals by comparing new images to golden files and the ecosystem now supports JVM rendering with tools like Roborazzi and…
Talk on
How to handle incidents at scaleAlessandro Mautone19m
Defines incidents as unexpected disruptions and prescribes a concrete workflow: detection via tools like Firebase Crashlytics, Datadog and Prometheus with…
Talk on
How to stop the ‘Gradle Snatchers’: Securing your builds from baddiesEd Holloway-George38m
Shows how Gradle dependency verification actually works: generate verification-metadata.xml, use SHA-256 checksums and PGP signatures to catch impostors like…
Talk on
Fireside Chat with GooglersNick Butcher, Alice Yuan, Ben Trengrove, Jolanda Verhoef, Roberto Orgiu, Jose Alcérreca, Matvei Maltkov46m
A Google panel answers concrete roadmaps and tooling: a new flow to convert Compose previews into screenshot tests -> CI first later this year (Studio UI…
Panel on
Experimenting around Dart Entrypoint Function Name to get it allVadym Pinchuk19m
Experimentation shows a Flutter app can expose multiple isolated start flows by overriding getDartEntrypointFunctionName and wiring Android intent-filters to a…
Talk on
Delivering Seamless Mobile Experiences Through Holistic TestingSimona Domazetoska38m
Claims an AI-powered convolutional neural network flags UX issues automatically and ties them to an impact score; a real-device farm with three data centers…
Talk on
Peeling Back the Layers: Unmasking the UI-nknown!Manuel Vicente Vivo37m
Concrete guidance: expose screen UI as an observable holder such as StateFlow or Compose state (or LiveData) and convert external Flows with stateIn using…
Talk on
Google Home, But Better:Smart Home Display with FlutterMoritz Theis30m
A full smart‑home display runs on Raspberry Pi 4B (4GB RAM) with an SCD41 CO2/temperature/humidity sensor attached over I2C, a Waveshare 11" IPS touch display…
Talk on
How Custom RenderObjects can make your life easierRomain Rastel35m
About 70% of devs never write a render object and 12% admit being intimidated, yet concrete wins push it: custom layout solves a chat reaction bar that must…
Talk on
Exploring Records and PatternsPascal Welsch36m
Dart 3 adds records and pattern matching that create positional/named tuple types, auto-generate equals/hashCode, and are immutable but lack a built-in…
Talk on
Android Large Screen:How your app can power a workstationBenedict Kennedy40m
Zebra demonstrates turning a TC52 phone and a workstation connect dock into a usable desktop workstation for retail and healthcare, consolidating POS, printers…
Talk on
Beyond the Basics: Performance Monitoring and User Experience for Mobile App GrowthSean Higgins14m
Instabug claims deployment on nearly 3 billion devices and 25,000 app teams and adds session replay, app review management, and release controls to crash…
Talk on
Bring the power of Postgres to your Flutter app with SupabaseTyler Shukert38m
Supabase provides a fully managed Postgres database with auth, storage, real-time and edge functions (Deno), plus a vector DB via pgvector, and a Flutter SDK…
Talk on
Deep Dive into Flutter Animations: Crafting Dynamic and Engaging UIsJosteve Adekanbi35m
Shows concrete code patterns using Flutter implicit widgets like animated scale, animated opacity and animated position with real values (scale 2 or 3.1…
Talk on
Hitting a Gold Mine:How to Set the Gold Standard With Golden TestsMarcin Chudy35m
Golden tests render Flutter widgets to PNGs and compare them as snapshots; the team uses golden_toolkit and optionally alchemist for setup, writes at least one…
Talk on
Honest mistakes caused by shallow interpretation of SOLIDHaroldo Olivieri37m
Shows concrete failures from shallow SOLID use: a growing base class that becomes a god object, an engine example where adding an IEngine causes invalid regen…
Talk on
Rolling in the deep(link) - take a deep dive into Flutter navigationAlicja Ogonowska32m
Covers concrete steps: Android intent filters and hosting an assetlinks.json file, iOS Associated Domains and Apple App Site Association format, and demo…
Talk on
Seamless Interoperability: Harnessing JNIGen and FFIGenAkanksha Singh, Kendi J31m
Shows concrete bridges between Flutter and native code: method and event platform channels for simple calls like battery level, a camera/AR demo that accesses…
Talk on
Practical Magic with Animations in ComposeRebecca Franks32m
Implements a gesture-driven navigation drawer in Jetpack Compose that translates X, scales content to 0.8, and rounds corners using Modifier.graphicsLayer…
Talk on
Building RTL-Ready Flutter AppsRaouf Rahiche20m
Right-to-left scripts change layout, not just text: use Flutter’s Directionality/TextDirection, EdgeInsetsDirectional, PositionedDirectional and…
Talk on
From Complex to Seamless:Succeeding in codebase migrationsMaria Neumayer33m
Skyscanner migrates hotels from React Native to native with a goal to remove RN, adopt Compose and SwiftUI, and leave a maintainable foundation; the team uses…
Talk on
Do more faster - Taking your Mobile DevOps setup to the next levelTamás Bazsonyi21m
Four-stage recipe for faster mobile CI/CD: start with crawl/walk/run/fly (automate, parallelize, cache, remote cache), use Bitrise stacks and a step library to…
Talk on
Exploration of Touch & Input in Jetpack ComposeJolanda Verhoef38m
Demonstrates building a Compose photo grid that supports tap-to-open, double‑tap and pinch zoom, pan, and long‑press‑and‑drag multi‑select using real code at…
Talk on
Android App Performance in a NutshellBen Weiss39m
Shows concrete wins and tools: shipping baseline profiles cuts runtime and startup about 30% (Google Maps, Somato) and cutting startup by 77% is reported for a…
Talk on
I have a DateRenaud Mathieu24m
Calendars, time zones and clocks cause real bugs: the Gregorian calendar drifts one day every ~3,000 years, some zones use 30 or 45 minute offsets, and UTC…
Talk on
Become a hero to your DevSecOps teamNeal Michie21m
Demo shows a mobile app (a PS Pizza proof-of-concept) with a hardcoded API key and an HMAC-like challenge/response where an extractor uses ADB and JADX to pull…
Talk on
Enhancing Jetpack Compose App Performance:Tools, Strategies and OptimizationsTomáš Mlynarič35m
Use Jetpack Macrobenchmark and Perfetto-backed composition tracing to measure real user-facing metrics: startup and frame timing, trace-section durations and…
Talk on
Advanced Android Canvas APIsMarkus Hintersteiner18m
A canvas recorder is implemented to intercept and save Canvas commands for Android session replay, forwarding commands to the real Canvas while recording; a…
Talk on
Go the extra mile for your media app on AndroidAntoine Danois16m
Quick, actionable checklist of features that actually ship: enable Android Auto via MediaBrowserService and ExoPlayer (min SDK 23, declare icons and…
Talk on
Building Compose APIsJossi Wolf32m
Jetpack Compose team replaces a brittle swipeable API with a simpler, iteration-first design that becomes anchorDragable state plus modifier.dragable. The old…
Talk on
Challenges, failures and lessons from an agency building mobile products at scaleCarl-Gustaf Harroch35m
Digital agency Novoda grows from bedroom hack to ~100 people, builds hundreds of apps (Vetate for field data, MeetUp Android client, Timescape plugins), runs…
Talk on
Blast Off_ Managing Hundreds of UI Updates for Emoji CannonsPiotr Prus15m
Builds an emoji cannon in Jetpack Compose and shows concrete fixes: replace normal modifiers with offset lambda and use graphicLayer for rotation/alpha to…
Talk on
Our ongoing journey from REST to GraphQL on AndroidJulien Salvi39m
Migration moves Heroku from REST to a GraphQL API built on AWS AppSync with the Android client using Apollo Kotlin, separate OkHttp clients, Dagger Hilt lazy…
Talk on
Nested Navigation in flutter webRenuka Kelkar26m
Shows how go_router handles URL-based routing on Flutter web, why its default shell loses page state, and why the new stateful shell route plus an index stack…
Talk on
Navigation superpowers at your fingertipsZsolt Kocsi33m
Live demo of a multiplatform UI system that builds composable, gesture-driven transitions using the open source Epics toolkit: components (backstack, spotlight…
Talk on
Multiplatform USB:How to Communicate SeamlesslyMario Bodemann36m
Multiplatform pipeline that turns images into a zipped base64 payload, sends it over USB/serial and runs on Android, desktop, terminal and a web frontend; uses…
Talk on
Mobile Observability at scaleJosef Raska35m
Focuses on real time mobile observability (not post hoc analytics) and shows concrete practices: report response parsing errors with endpoint URL and exception…
Talk on
Migrating to Jetpack Compose - an interop love storySimona Milanovic33m
Migrating a view‑based app to Jetpack Compose works incrementally: the demo refactors a Reply sample by converting three small shared components (account item…
Talk on
Meet Jewel:Create IDE plugins in ComposeSebastiano Poggi, Chris Sinco33m
Jewel is a Compose for Desktop implementation of IntelliJ’s New UI that provides a Compose Multiplatform component library plus a Swing bridge to map…
Talk on
Introduction to Game Development with Flutter and FlameShree Bhagwat43m
A playable Mario‑style runner is built with Flutter plus the Flame engine using a sprite animation group to switch idle/run/jump/dead states, sprite sheets…
Talk on
Why is my app letterboxed?!Roberto Orgiu24m
Explains why Android puts apps into letterbox/size-compat mode (fixed orientation lock, fixed aspect ratio, or non-resizable) and how OEMs ignoring requested…
Talk on
Why can't my app open that file? A deep dive into the Android app sandboxChris Simmonds37m
Explains why apps get FileNotFound or SecurityException by showing Android’s sandbox is Linux DAC plus SE Linux MAC: every app gets an app UID per package…
Talk on
White-box CryptographyAtis Straujums09m
Claims that white‑box cryptography can keep keys hidden even when attackers control the device, and demonstrates a concrete product: Zkeybox produces a…
Talk on
Trust no one - Introducing the Play Integrity APIPietro Maggi32m
Play Integrity API verifies that backend requests come from honest apps and devices by returning an attestation with three signals: app integrity, device…
Talk on
The terminal is your friendEnrique Ramírez20m
Argues that the terminal becomes a practical daily companion for Android work by showing concrete configs, aliases and tiny scripts that save time: split…
Talk on
TextField in Jetpack Compose:past, present and futureAlejandra Stamato, Anastasia Soboleva41m
New Jetpack Compose text APIs replace the old value/callback shape with a state object and provide concrete tools: basic text field 2 with…
Talk on
Structuring modules in an Android app projectKinnera Priya Putti17m
Project moves from a flat list to nested folders, a codeowners file assigns specific reviewers, and interface modules plus a runtime service-locator meta file…
Talk on
Stop Treating Accessibility as an Afterthought: Concrete Steps to Build Inclusive AppsManuela Sakura Rommel17m
Accessibility is framed as concrete Flutter practice: target WCAG 2.1 AA (legal risk in EU/US/UK), test with Flutter’s AccessibilityGuideline class and the…
Talk on
Sink or swim:proving ideas in production, fastIvan Morgillo, Aurelio Laudiero, Daniele Bonaldo27m
Built two Android apps: a Midjourney-generated wallpapers app and a kids bedtime-stories generator using chat AI, both shipped on the Play Store and responsive…
Talk on
Shipping production ready Rust for AndroidTarik Eshaq30m
Rust eliminates most memory‑safety bugs and industry teams report ~65–70% of severe vulnerabilities are memory related, so Mozilla compiles Rust into Android…
Talk on
A guide to using foreground services and background work in Android 14Alice Yuan37m
Android 14 requires apps targeting it to declare mandatory foreground service types in the manifest or the app crashes at runtime; libraries must include them…
Talk on
Writing Kotlin Multiplatform libraries that your iOS teammates are gonna loveAndré Oriani36m
Explains concrete KMP-to-Swift failure modes and fixes: name clashes from flat Objective-C namespaces and overloads solved with Objective-C bridge naming and…
Talk on
Working with custom Android devicesErik Hellman37m
Covers the exact kit and steps used to get custom Android hardware from lab to boot: order developer boards early (delivery can be three months), expect…
Talk on
Think outside the serverJames Hamilton17m
Covers why client apps need active defenses: modded APKs remove ads or unlock features, social‑engineered crypto APKs impersonate originals, and game clients…
Talk on
Take your shot of Vitamin!Gerard Paligot21m
Vitamin is a cross‑platform design system: Figma, web, Android (XML plus Jetpack Compose implementation), and iOS (UIKit and SwiftUI). It ships as Gradle…
Talk on
Put Your Tests on a Diet:Testing the Behavior and Not the ImplementationStelios Frantzeskakis32m
Argues that replacing heavy mocking with a Given‑When‑Then BDD style on a sample chat app (StateFlow viewmodel, use cases, repository, message factory) yields…
Talk on
Practical ADB usage to enhance your life!Ben Kadel39m
Shows how to automate daily device tasks by building a bash script that sends ADB input events to log into an app without touching the phone, using dynamic…
Talk on
Performance in Compose:Lessons learned from Lazy layoutsAndrei Shikov37m
Updating to the latest Compose yields measurable wins—benchmarks show around 25% scroll frame-time improvement since recent releases—and switching debug APKs…
Talk on
Now smile (also in 3D)! Exploring AR, ML and Camera related APIs on AndroidWalmyr Carvalho39m
Recommends using CameraX for photo and video (CameraX 1.3.0 is now stable with effects and video), warns about permissions and bind/unbind lifecycle pitfalls…
Talk on
Making Data Visualizations More Accessible - Lessons LearnedEeva-Jonna Panula37m
Shows concrete fixes for Android Compose charts: adds a custom highlighter composable around Canvas points, gives each slice a content description via…
Talk on
From Laptop Builds to Advanced CIJason Pearson52m
Journey from laptop builds to a CI that routinely gives 3 minute unit-test runs and ~9 minute minified releases on a 400-module, 290k-line Kotlin codebase with…
Talk on
Developer Productivity On a BudgetJordan Terry, Adam Ahmed36m
Automated crash triage queries BigQuery every 30–45 minutes, parses stack traces, calls OpenAI for suggested fixes, and files Jira tickets to the correct board…
Talk on
Designing for Errors in a Kotlin-first SDK:When to throw, nullify, or return a Result.Hudson Miears17m
The Kotlin-first SDK migration revisits error strategy across about 2,000 functions built atop a C++ core with JNI and finds three actionable patterns: throw…
Talk on
Creating Engaging Android TV and Fire TV Apps with Native and Cross-Platform ToolsGiovanni Laquidara37m
Smart TV market hits ~$298B by 2026 with ~150M Android TV monthly devices and 200M+ Fire TV units sold, so demand is real. Android TV/Fire OS apps only need…
Talk on
Composing an API the *right* wayMárton Braun41m
Google's Compose guidelines condense ~13,000 words and recommend concrete rules: composable functions either emit UI (use UpperCamelCase nouns) or return…
Talk on
App architecture - singular vs pluralYoni Tietz17m
Trainline adopts MVVM and MVI, using MVI for predictable, logic‑heavy screens (user state drives immutable view states) and MVVM for the rest, with…
Talk on
90s Website … in 2023 on mobile in Compose … for scienceMaia Grotepass38m
A 90s‑style site is reimplemented with Jetpack Compose multiplatform using shader brushes, remembered brushes and infinite transitions, keyframe animations…
Talk on
What's new in Paparazzi?John Rodriguez40m
Paparazzi rewrites resource loading to stop depending on the deleted Android Studio legacy resource repo, replacing it with a lean IntelliJ-style resource…
Talk on
Unlocking Unity for Android Developers: Blending Android and Unity in HarmonyYevhen Pekutovskyi33m
Step‑by‑step recipe for embedding Android into Unity and vice versa using Gradle, .aar libraries and Unity’s AndroidJavaObject/AndroidJavaClass bridge with a…
Talk on
The GPT-ification of Mobile App TestingSyed Hamid19m
Demo shows a no-code platform (sophie.ai) plus OpenAI/Azure LLMs that provisions real physical devices in under 10s (demo uses a Samsung Galaxy S10), records…
Talk on
Sync Data with your Mobile Kotlin App The Easy Way!Mark Brown35m
A Kotlin sample app uses MongoDB Atlas Device Sync (Realm SDK) to provide birectional real‑time sync with a cloud Atlas cluster, a local ACID object store, and…
Talk on
Supporting your architecture with code coverage and static analysis rulesMichael Tweed20m
Describes a practical rollout: measure coverage with Jacoco, check results into CI, and apply inclusion and exclusion rules so only architecturally relevant…
Talk on
Staying RelevantNeil Hutchison34m
A concrete plan for staying current: split learning into passive (read one blog post a week via Android Weekly, watch Twitch streams, attend a meetup) and…
Talk on
REST in Peace: A Journey Through API ProtectionAndreas Luca, Marc Obrador Sureda14m
Backend team observes thousands of calls to public endpoints and shows HTTPS plus static API tokens still leak. A demo app and scripts prove interception via…
Talk on
Refactoring and Test Fakes: Crafting Resilient Code with ConfidenceAsh Davies30m
Argues refactor by creating seams (constructor injection, function params, narrower interfaces) so dependencies become replaceable without behavior changes…
Talk on
Deep-Dive Into Mobile Accessibility & Interactive QuizFanny Demey37m
Summary gives concrete takeaways: native screen readers read by on‑screen position not view hierarchy, causing awkward orders; Android and iOS differ so test…
Talk on
Conducting tech interviewsBob Dahlberg38m
Twenty years of hiring experience leads to concrete practices: after running ~40 interviews in 2–3 weeks (40+ intro calls, ~21 first-round, 12–15 second-round…
Talk on
Becoming and Staying a Productive Developer with Build Scans, Build Validation Scripts and GradleEtienne Studer, Nelson Osacky37m
Shows concrete tooling and fixes for Gradle-based Android builds: use the DevVelocity/Gradle plugin and artifact transforms in build scans to see previously…
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.