~/conference

droidcon San Francisco 2023

date:2023-06-08..2023-06-09
location:San Francisco, United States
series:droidcon San Francisco · 5 editions
tags:[android]
titleauthorlength
Passkeys: A password-less future with Jetpack Credential ManagerKateryna Semenova11m
Passkeys use public/private keys with the private key stored on-device and biometric or PIN unlock to sign transactions, the public key sent to the server…
Talk on
Build Health and Velocity Score: How Pinterest tracks the state of buildsManuel Nakamurakare24m
Pinterest defines a Build Health Score by multiplying measurable signals: percentage of local builds under 10 minute local / 45 minute CI thresholds, CI…
Talk on
Mobile Feature Flags and Experiments at UberArun Babu ASP, Mahesh Hada37m
Uber runs 25,000 feature flags and ~4,000 active experiments across 10+ apps and builds an in-house library with annotation processors that auto-generate…
Talk on
From Chaos to Consistency: Managing Build and Release for 25+ Android Repos with Github ActionsShrikant Ballal33m
Migrates 25+ Android repos from ad-hoc Jenkins pipelines to a central CI/CD repo using reusable workflows on GitHub Actions, builds and publishes AARs to…
Talk on
Tactics for Moving the Needle on Broad Modernization Efforts-Case Study Android Platform @ RedditLauren Darcey, Savannah Forood, Steven Schoen, Catherine Chi46m
Platform work at Reddit focuses on concrete wins: modularization cuts the app-module surface from 28% to an 86% smaller monolith, yields sample apps 10x faster…
Talk on
Evolution of Location Permission in Android From Install Time to Runtime and BeyondSreekumar Anjali Bhavan Vijayan, Eddy Gann18m
Traces Android permission changes from install‑time manifests to runtime prompts: Marshmallow (Android 6) introduces runtime permissions, Android 10 splits…
Talk on
Improving Developer Experience with Gradle Build ScansNelson Osacky, Rooz Mohazzabi42m
Shows how Gradle Build Scans capture full build metadata (console, test reports, timeline) and speed triage by sharing a unique URL and using the d-scan…
Talk on
Panel Discussion Adopting Jetpack Compose @ ScaleAlejandro Sanchez, Christina Lee43m
Teams start with a proof of concept and monorepo integration (using basil and buck), build component libraries first, then pilot full‑screen usage; one…
Talk on
Let Standards Light Your Way Best Practices for App DevelopersMichael Krueger44m
80% of tested apps fail their first assessment, 75% misuse crypto libraries, 85% suffer vulnerable third‑party dependencies and 4 out of 5 offending SDKs…
Talk on
Gaining the Benefits of Monorepo in a Polyrepo WorldKyle Lehman33m
A concrete recipe for getting monorepo benefits while keeping many repos: use Gradle convention plugins to publish shared build logic, Gradle composite builds…
Talk on
AI for Android on- and off-deviceCraig Dunn43m
Live demos show an Android app using Onnx Runtime for on-device inference (a 12 MB object detector that misses some statues) and a local build of Whisper…
Talk on
Reimagining text fields in ComposeZach Klippenstein37m
Reworks Compose text fields around a new state object and mutable edit buffer so updates are atomic and efficient, adds a composable filter API (chainable, can…
Talk on
Pruning Your App: Good Practices for Reducing App SizeChrystian Vieyra32m
Converts large PNG assets to WebP and cuts binary size with a concrete case where a 1.66 MB PNG becomes 48 KB (≈3% of original) and a full-app asset conversion…
Talk on
Practical Compose Navigation with a Red SirenNick Dipatri31m
Live-codes a small Compose app that remotely toggles a physical red siren using navigation-compose: builds a top nav, navController + NavHost routes, and a…
Talk on
Frida as debugging tool for AndroidAleksandr Efremenkov35m
Uses Frida to attach over ADB to a rooted emulator by running frida-server in /data/local/tmp and a desktop frida client; injects a JS script using…
Talk on
What's up with Android's backNav Singh24m
History and migration path for Android back navigation with concrete guidance: use onBackPressedDispatcher (backward-compatible to API 21) or platform…
Talk on
Securing Android Applications - The not so secret guide explainedOlivier Tuchon, Desnos Anthony01h 22m
Workshop provides APKs and live exercises that use JADX, APKTool, ADB and Android Studio to find real flaws: a debug build that logs credentials (login checks…
Talk on
Identify Android App Startup time issuesSagar Das40m
Defines cold/warm/hot startups and gives concrete thresholds: Play Console: cold >5s, warm >2s, hot ~1.2–1.5s counts as slow. Recommends measuring TTID (first…
Talk on
Find your way with GoogleMap() {}Brian Gardner30m
Build shows ATMs and retail cash deposit points using compose-maps 2.11.4 plus Play Services Maps; markers animate to camera updates and camera idle triggers…
Talk on
Demystifying Baseline ProfileBoon Wai Hoong26m
Baseline profiles get read from APK assets, transcoded to match the device profile version, and write baseline profile at startup via the profile installer…
Talk on
Common Cache issues in Android projects - 2023 EditionInaki Villar, Nelson Osacky41m
Practical checklist of reproducible cache failures and fixes for Android Gradle builds: absolute paths and live-edit live literals embed user-specific paths…
Talk on
Balancing Speed and Reliability The Double-Edged Sword of Third-Party LibrariesTy Smith39m
A Google Maps SDK server change on April 23, 2020 causes app crashes for days, prompting rollbacks and two hotfixes and requiring teams to delete three files…
Talk on
A shortcut for your productivity in Android StudioZhenlei Ji35m
Shows how to learn and customize Android Studio shortcuts by example: use Shift Shift / Shift+Cmd+A to search actions and Option+Enter to assign or enable…
Talk on
We want go fast Performance at FaireZachary Sweigart28m
Defines TTI as end-to-end interaction to interactive UI and sets goals: app load <2s and TTI under 1s 95%. Builds in-app tracing for navigation and Jetpack…
Talk on
The Subtle Art of Profiling Android AppsPierre-Yves Ricau37m
Local profiling workflow for Android apps that reproduces issues on a real device using a release profilable build then records traces with Perfetto…
Talk on
The GPT-ification of Mobile App TestingSyed Hamid28m
Claims a no‑code mobile test platform called SofiSense that integrates ChatGPT to generate test cases and Appium code, demos live conversion of a functional…
Talk on
How we reduced startup time of Turo Android appPavlo Stavytskyi38m
Turo cuts app cold-start by 77% improvement by removing a 1s splash animation, replacing a separate splash activity with a single home activity using…
Talk on
Go with the FlowAkshay Chordiya37m
Explains how Kotlin Flow is built on suspend functions and two interfaces (emitter + collector), shows operator internals, and demonstrates concrete patterns…
Talk on
Deep Dive Into Size Configuration ChangesAlex Vanyo26m
Explains that size configuration values represent an activity window, not the physical screen, and that insets and DPI rounding produce concrete bugs (Pixel 7…
Talk on
Building Multiprocess Android ApplicationsTatiana Solonets29m
Life360 keeps a multiprocess architecture to isolate the sensor-backed foreground service and reduce crashes and security risk, and engineers build a…
Talk on
Animating content changes with Jetpack ComposeKinnera Priya Putti17m
Crossfade and animateContentSize handle simple content swaps and expand/contract transitions; crossfade gives a one-line fade, animateContentSize animates size…
Talk on
We Hear You! Audio & Voice Testing on Android DevicesShannon Lee17m
Demo shows a remote workflow that makes real Android devices appear local to Android Studio so developers can debug audio input/output and mic issues using…
Talk on
Securing Sensitive Data Android Keystore vs Whitebox CryptographyNeal Michie20m
Argues that cryptographic keys must never be in the clear because static and dynamic analysis extract them; hardware options include secure elements (embedded…
Talk on
Seamless mobile code mergesNikhil Ramakrishnan21m
Uber Android infrastructure migrates from Jenkins and slow Gradle builds to a modern CI plus Buck and a speculative merge queue that reruns and reorders…
Talk on
Innovating with Health Connect a deep dive into its key benefitsGastón Kosut11m
Health Connect provides an on-device Health Connect APK and SDK that unifies Google Fit Samsung Health and Fitbit data into a single API, supports 50+ data…
Talk on
Going on a road trip with Android AutoCarlos Mota21m
Porting the Confetti conference app to Android Auto using the Android Car App Library (alpha) produces a working in-car APK that uses list and grid templates…
Talk on
Getting rid of the REST Migrations to GraphQL from RESTAdam Greenberg16m
Pinterest migrates 878 endpoints and 7,000+ fields for 450M+ users using Apollo Kotlin and a normalized cache to avoid a full REST-to-GraphQL model rewrite. A…
Talk on
Fantastic tests and where to find themDaniel Horowitz30m
Explains concrete rules: use FIRST and Kent Beck’s 12 test properties to prioritise speed, isolation and repeatability; prefer lightweight fakes over mocks to…
Talk on
Building a component library in Compose for a large-scale banking applicationOdin Asbjornsen33m
Large bank UI team migrates to Jetpack Compose by wrapping Material to match Efemeria Design, mapping custom color/typography/shape classes and using…
Talk on
Putting a Jetpack on your legacy codebaseKurt Nelson32m
Pinterest platform team is actively replacing a custom reflection‑based navigation called ScreenManager reflection and migrating core pieces to AndroidX…
Talk on
Navigating the Unknown Tips for Efficiently Learning a New CodebaseColin Marsh19m
Suggests getting an early teammate walkthrough, mapping the code with an architecture diagram, and using a debugger to trace real execution paths; shows a…
Talk on
Meta-programming with Kotlin compiler pluginsTadeas Kriz38m
Shows how a real Kotlin compiler plugin is built, registered via META-INF/services, and debugged by setting Kotlin.compiler.execution.strategy = in-process so…
Talk on
Gradle under a microscope profiling and optimizing buildsAurimas Liutikas38m
Gradle build time splits into configuration and execution; Android X runs ~16,500 builds and ~9,500 pre-submits monthly so saving seconds multiplies. Concrete…
Talk on
Crash Course in building your First Gradle PluginLury Souza32m
A minimal Gradle plugin is built that converts a project graph into Mermaid JS diagrams and is published as a module called module-graphing; implementation…
Talk on
Combating sampling bias in production How to collect and interpret performance data to drive growthHanson Ho36m
Production perf metrics suffer three concrete sampling biases: overrepresentation of heavy users (data points ≠ users), underrepresentation of churned or…
Talk on
The Network Latency Tax (on your build cache)Ben Boral18m
Bitrise builds a global, CDN-backed build cache with a Gradle plugin that uses gRPC streaming over HTTP/2, putting a primary cache in-datacenter and replicas…
Talk on
Journey to the Center of the Room Generating KotlinElif Bilgin21m
Room 2.6 alpha1 adds Kotlin code generation by switching to KSP for accurate Kotlin symbols, introducing XProcessing to unify Java and Kotlin annotation…
Talk on
Developing Apps optimized for Wear OS with Jetpack ComposeKenichi Kambara20m
Shows a concrete Wear OS app built with Jetpack Compose using Android Studio Flamingo (or Hedgehog for previews) and only emulators; replaces LazyColumn with…
Talk on
Beyond the Basics Performance Monitoring and User Experience for Mobile App GrowthMoataz Soliman11m
Instabug monitors performance across 2.7 billion devices for 25,000 companies and moves beyond crashes to measure app launch, per-screen time‑to‑interactive…
Talk on
Be Aware & Prepare Grow Downloads & User Trust with a MASA ValidationMichael Krueger16m
Google Play now recognizes an industry-run MASA validation that maps to 32 MASVS controls and surfaces a Play Store badge valid for one year, so mobile teams…
Talk on
The joys and challenges of building a paywall with BillingClient 5Andy Boedo, Mark Villacampa25m
Explains migrating a Play Billing Client paywall from v4 to v5/6 with concrete deadlines (new apps blocked August, existing app updates blocked November), the…
Talk on
Opening the shutter on snapshotsZach Klippenstein53m
Claim: snapshots act like git for your variables, letting threads make isolated, ACIDlike edits (minus durability) and then merge or abort. Implementation uses…
Talk on
Introduction to On-Device Machine Learning for Android with MediaPipePaul Ruiz42m
Runs full ML inference on-device using MediaPipe Tasks and TFLite models rather than cloud calls, with concrete code for image classification, object…
Talk on
Meet Store5 - A Kotlin Multiplatform Library For Building Network-Resilient ApplicationsMike Nakhimovich30m
A Kotlin Multiplatform data library that extends Store 4 with write support, conflict handling via a bookkeeper delegate, and chained fallback fetcher…
Talk on
Material You ReviewMike Wolfson44m
Timeline of four working apps shows evolution from handbuilt UIs to a Compose-first Material 3 stack using Jetpack Compose and the Android support library for…
Talk on
Creative Coding with Compose The Next ChapterTasha Ramesh36m
Uses Jetpack Compose canvas and polar math to generate polygons, adds randomness and repetition to produce hundreds of layered variations, and implements a…
Talk on
Compose-View Interop in PracticeIstván Juhos28m
Shows how to host existing view libraries like MPAndroidChart inside Compose with AndroidView, and how to embed Compose into XML using ComposeView and the…
Talk on
Unlocking the Power of Shaders in Android with AGSL and Jetpack ComposeRikin Marfatia33m
AGSL fragment shaders compile as raw strings and plug into Jetpack Compose via shader brush vs render effect; examples include noisy, grainy gradients built…
Talk on
Tricky Back-Compatible LocalizationVitalii Markus37m
Android 13’s per-app language preference is backported via AppCompat 1.6 and implemented by calling AppCompatDelegate.setApplicationLocales to install a new…
Talk on
The New Modern Data Persistence on Android - Meet Jetpack DatastoreMadona Wambua45m
Explains why Jetpack DataStore replaces SharedPreferences by showing working code that writes and reads a Task object using preferences DataStore, a…
Talk on
Managing State Beyond ViewModels and HiltRalf Wondratschek39m
Migrates from Hilt to Anvil and replaces Android-controlled ViewModel lifecycles with an app-managed scope system that ties Dagger components and coroutine…
Talk on
Kotlin Multiplatform From “Hello World” to the Real WorldRussell Wolf39m
Kotlin Multiplatform is usable in production (beta) and is used at Touchlab since pre‑alpha; Android and iOS targets are the focus with KMM plugin templates…
Talk on
Keynote- Android Developer ProductivityTor Norbye44m
Android Studio tips focus on concrete wins: keyboard shortcuts (find action cmd‑shift‑A, F2 for errors, F7 for diffs, F8 step over) and plugins like Key…
Talk on
Android App Quality - A Google Perspective - Daniel Galpin.mp4Daniel Galpin29m
Covers concrete Android 14 and Play Console guidance: how to enable predictive back, add baseline profiles and dex layout optimizations, and use the App…
Talk on
Accelerating Mobile Development with Server Driven TechnologiesNehal Kumar30m
Mobile release takes ~four weeks to land and up to two weeks–six months for 99% adoption, so Uber builds a homegrown server-driven platform composed of backend…
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.