droidcon San Francisco 2018
2018-11-19..2018-11-20
San Francisco, United States
[droidcon San Francisco 2017, droidcon San Francisco 2018, droidcon San Francisco 2022, droidcon San Francisco 2023, droidcon San Francisco 2024]
| title | author | length |
|---|---|---|
| Your App is a Giant DDOS Botnet | Sanae Rosen | 30m |
An app can amplify retries into a global outage: millions of devices repeatedly resending failed analytics created exponential log storms that looked like a… | ||
| Opening Keynote: Between JOMO and FOMO: You are reshaping communication. | Britt Barak, Ty Smith, Joaquim Verges | 39m |
Mobile apps change moods and attention: users average 2 hours 51 minutes on phones and 150 unlocks per day, positive apps get ~9 minutes daily while negative… | ||
| A More Secure World for Android Apps | Mercedes Wyss | 46m |
Shows concrete failures and concrete fixes: a loyalty app leaks redeem codes and credentials over GET and no TLS — remedy is use TLS and POST plus a geofence… | ||
| Android malware forensics | Alina Matyukhina | 41m |
Builds a string-based author attribution pipeline that extracts URLs, class/method names and XML text from APKs (APKTool, dex2jar, JADX), converts tokens to… | ||
| Buffed up Biometrics | Brian Gardner | 33m |
Android replaces FingerprintManager with the BiometricPrompt API (framework API 28+) and an AndroidX compat alpha2 that backports behavior to API 23… | ||
| Android performance monitoring with automation | Brien Colwell | 40m |
Process for automated Android performance monitoring that builds a global device cloud with custom boxes (24 devices each), an e-finger for remote maintenance… | ||
| Mindfulness for Achievers | Lida Tohidi | 40m |
Claims meditation improves focus, sleep, stress response and can help anxiety or depression, backed by the surprising stat 8% of US adults reporting a regular… | ||
| Scaling an Android App from 1 to 100 developers with modularization. | Ben Schwab | 39m |
Airbnb modularizes its Android code into a thin core, many feature modules and lib modules, and a thin app shell, resulting in over 200 modules and a main team… | ||
| Building for the future at Snapchat | Ben Dodson, Gustavo Moura | 49m |
Company rewrites Android app into a modular platform of 16 standalone apps and feature modules that must not preload, proving each module with a sample app… | ||
| Advanced Kotlin | Brent Watson | 44m |
Covers concrete Kotlin features and what they do: the standard library’s four delegates — observable, vetoable, notNull — plus how to build a SharedPreferences… | ||
| Motif - An Opinionated Dependency Injection API for Deep Graphs | Leland Takamine | 28m |
Motif is an opinionated DI layer that generates Dagger code and intentionally simplifies component-per-scope boilerplate, trading Dagger’s broad flexibility… | ||
| Debugging Application Performance | Carmen Jackson | 42m |
Systrace shows exact CPU and thread timelines so developers spot concrete regressions: extra activities add 235 ms or 166 ms to startup, service transactions… | ||
| Improving Android Build performance | Tony Robalik | 31m |
Uses real Chess.com builds and the Gradle profiler to measure scenarios, finds GC as high as 17s (8% of build), and shows upgrading Gradle/AGP and enabling the… | ||
| 100%.kt | Oleg Godovykh | 38m |
Gradle Kotlin DSL exists in the wild but is still small: build.gradle: 5.5M vs build.gradle.kts: ~8k and migration needs care — Gradle’s Kotlin DSL 1.0 is tied… | ||
| Kotlin Multiplatform In Production | Kevin Galligan, Ty Smith, Joaquim Verges | 41m |
Kotlin multiplatform is usable now but nascent: Kotlin/Native 1.0.1 beta and Gradle 4.10 enable shared common modules compiled to JVM, JS and iOS frameworks… | ||
| Breaking Android Apps | Manpreet Singh | 25m |
Walks through reversing the Wikipedia APK to change the donation URL to a personal Twitter, rebuilding with apktool and signing with a debug keystore so the… | ||
| Android CI @ Airbnb | Michael Dang | 35m |
Airbnb migrates from TeamCity→Buildkite (2017) after PR-status and scaling pain, running ~250 agents for ~150 contributors in a mobile monorepo; engineers use… | ||
| MotionLayout & ConstraintLayout 2.0 | Nicolas Roard, John Hoford | 49m |
ConstraintLayout 2.0 adds MotionLayout, a working subclass that lets layouts animate via declarative XML instead of custom code, with an Android Studio motion… | ||
| Dude, Where's My Build? Android CI/CD at Uber | Gautam Korlam | 41m |
Uber moves Android CI from a single Mac Mini to Linux servers with Buck and a network cache, cutting flakiness and enabling massive parallelism across 2,000+… | ||
| How to Build a Performance Testing Pipeline from Scratch | Valera Zakharov | 45m |
A production pipeline is built that runs UI scenarios on physical devices (cloud-backed via Firebase Test Lab), records network with OKReplay, collects… | ||
| Kotlin on Code Quality Tools | Niklas Baudy | 37m |
Compares Android Lint, Detekt and ktlint with concrete tradeoffs: ktlint autoformats via -F and editorconfig and is fastest; Detekt runs YAML-configured static… | ||
| Lessons Learned from React Native at Airbnb | Gabriel Peal, Ty Smith, Joaquim Verges | 42m |
Airbnb adopts React Native to ship quickly then reverses course after two years. The company builds 220 screens totalling 80,000 lines of product code plus 40k… | ||
| From Effective Java to Effective Kotlin | Israel Ferrer Camacho, Ty Smith, Joaquim Verges | 43m |
Compares Effective Java items to Kotlin features with concrete translations and examples: uses object singletons instead of enum singletons, shows data class… | ||
| Moving with the Android ecosystem towards a 64-bit r-Evolution | David Whaley | 32m |
Google requires 64-bit builds for new and updated Play apps starting August 2019 and ARM shows concrete gains: 20% ART uplift for Java apps, native gains of… | ||
| A Slice of Pie | Sean McQuillan, Ty Smith, Joaquim Verges | 40m |
Slices are a Jetpack mini-UI that expose app actions in Search and Assistant and are not GA yet, so testing uses preview slices and cached responses with… | ||
| Manual documentation is dead. Long live automated documentation! | Pablo Guardiola | 37m |
Ank is a Gradle plugin that compiles and evaluates Kotlin and Java snippets at build time, verifies examples, and generates Markdown used directly on GitHub… | ||
| When metrics lie | Ryan Cooke, Ryan Cohen | 40m |
Pinterest builds a certification process for core metrics, starting with pin impression = visible ≥1s and minimum viewport fraction, writing product specs… | ||
| Flutter + ML Kit: Building smart cross-platform apps | Ifeoma Okereke, Ty Smith, Joaquim Verges | 32m |
Flutter compiles Dart ahead-of-time to ARM machine code for native performance, uses JIT for hot reload that updates UI in under a second (demo changed “Hello… | ||
| Intro to Android Things | Jonathan Petit-Frere, Ty Smith, Joaquim Verges | 23m |
Android Things is a Google-backed Android build for IoT that runs on Raspberry Pi 3 for prototyping and on certified production platforms with 3 years security… | ||
| The JPEG of 3D: Bringing 3D scenes and objects into your 2D Android app with glTF | Pierre-Antoine LaFayette | 37m |
Facebook adds interactive 3D posts to Android and web by shipping scenes in glTF (binary .glb) and rendering them with an OpenGLES pipeline and a minimal Java… | ||
| The Art of Photography | Romain Guy | 48m |
Ten years of work condensed into practical rules and exact settings: exposure is ISO, shutter speed, aperture — use aperture priority + auto ISO for control… | ||
| I like to move it, move it | Eliza Camber, Ty Smith, Joaquim Verges | 31m |
Motion now ranks as a required part of the first 30 seconds to retain users, and Android’s current toolset makes it practical: use… | ||
| Advanced Augmenting: A Guide to Augmenting Images | Josh Williams | 33m |
Hands-on guide to using ARCore augmented images with Sceneform + Filament that shows exactly what to build and what breaks: exports from Blender or Poly models… | ||
| Getting Started with the Android NDK | Mozart Louis | 32m |
NDK now ships with C++17 support and Clang and compiles per-ABI (ARM64, x86) so builds must target specific instruction sets; JNI requires exact mangled names… | ||
| Taming WebSocket with Scarlet | Zhixuan Lai | 43m |
Scarlet is an extensible Kotlin library that turns Android WebSocket integration into a declarative interface and cuts boilerplate down to 10 lines of code. It… | ||
| HERE BE DRAGONS* - THE ENTERPRISE MOBILE SECURITY JOURNEY | Dan Quaglian | 25m |
Enterprises must stop treating devices as one-time Golden Image to Rolling Releases installs and accept frequent OS and app updates; Zebra’s Lifeguard for… | ||
| Untangle your App: Efficient Threading in Android | Yohan Hartanto, Utkarsh Garg | 33m |
Explains where Android and RxJava actually create native threads and why apps hit pthread_create ENOMEM, tying it to 140 KB stacks for worker threads vs 8 MB… | ||
| How HTTP/2 works, and how Android developers can leverage it | Aman Alam, Arjan Ali | 28m |
HTTP/2 (finalized 2015) replaces text framing with binary frames, adds header compression and stream priorities, and multiplexes many requests over one TCP… | ||
| Working Effectively with (Android) Legacy Code | Chuck Greb, Mohit Sarveiya, Ty Smith, Joaquim Verges | 42m |
Provides concrete micro‑refactors that turn untestable Android Java code into testable seams: find object seams, break singletons like a DatabaseManager with a… | ||
| Adventures in Navigation | Lyla Fujiwara, Ty Smith, Joaquim Verges | 38m |
Demo of the Android Jetpack Navigation Component shows a concrete setup: a nav graph resource, a nav host fragment, and a NavController for navigate calls; use… | ||
| Human Centered API Design | Py Walmsley, Pierre-Yves Ricau, Ty Smith, Joaquim Verges | 48m |
Square builds the Square Reader SDK (Android and iOS) for custom point‑of‑sale and finds API quality comes from measurable choices: group surface into checkout… | ||
| Grox: a library to manage the state of Java / Android apps | Alin Turcu, Stéphane Nicolas | 48m |
Grox is an open source Java/Kotlin library (https://github.com/groupon/grox) that Groupon builds into production to tame concurrent app state: a single store… | ||
| Using server-driven UI to rapidly iterate across platforms | Laura Kelly, Ty Smith, Joaquim Verges | 29m |
Airbnb builds a server-driven UI so reservation screens on web, iOS, and Android update from a polymorphic JSON API parsed into UI components, letting teams… | ||
| Netflix's componentization architecture with RxJava + Kotlin - Part II | Juliano Moraes | 39m |
Netflix moves a monolithic player to small, reusable components that own UI state, lifecycle and presentation logic, enabling independent unit tests and faster… | ||
| Tackling Tech Debt on Android | Kate Kelly, Ty Smith, Joaquim Verges | 33m |
Defines tech debt as code that erodes confidence and recommends measuring items by impact/effort/contagion so high-impact low-effort low-contagion items get… | ||
| Deep Dive into the Android Gradle Plugin | John Rodriguez | 56m |
Explains what the Android Gradle Plugin actually does: task graph versus configuration, why variant-aware tasks are created in afterEvaluate, and how the build… | ||
| Cross-Platform Fireside Chat | Gabriel Peal, Ifeoma Okereke, Joaquim Verges, Matthias Wenz, Kevin Galligan | 41m |
Compares four real apps: Kotlin Multiplatform shares SQLite, threading and reactive architecture while leaving UI to native but suffers from immature tooling… | ||
| LiveData beyond VIewModels | Marcos Paulo Damasceno, Akshata Ramesh | 41m |
LiveData and ViewModel become the wiring for a reactive UI: use state live data + actions as a simple state machine, apply Transformations.map/switchMap for… | ||
| Coroutines: Kotlin Versus | Bolot Kerimbaev, Ty Smith, Joaquim Verges | 45m |
Compares concrete coroutine designs and tradeoffs: Kotlin puts a single suspend keyword in the language but leaves builders like launch/produce/Deferred in a… | ||
| The Dangers of SharedPreferences: An API allegory | Kurt Nelson | 38m |
SharedPreferences’ default apply has no callback, so writes go to an in‑memory map and an async OS threadpool (CuedWork) and can silently fail when flash is… | ||
| From AlarmManager to WorkManager | Ralf Wondratschek, Ty Smith, Joaquim Verges | 39m |
Compares the older AlarmManager/JobScheduler/GCM and the third‑party Android‑Job library with WorkManager and gives concrete tradeoffs: Android‑Job supports… | ||
| Quick and clean prototypes that scale with Helium: a reactive MVP framework in Kotlin | Joaquim Verges, Ty Smith | 45m |
Helium is an open source Kotlin MVP framework that claims a full app in 20 lines by wiring presenters, view delegates and repositories; the demo builds a… | ||
| How to build your own ridesharing app | Richard Sueselbeck, Ty Smith, Joaquim Verges | 51m |
Step-by-step blueprint for a DIY rideshare: get a live dot with the Positioning API (GPS + GNSS + Wi‑Fi/cell fusion), turn lat/long into a pickup with the… | ||
| Tools of the Trade | Ty Smith | 39m |
Company migrates to a monorepo per platform so API-breaking changes update in one atomic commit instead of cascading across many repos, and adopts Buck for… | ||
| Making a good first impression: removing friction when onboarding users | Sam Wolfand, Ty Smith, Joaquim Verges | 20m |
Eighteen months of work rebuilds Slack sign‑in around an email-first confirmation flow plus a new workspace selection screen that prioritizes the 80% of users… | ||
| A Comedy Talk | Romain Guy, Chet Haase | 40m |
A satirical playbook lists concrete policies: keystroke interceptors that log every typed character into a manager folder, webcams that file two‑minute clips… | ||
| Teach Kotlin to play well with Java - Optimization tips for Interoperability | Vivek Chanddru, Ty Smith, Joaquim Verges | 39m |
Kotlin-to-Java interoperability covers 11 practical fixes: rename generated classes to avoid AmazingUtilsKt with @file:JvmName and @JvmMultifileClass; avoid… | ||
| Kotlin, Practically Speaking | Andrew Watson | 39m |
Yammer’s one-and-a-half-year migration reports concrete gotchas and fixes: Android Studio’s autoconverter inserts !! and nullables that cause runtime crashes… | ||
| Minimalist Dependency Injection in Kotlin | Aleksei Zakharov | 21m |
Aleksei’s injector is a lightweight Kotlin service‑locator that uses delegated properties to deliver dependencies lazily, explicitly avoiding no reflection or… | ||
| Mastering the Images Spectrum | Daniel Hugenroth, Hugo Cuvillier | 33m |
Spectrum is Facebook’s open‑source image pipeline: a C++ core with C++ core with plugins and thin Android/iOS wrappers that lets apps transcode, encode, decode… | ||
| Camera2 API and beyond | Tomoaki Imai | 42m |
Camera2 requires managing many low-level pieces so the demo builds a from-scratch sample (forked from Google) that adds manual focus and white balance… | ||
| If your code looks like it's Kotlin & quacks like it's Kotlin, then it probably is Swift. | Adrián Catalan, Cecilia Castillo | 42m |
Claim: Kotlin and Swift are similar enough to make a small native team bilingual across Android and iOS. Built a simple dog-guessing app using the Dog API… | ||
| ARCore and indoor navigation, lessons learned | Ivan Alyakskin, Anton Popov | 37m |
ARCore plus Sceneform and Firebase cloud anchors are used to build shareable indoor routes; cloud anchors host sparse point maps on Google servers and resolve… | ||
| Building Effective Teams of Competent, Friendly People | Chris Koeberle | 51m |
Leads teams of about 15–30 people with 4–8 Android developers and proves a reproducible approach: require competent, friendly baseline hires, enforce a 40-hour… | ||
| nothing matches | ||