~/conference

droidcon San Francisco 2017

date:2017-11-05..2017-11-06
location:San Francisco, United States
series:droidcon San Francisco · 5 editions
tags:[android]
titleauthorlength
Despaghettifying the hairballPierre-Yves Ricau, Ella Polo39m
Starts from a single monolithic module and shows concrete steps to split it: use Dgraph and Gradle dependency trees to surface package clusters, take actual…
Talk on
Make Your App Instant!Yuliya Kaleda48m
Jet.com ports a full Android app into a URL-launched Instant App using multi-module Gradle (com.android.feature, com.android.instantapp), splitting code into…
Talk on
Optimizing Android Build PerformanceHans Dockter, César Puerta48m
Twitter instruments Android Studio 3.0 and Gradle features to cut build time: enable the Gradle daemon, use the build cache (local + CI remote) and incremental…
Talk on
Canvas Drawing for Fun and ProfitRyan Harter41m
Shows how Android Canvas APIs draw a fully parametric donut: base circle + clipPath difference for the hole, icing generated by a compose PathEffect (discrete…
Talk on
Generating Kotlin CodeJake Wharton, Alec Strong37m
Kotlin generation moves many runtime checks into compile time (nullability, readonly lists, constructor-enforced fields) and often replaces Java builders; the…
Talk on
In-depth path morphing w/ Shape ShifterAlex Lockwood39m
A web app called Shape Shifter auto-generates Android path morphs by adding dummy points, converting lines to cubic beziers, and reordering vertices so SVG…
Talk on
Change Can be Good: The New World of Android OreoDan Galpin34m
Android Oreo enforces real background and location limits: background services throw IllegalStateException unless moved to startForegroundService and promoted…
Talk on
Efficient Lazy Loading for RecyclerView with RoomYigit Boyar, Chris Craik41m
Shows why SQLiteCursor’s built-in paging (a 2MB cursor window that even does a one-third overlap on reloads) causes wasted work and inconsistent views, and…
Talk on
Litho: A Declarative UI Framework for AndroidLucas Rocha45m
Litho is an open source UI framework (open sourced April 2017) that shifts layout off the main thread and reduces view inflation by calculating bounds in a…
Talk on
Stay Calm and ModularizeLyla Fujiwara44m
Modularizing a simple app takes less than a day using Android Studio’s refactor modularize tool and splitting into an instant app module, an installed module…
Talk on
UI testing is so easy - said no developer everValera Zakharov, Kevin Lai43m
Slack builds a power pack pattern to make Espresso UI tests hermetic and targeted, replacing repetitive Mockito setup and Dagger wiring with pack classes that…
Talk on
Thinking Beyond the REST API: gRPC for AndroidSamantha Bobra35m
VSCO moves client analytics from fragile JSON hashes to an IDL-backed contract (shared .proto) that generates Java stubs, uses Protocol Buffers (lite) for…
Talk on
Clean app design with Architecture ComponentsChuck Greb47m
Shows a concrete migration: keep an MVP passive‑view presenter as pure display logic, add a ViewModel to hold UI state that survives configuration changes so…
Talk on
Mocks, Stubs, and Spies, Oh My!Brian Gardner36m
Covers five concrete test doubles — mocks, stubs, spies, dummies, fakes — and shows when to use each: mocks verify interactions and use mock()…
Talk on
Codelab: Hands-on with Branch Deep Links, Instant Apps, and Instant LinksEvan Groth20m
Branch demonstrates a hands‑on Branch SDK integration in Android Studio that wires web → instant app → full app routing, passing context via the show install…
Talk on
Advanced animations with ConstraintLayoutJohn Hoford, Nicolas Roard43m
Demonstrates using Android Studio 3.0 and ConstraintLayout 1.1 beta to animate UIs by changing constraints at runtime, either via direct manipulation…
Talk on
Architecting Amp: Android integration with embedded systemsPierce Johnson15m
Lyft builds a BLE LED device called Amp that uses a 26-page device protocol of byte commands (op code + args) to start/stop animations, report battery and…
Talk on
Blazing Fast Android Development: Hot-Swapping Modules with BuckJosiah Gaskin36m
Open-source build system Buck adds a debug-only hot reload that pushes only changed secondary dex files via exopackage, replaces a throwaway classloader…
Talk on
Understanding and Implementing Audio on AndroidCaren Chang16m
Explains Android audio pipeline from file → resampling/effects/mixer → DAC and why kernel-timed consumption creates strict deadlines that cause dropouts…
Talk on
Boost the Quality of Your App with FirebaseDoug Stevenson46m
Crashes drive one-star reviews — about 50% of one-star ratings mention stability — so use Firebase Test Lab to run Espresso instrumentation, Robo test crawls…
Talk on
view to pixelBritt Barak41m
Explains exactly how a View becomes pixels: input → animation → measure → layout → draw runs on the main thread choreographed by Choreographer and Looper, with…
Talk on
API Design as an ArtZac Sweers39m
AutoDispose is an RxJava2 utility for automatic stream disposal built and rewritten about six times to solve real Java pains: leaking disposables, generics…
Talk on
Rx Concurrency: A Prescription for Multi-threadingBlake Meike39m
Compares AsyncTask pitfalls to RxJava by showing concrete fixes: replacing 18 lines with four lines of Rx keeps parsing logic unchanged, moves network work off…
Talk on
Ok Google, we need to talkEliza Camberogiannis40m
Covers building a booking-style Google Assistant agent using Dialogflow (formerly API.ai) with a concrete pipeline — list actions, draw decision trees, decide…
Talk on
Codelab: Build an Android app with Firebase and Cloud FirestoreAbe Haskins36m
Builds an Android restaurant app using Cloud Firestore and Firebase Authentication, with a provided FriendlyEats sample app. Code writes restaurants (add…
Talk on
Transitions without Activities or FragmentsChris Horner40m
Shows how to run Android Transitions without Activities or Fragments by wiring TransitionManager.beginDelayedTransition with custom TransitionSets (Fade +…
Talk on
Codelab: Optimizing Usage of Bluetooth Peripheral DevicesManuel Caicedo51m
Covers Android Bluetooth Classic and BLE APIs and a Zebra SDK that folds the messy native stack into three classes (connection, device, printer) so discovery…
Talk on
Rewind capture format on IG StoriesWill Bailey23m
Built pinned stickers that follow tracked regions in video using a native C++ region tracking C++ lib from Facebook applied machine learning, decoding frames…
Talk on
Magical App-to-App IntegrationsTy Smith42m
Covers concrete patterns and gotchas for app-to-app work: implementing HTTP deep links plus Android assetslinks.json and Play Store referral handling to…
Talk on
Fun with Native Code on AndroidEric Butler37m
Builds a working Android TV emulator front end by wiring C libraries to Kotlin with Java Native Access (JNA) instead of JNI, using generated bindings (JNAator)…
Talk on
The Creative TechnologistCorey Leigh Latislaw40m
Argues creativity is a trainable engineering skill backed by neuroplasticity and practical habits: daily sketching roughly five times a week, a three-month…
Talk on
The Reactive Workflow Pattern UpdateRay Ryan47m
Square’s Point of Sale app refactors its tangled 300‑screen, ~750k‑line codebase (200 contributors, 7+ years) into Rx‑based Reactive Workflows made of small…
Talk on
Kotlin: UncoveredVictoria Gonda33m
Uses IntelliJ/Android Studio Show Kotlin Bytecode → Decompile to turn Kotlin into Java and inspects the results. Shows that data classes generate componentN…
Talk on
Inside Instant AppsEric Lafortune38m
Deep dive into Instant Apps internals with concrete results: an implementation that automates conversion from 4 weeks to 4 minutes, converted 25 open-source…
Talk on
Improve user experience and retention with the Android Autofill FrameworkFelipe Leme45m
Android O adds a platform Autofill Framework that replaces accessibility hacks by sending a sanitized view structure from the app to the system which forwards…
Talk on
Make Your Build Great AgainJared Burrows55m
Optimizes a large multi‑dex Android build for Yammer by changing Gradle properties, plugin versions and JVM args, enabling Gradle build cache, using parallel…
Talk on
Instant Apps + Deep Linking 101Evan Groth28m
Branch claims Branch links can carry JSON payloads through installs and deliver them instantly to installed apps (the team says payloads return in zero…
Talk on
Android Battery @ FacebookAbhishek Choudhary, Kunal Bhalla37m
Shows how Facebook measures battery in production by instrumenting CPU frequency, radio bytes and tail time, camera open time, location accuracy and wake…
Talk on
Write once, ship multiple timesZeljko Plesac41m
A practical guide to building Android white‑label apps: aim for 90–95% shared code, prefer a thin client architecture over fat clients to avoid forced updates…
Talk on
Hella-Parallel Compute with RenderScriptLydia Schiff39m
VSCO’s Android imaging pipeline runs almost entirely on RenderScript for over three years, processing 12 million pixels (4K) images without blowing the Java…
Talk on
Serial: Improving Data Serialization on AndroidAlison Fauci36m
Twitter for Android replaces Java Serializable with a custom framework called serial that uses explicit object serializers and static instances to write…
Talk on
The lesser-known world of SpansSaket Narayan23m
Explains that Android uses Spannable types (SpannableString, Spanned) so getString strips spans while getText can return a Spanned, details that…
Talk on
One for all, all for one: The Journey to Android Monorepo at UberGautam Korlam31m
Uber migrates 100+ repositories into a single monorepo over 2–3 months while preserving Git history, shrinking checked-in files to ~75k and repo size to…
Talk on
Looper.loop() - Understanding Android's Message QueueTony Lenz29m
Explains how Android really calls app code: the system boots a zygote forked process, ActivityThread runs a main Looper.loop that processes one message at a…
Talk on
Building Modern Cross-Platform Apps with FlutterVinay Gaba35m
Flutter claims native‑speed 60 fps mobile apps by compiling Dart ahead‑of‑time into native code, avoiding a JavaScript bridge and shipping its own rendering…
Talk on
Redex, Your Build, And YouChris Sarbora32m
Redex is a Dalvik (.dex) optimizer that runs after DX on APKs, works alongside Proguard, and Facebook measures roughly a 25% reduction in cold-start time and…
Talk on
Doppl Code SharingKevin Galligan34m
Doppel is a build tool and library set that uses J2ObjC to convert Java to Objective‑C so business logic, Room DB, Retrofit, RxJava, Dagger and Android…
Talk on
Break your app before someone else doesAna Baotić43m
Shows how to extract an APK with ADB pull, inspect permissions and manifest, and use apktool rebuild to add or remove assets then re‑sign with a custom…
Talk on
A/B Testing From The Ground UpJonathan Maltz45m
Yelp’s Android experimentation platform uses repeatable bucketing by hashing an identifier with an experiment-specific salt to avoid correlated assignments…
Talk on
Lint for Life: Your Customizable Guard On the GoSnow Zhao46m
Demonstrates a custom Android Lint rule that flags constructors with more than two parameters and suggests a generated builder, implemented with UAST/PSI…
Talk on
Creating the Lyft Driver App: Reduce, Reuse, RecycleRyan Tempas31m
Lyft splits one unified app into separate Passenger and Driver APKs by modularizing features, moving deep links and long‑running jobs into feature modules, and…
Talk on
Building Camera Apps on Android TodayPraveen Chekuri35m
Covers three concrete approaches: fire an intent for quick profile/photo capture; drop in a library like Photoapparat or CameraView for an embeddable UI; or…
Talk on
Optimizing Android apps for desktop experienceVictor Okunev42m
Demo of Samsung DeX shows Android N multi-window actually running as resizable desktop windows with taskbar, keyboard shortcuts (Ctrl+C/V/A), mouse support…
Talk on
Building a DSL… in Kotlin!Pablo Guardiola34m
Kotlin plus KΛTEGORY builds a real DSL by modeling operations as a sealed class algebra lifted into a free abstraction, then interpreting that AST into…
Talk on
ShapeShifting: Creating delightful icon animationsOr Bar31m
Explains how Android VectorDrawable maps SVG path data to animatable parts, shows that morphing requires paths with the same number and type of commands (so…
Talk on
A Practical Guide To master Rx StreamsMayank Mehta37m
Capital One Wallet runs a reactive MVVM on RxJava 2 and replaces callbacks with Singles, fromCallable and Single.create to model API and heavy work…
Talk on
Android like a (reliable) Rock Star - All About Android Continuous IntegrationMark Scheel36m
Practical roadmap for Android CI that names tools and outcomes: run a build on every commit, run tests, lint and code-style checks, save artifacts, and deploy…
Talk on
Debunking Android Security Myths with DataDan Quagliana32m
Claims that Android is uniquely broken get countered with data and concrete fixes, not platitudes: the infamous Stagefright headline (950 million devices…
Talk on
Android History, from the InsideChet Haase, Romain Guy59m
Insider chronology from pre-1.0 through Oreo names concrete milestones: the M3 emulator running on the internal “Sooner” device, the T‑Mobile G1 launch, live…
Talk on
Upgrading to MoshiEric Cochran49m
Moshi bills itself as Gson 3 and claims a smaller, safer replacement: it uses Okio to share buffer segments and cut method count roughly in half (binary ~188…
Talk on
Make Your App Instant!Yuliya Kaleda48m
Jet.com’s team builds a multi‑module Instant App using Gradle plugins (android‑feature, android‑instantapp), APK Analyzer and ProGuard, plus WebP, Smart Lock…
Talk on
UI testing is so easy - said no developer everValera Zakharov, Kevin Lai43m
Slack proves reliable Android UI testing at scale by making tests targeted and hermetic and automating state setup. They run 555 functional UI tests, use…
Talk on
Hot Off the Open-Source Grill: RIBs, Scalable Multiplatform App ArchitectureBrian Attwell36m
Uber outgrows its old single-activity app and builds RIBs as a multiplatform framework (Java and Swift) that isolates state in a hierarchical tree, scoping…
Talk on
Android Internals for DevelopersEffie Barak43m
Android runs on the Linux kernel but adds phone-focused changes: an aggressive OOM killer that trims background apps (example: processes drop from 30 to 26…
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.