~/conference

droidcon San Francisco 2022

date:2022-06-02..2022-06-03
location:San Francisco, United States
series:droidcon San Francisco · 5 editions
tags:[android]
titleauthorlength
Android Benchmarking and other storiesEnrique López Mañas, Iury Souza33m
Shows how to benchmark a real app using Jetpack micro and macro benchmarks and the Android Profiler, compares outputs (microbenchmarks for tight CPU hot spots…
Talk on
Foldable, Meet ComposeJoy Liu29m
Jetpack Compose integrates with foldable and large screens by shipping a hinge-aware UI component TwoPaneLayout, a window-info wrapper WindowState (built on…
Talk on
Running Android emulators in Travis CIMontana Mendy11m
Provides a ready Travis CI YAML that boots a Docker container and VM, installs Android components (build-tools 22 and 30 plus extra Google Play packages), and…
Talk on
Android app internationalization: users can now choose their application languageAsh Nohe10m
Android 13 lets apps set per-app languages at runtime using AndroidX. Implement by declaring supported locales with a localeConfig XML in the manifest, call…
Talk on
Android Developer ProductivityNelson Osacky30m
Claims that slow builds are measurable tech debt with a concrete example: 60 wasted seconds × 50 builds × 50 devs → 42 hours lost per day. Shows five build…
Talk on
The Evolution of Android Graphics in Android 12/13Dan Galpin36m
Android 12 and 13 add RenderEffect (view and Compose blur/color filters backed by Skia) and RuntimeShader (AGSL fragment shaders usable as paint brushes or to…
Talk on
Taking your Android Apps to Desktop with Amazon AppstoreAnisha Malde20m
Amazon Appstore delivers Android apps to Windows 11 using the Windows Subsystem for Android (WSA) so apps run as native windows, support keyboard, mouse, pen…
Talk on
Security First Android AppsTarika Chawla43m
Concrete app-hardening steps and failures: use AndroidX Security for encrypted SharedPreferences, set android:exported="false" on providers/broadcasts…
Talk on
Client Tracing At ScaleBen Romano34m
Large app tracing pipeline that links AndroidX.tracing spans and counters to Perfetto UI, a custom Trace SDK that runs in-process and compresses traces to…
Talk on
Performing Due Diligence as Android DevelopersIshan Khanna37m
A practical checklist for bringing third‑party Android SDKs into production that claims to catch hidden costs before they hit users and build pipelines. It…
Talk on
Piranha: Building a Multilingual Deadcode Deletion BotMurali Krishna Ramanathan, Ameya Ketkar34m
Piranha is an AST‑based code‑deletion bot that runs in a pipeline and generates diffs for stale feature flags it detects via flag metadata and a tracker it…
Talk on
Automated migration of Android apps to Bazel build systemPavlo Stavytskyi39m
A Gradle plugin lives in buildSrc and exposes a migrateToBazel task that scans every module’s configurations, extracts implementation/API dependencies, maps…
Talk on
State Machines and Hopeful DreamsRikin Marfatia44m
Compares Mavericks, Workflow, and planned Decompose by actually building a Compose-first hydration tracker backed by Firebase with three features (daily…
Talk on
MILK: a user-centric mobile performance modelPierre-Yves Ricau42m
Block defines a user-centric model called Motion Idle Latency Kit and targets concrete thresholds: interactive taps under 200 ms (anything over 500 ms is bad…
Talk on
Rock-Solid UI and Instrumentation TestingSinan Kozak42m
Concrete recipe for reliable Espresso UI tests: build a multi-module test setup so feature teams compile and run tests in isolation, use a robot DSL like…
Talk on
Building Mobile Apps At ScaleKurt Nelson41m
Defines two concrete scales: 100–200 Android engineers in a mono repo versus billions of daily active users, and measures scale by DAU/WAU and device…
Talk on
Voice Enabling Mobile Apps and Custom Hardware DevicesOgnjen Todic36m
Keen Research ships an on-device speech SDK (iOS, Android, Linux, Unity) used by Noggin, PBS Kids and Novel Effect to run local ASR models tuned for kids and…
Talk on
Flipper: A Debugging Platform for Mobile DevelopersWajahat Karim26m
Flipper is a standalone desktop app plus SDK that connects to Android iOS and React Native apps over sockets and exposes live tooling: desktop app + SDK. It…
Talk on
Making apps blazing fast with Baseline ProfilesRahul Ravikumar28m
Claims that embedding Baseline Profiles into an APK yields near-instant optimized installs, using AGP’s Profgen to convert baseline.prof into compact DEX…
Talk on
What does Recomposition mean to your app?Aida Issayeva38m
Explains what recomposition actually does: the runtime records reads in the slot table, the re-composer wakes on state snapshot changes, the composer produces…
Talk on
Kotlin Multiplatform Mobile in production: key takeaways from developing two cross-platform appsLena Stepanova25m
Two KMM apps get built over two years, one sharing only networking and local storage and the other sharing a coroutine ViewModel layer, and both ship…
Talk on
Custom Design Systems in ComposeRyan Harter36m
Dropbox implements its DIG design library in Jetpack Compose by creating a custom DIG theme that provides its own token classes and then maps those tokens into…
Talk on
The Workflow Pattern, ComposedZach Klippenstein37m
Workflow is already running nearly two thirds of Square’s flagship app and now integrates with Jetpack Compose via a composable view factory and a workflow…
Talk on
How we brought down our build times. General optimization tipsManuel Nakamurakare30m
Pinterest cuts p95 Android build time ~31% (11:05→7:36) and P50 from 1:25 to 32s by combining concrete fixes: use Gradle Enterprise to surface cache misses…
Talk on
Compose your TextSean McQuillan32m
Explains how Compose text maps to the same platform stack (paragraph → Minikin → Skia) and what Compose 1.2 actually adds: Compose 1.2 brings Google Fonts…
Talk on
Beyond the Basics: Performance Monitoring and User Experience for Mobile App GrowthMoataz Soliman19m
Instabug describes concrete metrics and actions: track app launch as a time to interactive (cold ≤5s, warm ≤2s, hot ≤1.5s per Android Vitals), monitor screen…
Talk on
Embracing commonMain for Android DevelopmentSam Edwards33m
Claims a one-line switch lets a Kotlin JVM or Android module become multiplatform by mapping main to commonMain and JVM/implementation to common configurations…
Talk on
Using ConstraintLayout in ComposeJohn Hoford, Nicolas Roard38m
ConstraintLayout Compose 1.0 brings view‑system ConstraintLayout and MotionLayout concepts into Compose, letting code swap declarative constraint set objects…
Talk on
Migrating to Kotlin State & Shared FlowsMohit Sarveiya36m
Covers concrete migration steps: replace deprecated BroadcastChannel with Shared Flow using emit/tryEmit, map capacity to extraBufferCapacity, and set replay…
Talk on
Compose beyond MaterialSebastiano Poggi41m
Argues that you can drop Material and reuse Compose foundation to implement a custom design system: remove the Material dependency (or hide its packages in…
Talk on
Why should you add voice to your apps?Anshaj Khare22m
Smartphones outnumber smart speakers and 15% of US adults are mobile‑only, so adding voice inside apps targets a larger audience; industry examples show real…
Talk on
Multiplatform Settings 1.0Russell Wolf27m
Multiplatform Settings reaches 1.0 alpha released as a common key‑value API that delegates to platform backends; current concrete backends include…
Talk on
Streamlining Success - How we went from prototyping an SDK to serving billions of customersFilip Babić, Neevash Ramdial42m
Stream explains how a Chat product grows from a prototype SDK into production libraries that serve billions of users by building UI SDKs for web, Android…
Talk
Building Apps that ScaleKilo Loco37m
Concrete practices: write KDoc comments with use cases so hover text explains KDoc, stop clever one-liners, organize code by feature packages, and add unit and…
Talk on
Dagger + Anvil: Learning to Love Dependency InjectionGabriel Peal, Ralf Wondratschek37m
Anvil is a Kotlin compiler plugin that removes almost all Dagger module boilerplate by generating bindings from annotated classes, using merge component and…
Talk on
Optimize your app for large screensAlex Vanyo24m
Defines three support tiers and gives concrete steps: use Jetpack WindowManager to read current window metrics, apply window size classes at 600 dp and 840 dp…
Talk on
Solid Modularization - Untangling the dependency graphSiggi Jonsson30m
Tinder measures its Gradle graph with Graph Assert and visualizes it in Gephi, finding 598 modules, 4,389 dependencies and a height of 24; CI fails on rule…
Talk on
You Can Be a Mentor for the Next Cohort of Android EngineersSumayyah Ahmed30m
Argues that engineers at any level can run practical mentorship by building peer mentoring routines like weekly study groups to migrate a codebase to Compose…
Talk on
How Are Other Teams Doing It? Lessons in CI/CD from 3500 Android TeamsBen Boral41m
Aggregated Bitrise data from 3,500+ Android teams shows a median PR build 13 minutes with a third under 10 and two thirds under 20; teams speed this up using…
Talk on
One does not simply: migrating to Android 12Julien Salvi37m
Step‑by‑step migration hazards and fixes for Android 12 including concrete failures and fixes: how targeting API 31 breaks builds until manifest exported…
Talk on
ANR overview at Uber + Leveraging ApplicationExitInfo APIYohan Hartanto, Francisco Aguilera22m
Uber describes concrete fixes and tools: bitmap processing and heavy IO moved off the UI thread, RxJava’s blockingGet is banned after causing ANRs, and…
Talk on
Kotlin Generics In DepthBree Hoffman29m
Covers how Kotlin enforces in/out variance (why mutable List<String> ≠ MutableList<Any>), demonstrates use-site variance and star projection with concrete…
Talk on
Testing Jetpack Compose UIDmytro Shuba36m
Describes concrete recipes: use the Compose testing library with test tag instead of view IDs, set up either createAndroidComposeRule for activity flows or…
Talk on
Retrofitting Legacy Code with Jetpack Compose at ScaleRyan Simon34m
Monzo adopts Jetpack Compose since alpha (Oct 2020) across 200+ feature modules with a 17‑person Android team, building a custom design system from Figma and…
Talk on
KSP and Plugins. Optimizing Kotlin Multiplatform common codeAnna Zharkova38m
Demo builds a KSP annotation processor that reads Kotlin AST, generates Kotlin source files for dependency registration, and compiles them into the…
Talk on
Architecting Your Android LibraryAmrita Pritam26m
Step-by-step recipe for turning an app into a reusable Android library: split a monolithic app into modules, convert or create a library module that builds an…
Talk on
Measure the Performance of your Android App with SentryPhilipp Hofmann, Manoel Aranda Neto29m
Sentry Android SDK captures app start times, frozen/slow frames, OkHTTP calls, SQLite/Room queries and Activity/Fragment render times automatically and links…
Talk on
How to crash your app in production and still delight your usersVincent Lussenburg, Daniel Graham17m
Shows how to detect, deduplicate and triage native crashes ANRs and Java/Kotlin errors using the Backtrace SDK, capturing breadcrumbs attachments and debug…
Talk on
A page out of Server driven UI on AndroidAdit Lal41m
Server-driven UI uses JSON configs to change screens, run A/B tests and flip feature flags without shipping an APK update. Implementation uses Epoxy…
Talk on
Branching out to Jetpack ComposeNacho López, Chris Banes42m
Twitter integrates Jetpack Compose across a large legacy app by starting with a single component (button), mapping its design system to Material then copying…
Talk on
Welcome AdressGREG FAWSON08m
By Greg Fawson
Organiser
Netflix + Gradle A Journey in Developer ProductivityEmmanuel Boudrant, Rooz Mohazzabi37m
Netflix runs a 180‑module Android repo with ~30 developers and 10 variants and cuts iteration time with concrete changes: an engineering build (no dynamic…
Talk on
Graphics for Android Developers, Part DeuxChet Haase, Romain Guy41m
Covers concrete Android graphics APIs and tricks: constructing and chaining paths as linear/quadratic/cubic Béziers, using PathMeasure to read length and…
Talk on
SDK Design and Publishing For Kotlin Multiplatform MobileKevin Galligan33m
Covers concrete KMP/KMM choices: use simple interface injection when possible, otherwise use C interop with headers and explicit linking, note linker failures…
Talk on
Something old, something new: Adding Jetpack Compose to a large open source Android appMaia Grotepass35m
Takes Jetpack Compose into the large open‑source Habitica Android app and reports concrete results: repo shows 26 activities, 33 fragments, 12 repositories, 7…
Talk on
How to effectively create and review PRsAlessandro Mautone18m
Advocates keeping PRs as small, focused units—split a feature into endpoint + models, storage/database, and UI PRs so feedback stays short and refactors are…
Talk on
A Hitchhiker's Guide to Compose Compiler: Composers, Compiler Plugins, and SnapshotsJossi Wolf, Amanda Hinchman-Dominguez28m
Explains how Jetpack Compose turns Composable functions into runtime groups by augmenting Kotlin IR via a compiler plugin that intercepts Kotlin backend phases…
Talk on
Why Projects Succeed: Lessons learned from the Android OSChet Haase, Romain Guy01h 10m
Starts as a camera OS, gets bought by Google in 2005 with basically 3,000 lines of JavaScript, and the tiny team builds drivers, a Linux-based stack, and…
Talk on
The Imposter’s Guide To Dependency InjectionAdam McNeilly30m
Shows that constructor injection and a simple analytics tracker interface replace direct Firebase calls so unit tests can assert tracking without Android…
Talk on
Build Scalable and Performant Apps with GraphQLBen Sklar, Wolfgang Mathurin28m
Salesforce ships a public GraphQL UI API (query-only in first release, mutations coming later) that uses field selection and resource aggregation to cut…
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.