droidcon EMEA 2020
| title | author | length |
|---|---|---|
| And that, folks, is how we shared code between Android, iOS and the Backend | Mario Gomoerio | 50m |
Shows a real migration: a shared KMP library (HN foundation) with DTOs published to a local Maven, consumed by an Android app, a Ktor backend endpoint, and an… | ||
| Practical Android CI_CD with GitHub Actions and Kotlin script | David Vávra | 48m |
Practical recipe for Android CI/CD using GitHub Actions plus Kotlin scripting that ties Slack slash commands, Jira, Firebase App Distribution, Google Play and… | ||
| Experiments for your Android Builds Driven | Gradle Profiler | 44m |
Uses Gradle Profiler to run reproducible scenarios (example: 2 warmups + 5 measured builds or 4 warmups + 15 measured builds), outputting CSV and HTML reports… | ||
| The Flexible Flutter -Multi modularisation & Seamless Integration with Native and Web | Ashank Bharati, Natesh Bhat | 41m |
Nuclei migrates its Android/iOS SDKs to Flutter while keeping native libraries and gRPC backend intact, reporting ~3M transactions/month and ~4M monthly users… | ||
| Ask Googlers about Modern Android Development | Manuel Vivo, Jose Alcérreca, Chris Warrington | 01h 02m |
Panel gives concrete answers: Jetpack avoids adding single live event because of lifecycle and observer semantics and will add documentation; Android Studio… | ||
| Become a Composer | Brian Gardner | 01h 29m |
Jetpack Compose is alpha (alpha4) and requires Android Studio 4.2 Canary; the workshop shows a runnable GitHub project with small exercises that demonstrate… | ||
| A Multiplatform Adventure! | Carlos Mota | 01h 30m |
Claims that Kotlin Multiplatform is ready for real apps and shows a two‑hour workshop that actually builds an Android and iOS app sharing business logic only… | ||
| Great migration to SQLDelight | Yevhenii Kanivets | 16m |
Shows a concrete path to replace existing Android databases with SQLDelight: Kotlin Multiplatform common module, SQLDelight Gradle plugin, .sq schema files… | ||
| The way to modularization | Ahmed Abdel-Sabour, Kingsley Adio | 01h 30m |
Large Delivery Hero app moves from one monolith to a deliberately modular codebase with 60+ modules supporting 6 apps and 3M+ daily users, splitting code into… | ||
| Code generation for the masses | Martin Devillers | 41m |
Shows why code generation pays off and how to build one: common Android tools used are Moshi codegen, Dagger, Room, AutoValue, Protocol Buffers, SQLDelight and… | ||
| Ask Googlers about Jetpack Compose | Nick Butcher | 41m |
Jetpack Compose is alpha now with 1.0 planned next year and the panel gives concrete status: APK impact: ~9 MB debug, 2.2 MB minified for small samples; lazy… | ||
| ConstraintLayout 2.1+ : what's next | Nicolas Roard, John Hoford | 42m |
ConstraintLayout 2.1 focuses on concrete features: flow virtual layouts let one helper reference many views with wrap and table-like alignment; MotionLayout… | ||
| Keeping my sanity, when white-labeling 40 apps | Ricardo Belchior | 23m |
Reach plc manages 45 white‑label Android apps by extracting long flavor and signing lists into a separate flavors.gradle extraction, generating per‑flavor… | ||
| Hands-On Workshop: Developing Dual Screen Experiences | Cesar Valiente, Bianca Miron | 01h 23m |
Builds a 10‑item master/detail app in a 1h30 live codelab, then adds dual‑screen support so list stays on the left and details on the right using the Surface… | ||
| Android Shell Like a Jedi | Alex Ivanov | 39m |
Live terminal demo shows exact commands and outcomes: use adb shell am start -a ACTION -d URI to fire deep links, pm revoke <pkg> <perm> and pm grant to toggle… | ||
| Modern App Distribution on Google Play | Wojtek Kaliciński | 42m |
Google Play moves new apps to Android App Bundles next year and requires opting into Play App Signing so Play holds the signing key (generated keys cannot be… | ||
| Rapid Development and Native Code Compilation for Multiplatform UIs | Glenn Dufke | 46m |
Shows how RAD Studio (Delphi/C++Builder) and FireMonkey produce runnable Android APKs from native Object Pascal or C++ by using the Android NDK + LLVM 32-bit… | ||
| Facebook Flipper – Extensible mobile app debugger | Maksim Turaev | 20m |
Compares Facebook Flipper with Android Studio by naming exact features: Electron desktop plus SDK over ADB, React JS UI, layout inspector that edits view… | ||
| Digital Nomad. Pros and cons | Artur Badretdinov | 51m |
Three years of working from 20+ countries yields practical lessons: pick regions to minimize visa churn, verify broadband (Cuba had 100 kilobit per second… | ||
| Talk CoAP to me – IoT over Bluetooth Low Energy | Matthias Nefzger | 41m |
Android app implements CoAP client talking to battery-powered sensors over Bluetooth LE by tunneling CoAP messages through a Nordic UART service and using SLIP… | ||
| Advanced Bluetooth for Android Developers | Martin Woolly | 43m |
Android Bluetooth low energy discussion shows measurable results: a 100 kB transfer using default MTU/LE1M and a 48.75 ms interval takes ~8 seconds, but… | ||
| Garbage collection free video pipelines with Kotlin and coroutines | Tunji Dahunsi | 44m |
Kotlin coroutines and small, allocation-free abstractions produce a live Android pipeline that captures Camera2 frames, rotates them with RenderScript… | ||
| Code Review, A Software Engineer's Best Friend | Goce Anastasovski | 43m |
Argues that code reviews catch bugs earlier, lower fix cost, and teach engineers; cites Apollo source as readable and reviewed by six people with ~65,000 lines… | ||
| The effects of Kotlin inside Android apps and libraries | Eric Lafortune | 40m |
Analysis of the Google I/O scheduling app (300 Kotlin files, 176 JARs → 16 DEX) shows concrete effects: Kotlin stdlib ~1.4MB, coroutines ~1.5MB; enabling… | ||
| Stately and Composed | Etienne Caron | 48m |
Shows working Compose code (Android Studio 4.2, Jetpack Compose alpha4) tying immutable Kotlin data classes to UI with Coil image loading, LiveData via… | ||
| Please Draw Me a Sheep... in AR | Julian Salvi | 46m |
Claims that mobile AR reaches ~1 billion users and ARCore now supports 250+ devices, and shows a working prototype built with ARCore and Sceneform that… | ||
| Lessons From Switching From The Web To Building My First Android App | Akinjobi Sodiq | 16m |
Switch from web to mobile using Flutter and Kotlin alternatives, join a study group with a 3‑month goal, and build a working weather app called Wewe in under… | ||
| Acing your tests with KMP | Mina Eweida, Marco Signoretto | 40m |
Careem runs Kotlin Multiplatform in production for two years and ships a cross-platform SDK that targets JVM, JavaScript (Node), iOS and Android, using… | ||
| And that, folks, is how we shared code between Android, iOS and the Backend | Marco Gomiero | 49m |
Builds a small Kotlin Multiplatform library of DTOs then publishes it to a local Maven repo and uses it from a Ktor backend, an Android app and an iOS app… | ||
| Split Architecture & Inner Source. Let the developers spread their wings! | Paweł Helm, Jacek Filo | 42m |
HSBC runs over 300 Android developers, pushes 100 PRs a day to support apps in 30+ markets and claims Inner Source plus a Split Architecture cuts duplicate… | ||
| How to add advanced in-app chat features like multilingual support in minutes | Jason Koo | 34m |
Sendbird demonstrates adding chat to an Android app in minutes using Android Studio, the Sendbird UI Kit SDK and a dashboard toggle to enable on-demand… | ||
| Boosting Productivity with Android Studio Plugin | Kata Zavorotchenko | 41m |
Built an IntelliJ/Android Studio plugin that makes Litho a first‑class IDE citizen by adding file generation and on‑the‑fly warnings, code completion, file… | ||
| Landing Your Next Gig In Tech | Annyce Davis, Wesnie Marcelin | 30m |
Resume review tips include replacing vague objectives with role-aligned impact statements, listing technologies (Jetpack, coroutines, Flow, Rx) as facts, and… | ||
| The 4 steps of Android Machine Learning | Hoi Lam | 44m |
Covers concrete, runnable paths: start with the people + AI guidebook for design, use ML Kit for on‑device APIs or pair on‑device object detection with Cloud… | ||
| Sharing my Preference for DataStore | Florina Muntenescu | 24m |
DataStore replaces SharedPreferences with two implementations — Preferences DataStore for primitive key/value pairs and Proto DataStore for typed protocol… | ||
| AndroidTV: Bigger screens, Bigger challenges | Frank Tamre | 35m |
Building for Android TV requires OEM-specific steps to enable developer mode (TCL, Sony, Samsung vary), using USB debugging or ADB over Wi‑Fi when available… | ||
| Building for the next Billions | Adam Ayuba | 21m |
Targets "TikTok generation" users who expect fast, simple, low-friction experiences; recommends using Flutter for cross‑platform responsiveness and Firebase… | ||
| Introduction and deep dive into dual screen foldables app development | Cesar Valiente, Bianca Miron | 40m |
Concrete how‑tos for dual‑screen Android: stepwise approach to test on the Surface Duo emulator, add small wins (drag‑and‑drop between apps using… | ||
| The Adventures of a Kotlin-based Library Developer | Hubert Kosacki | 30m |
Covers concrete binary-compatibility pitfalls when migrating a Java library to Kotlin: named arguments are part of the API so renaming parameters breaks… | ||
| Designing a Design System | Shai Mishali | 28m |
A Swift CLI named Prism reads Zeplin style guides via the Zeplin API, applies Stencil-style templates and generates platform-specific code (iOS color enums… | ||
| Building Smarter Apps: MLKit for Android | Omolara Adejuwon | 45m |
ML Kit for Android provides vision and NLP APIs for on-device, offline processing (face detection, barcode scanning, text recognition, object detection, pose… | ||
| Modern security for Android Developers | Dinorah Tovar | 26m |
Covers concrete steps: explains AES CBC and padding, shows using KeyGenerator to create a master key stored in Keystore, and demonstrates Jetpack Security… | ||
| More than Android? | Michael Bukachi | 25m |
Defines a "mod" Android dev who jumps between Python backend, JavaScript/TypeScript front end, Kotlin Android and Bash for DevOps in a single week, building… | ||
| Firebase and Kotlin: Extensions, Coroutines and Flows | Rosario Fernandez | 30m |
Explains which Java SDK gaps Firebase KTX fills and shows concrete extensions like Firebase.database and snapshot.toObject<T> plus inline reified builders… | ||
| Rolling-out like a Rock-Star | Nicola Corti | 43m |
Spotify builds an in-house remote configuration system (replacing ABBA) that delivers over a thousand feature flags daily across Android iOS web and C++ shared… | ||
| Security | Design for Mobile Application Development | 33m |
Advocates a concrete shift: adopt seven principles including designing for a zero‑trust world, doing early risk modelling to produce an MDSP (minimum viable… | ||
| Why Exception Handling with Kotlin Coroutines is hard and how to master it | Lukas Lechner | 42m |
Kotlin coroutines propagate unhandled exceptions up the job hierarchy, so installing a CoroutineExceptionHandler on a child coroutine does nothing — it must… | ||
| Easing in to Material Motion transitions | Nick Rout | 38m |
Material Motion on Android uses the four patterns—container transform, shared axis, fade through, fade—to make navigation meaningful and the MDC Android… | ||
| Developing Locally with the Firebase UI Emulator | Peter John Welcome | 32m |
Shows how to run the Firebase UI Emulator locally using Node (>=8), JDK 1.8 and the Firebase CLI, install with firebase init emulators and start with emulator… | ||
| Writing performant layouts | 22m | |
Shows how nested layouts cause double measurement (two passes) and jank, and how tools find the culprits: Layout Inspector, Lint, Systrace/Frame Metrics API… | ||
| Effective Flutter Apps Development with Firebase & Tips | Kenichi Kambara | 39m |
Shows a Flutter to‑do app built with Firebase that actually syncs in real time and works offline, using firebase_core plus cloud_firestore and Google sign‑in… | ||
| Jetpack Compose for Games & Animations | Wajahat Karim | 41m |
Shows concrete Compose APIs and working examples: Canvas plus animateContentSize, AnimatedVisibility, animate values, animatedFloat and Transition… | ||
| Android Performance for Dummies (and Experts) | Bhavita Lalwani, Darshan Pania | 43m |
Covers actionable checks and fixes: use Android Vitals to see ANR, crash, wake‑lock and startup percentiles; reduce APKs with minifyEnabled + shrinkResources +… | ||
| Writing Kotlin Compiler Plugins with Arrow Meta | Mohit Sarveiya | 43m |
Arrow Meta provides a functional API to hook into Kotlin’s parsing, analysis, resolution and IR phases and actually build plugins that run: examples include a… | ||
| Visual (a.k.a. screenshot) testing with Vizzy | Raul Portales | 41m |
Vizzy is an open source Vizzy system that uploads Espresso screenshots to a Rails backend (planned Docker distribution) for pixel comparisons using… | ||
| Using Hilt in a multi module project | Fabio Collini | 40m |
Compares Dagger vs Hilt with concrete migration notes and shows Hilt’s real mechanics: modules use the installIn annotation to bind into generated components… | ||
| Testing Everything in Flutter | Miguel Beltran | 39m |
A small GIF Review app is used to show three concrete test layers: fast pure Dart unit tests (example: an average-of-ratings function), widget tests that… | ||
| Ktor to your heart’s content: easy mobile backends in Kotlin | Sebastiano Poggi | 41m |
Shows how to build a real REST JSON backend for a fictional PushBeat IoT app using Ktor + coroutines, Kotlinx.serialization, Logback and a war-based Gradle… | ||
| Testing Compose | Jose Alcérreca | 21m |
Compose is built with testing first: more than two thirds of Compose code lives in tests, and the same APIs are available to app authors. Tests use a compose… | ||
| Refresh, renew, refactor: modernising a large Android app with many users | Maia Grotepass, Andrey Liashuk | 42m |
Luno modernises a legacy Android app (first commit Jul 25 2014, ~1,150,000 active users) by converting Java to kotlin, swapping AsyncTask and EventBus for… | ||
| Write smarter code with Sealed Classes and Lambdas in Kotlin | Eury Pérez | 37m |
Kotlin example builds a RecyclerView with a sealed StaggeredListItem hierarchy (BuyNow, Auction, Advertisement) attached to data classes so each case carries… | ||
| Search Delight on Mobile with Algolia | Ferdinand Bada | 35m |
Shows how to add full text search to Firestore by exporting collections to Algolia via Firebase Cloud Functions and an HTTP trigger, requiring each record an… | ||
| Playing nicely with media controls | Don Turner | 20m |
Android 11 replaces stacked media notifications with a dedicated media carousel that shows up to five recent media sessions and uses existing MediaSession APIs… | ||
| Compose for existing apps | Manuel Vivo, Chris Banes | 46m |
Jetpack Compose is in alpha and you can incrementally add it to apps using ComposeView to host Compose inside XML, AndroidView or AndroidViewBinding to embed… | ||
| Fueled Reactive apps with Asynchronous Flow | Raul Hernandez Lopez | 44m |
Migration plan for a Twitter search app shows a concrete path from RxJava to coroutines: convert network and DB calls to suspend functions, use Kotlin Flows to… | ||
| CYBERSECURITY!, The good, the bad, and the hacked | Olowoniwa Gabriel Ayokunle | 30m |
Focuses on real file‑upload failures and fixes: no validation uploads let attackers drop shells; MIME type spoofing via Burp and getimagesize‑embedded PHP… | ||
| Material UX for Engineers | Ash Davis | 55m |
Argues that using Material components and native patterns reduces user friction, saves long-term development cost, and improves retention; cites market-share… | ||
| How to write your own MVI library and why you shouldn't | Mikołaj Leszczyński, Matthew Dolan | 50m |
Shows a working MVI implementation using Kotlin Coroutines that fits under ~30 lines: state exposed with MutableStateFlow, intents as direct viewmodel methods… | ||
| Putting Your App on the Map: How to Handle Location in Android | Richard Süselbeck | 42m |
Explains concrete choices for Android location: use Google’s fused location provider as the convenient default, or fall back to Android’s LocationManager or… | ||
| Keynote: Modern Android Development | Chet Haase, Romain Guy | 48m |
Recommendation: adopt Kotlin as the primary language with coroutines for structured concurrency and the Kotlin-specific tooling (KSP, R8 optimizations); use… | ||
| Multiplatform Functional Architecture with Oolong | Michael Pardo | 46m |
Shows a concrete Kotlin Multiplatform MVU implementation: Kotlin Multiplatform core with the Oolong MVU runtime, a counter app rendered with Jetpack Compose… | ||
| Developing an Open-Source Accessibility Library For Android | Filip Babić | 42m |
An open source Android library called Alli performs runtime scanning of every view hierarchy like LeakCanary for accessibility it hooks lifecycle callbacks and… | ||
| The brave new world of the Huawei divorce from Google - HMS and beyond! | Thean Hoogenboezem | 18m |
Huawei is replacing GMS with HMS and pushing apps into App Gallery deployments increasing, with Huawei offering app, media, graphics and cloud equivalents… | ||
| Rethinking UI: Imperative to Declarative | Joe Birch, Prateek Prasad | 39m |
Modern UI shifts from imperative XML/storyboards to component functions: Jetpack Compose (alpha) plus SwiftUI and React let you declare UI from a state object… | ||
| nothing matches | ||