~/conference

droidcon NYC 2019

date:2019-08-26..2019-08-27
location:New York City, United States
series:droidcon NYC · 4 editions
editions:[droidcon NYC 2016, droidcon NYC 2017, droidCon NYC 2018, droidcon NYC 2019]
tags:[android, kotlin]
titleauthorlength
If your code looks like it's Kotlin & quacks like it's Kotlin, then it probably is Swift.Cecilia Castillo, Adrián Catalan41m
Built a tiny dog‑breed guessing game with 10 rounds and local scoring, implemented natively on both platforms while swapping roles so iOS dev writes Kotlin and…
Talk on
Kids, Play Nice! - Writing With Kotlin-Java InteropBritt Barak38m
Nexmo’s Kotlin-Java interop experience delivers ten concrete fixes: annotate nullability to avoid platform types, prefer bean-style getters, use @JvmOverloads…
Talk on
A Talk about Talking : Making a Memorable PresentationStacy L Devino30m
Concrete checklist for shows and meetings: define why anyone should care, draft an outline with three core points and rehearse those until natural, get…
Talk on
Hands on MvRx: Building Real AppsGabriel Peal42m
An Android architecture library built on Jetpack and Kotlin-only Jetpack extension that treats each screen as an immutable state data class and a single…
Talk on
Netflix's Reactive Android Components - The Redux Revenge.Juliano Moraes35m
Built two native apps (Android in Kotlin, iOS in Swift) in three months with four engineers, using GraphQL for fetching and quicktype to generate identical…
Talk on
Building a Security Assurance ProgramChristopher Cole38m
Practical checklist for starting a security assurance program: require executive buy‑in, write defensible policies with waiver deadlines, and set a clear bug…
Talk on
SELECT * FROM KotlinSam Edwards39m
Evaluates Room vs SQLDelight by adding on-disk persistence to a sample shopping-cart app, implements three modules (in-memory, Room, SQLDelight), and verifies…
Talk on
Diving into advanced Kotlin featuresSimon Wirtz39m
Covers concrete Kotlin features and how they compile: Kotlin 1.1.3.x and inline-class preview 1.3 are used as references; shows the 'to' infix pair and custom…
Talk on
Multiplatform Functional ArchitectureMichael Pardo33m
Argues that a single, testable core can run on Android and iOS by combining Kotlin Multiplatform with a pure Model View Update (MVU) core implemented as the…
Talk on
SwiftUI meets Kotlin Multiplatform!John O'Reilly16m
Explores a working iOS app that consumes a shared Kotlin Multiplatform repository to show bus routes, using SwiftUI views bound to an ObservableObject with…
Talk on
From Four Wheels to TwoRJ Marsan30m
Lyft ships a scooter sharing client from zero to launch in about two months by using feature modules and flavor-based NOP implementations so production stays…
Talk on
Square Workflow: Android and iOS apps composed of state machines defining UI and navigation.Zach Klippenstein, Ray Ryan41m
Square reworks Point of Sale into a composable runtime: an open-source Kotlin/Swift library (github.com/square/workflow) that models UI and navigation as state…
Talk on
Implementing the Paging LibraryAsh Davies36m
Explains how the Android Paging Library composes PagedList with ListAdapter/DiffUtil and a DataSourceFactory to load snapshots lazily, using LiveData (or…
Talk on
Litho: Best Practices for building efficient UIsSergey Ryabov42m
Litho claims up to smoother scrolling by moving layout and measurement to the background layout thread, flattening view hierarchies and recycling individual…
Talk on
Flutter at scaleJorge Coca37m
BMW adopts Flutter as a single codebase for iOS, Android and web supporting multiple brands and regional flavors, using trunk‑based development with scheduled…
Talk on
Adapting Your Apps for Android Q Privacy RequirementsNicole Borrelli29m
Android 10 enforces concrete privacy changes: location gains allow only while app is in use (foreground services count), apps request incremental background…
Talk on
Making a mountain out of a moduleJoe Birch, Ataul Munim25m
A small Letterbox client with three screens (feed, film detail, actor detail) is built to test modularization, using feature-based domain/data/remote modules…
Talk on
A day in the life of a mobile reverse engineerAlec Guertin30m
Shows how Google Play Protect analyzes apps at scale: visibility to ~2 billion devices, >50 billion installs checked and over a million APKs analyzed daily…
Talk on
Connect platforms with a Kotlin DSLPatrick Cousins36m
Sprout is a Kotlin DSL plus CLI that generates platform code (Retrofit endpoints, Moshi models, Swift, PHP) from a machine‑readable Sprout Kotlin DSL seed…
Talk on
Why does Google think my app is harmful?Alec Guertin26m
Google Play Protect runs static and dynamic scans on APKs, flags apps as Potentially Harmful Apps or Mobile Unwanted Software, and shows pop-up warnings or…
Talk on
Securely Take Payments in a React Native AppRichard Moot29m
A working React Native Order Ahead app shows Square In‑App Payments SDK handling card entry UI that sends tokenized nonces directly to Square so the app never…
Talk on
Data Encryption on AndroidJon Markoff23m
Practical guide to encrypting Android app data with Jetpack Security: use the MasterKeys helper to create AES-256-GCM keys backed by the AndroidKeyStore, opt…
Talk on
Koin vs Dagger (Service Locator vs D.I.)Brian Plummer17m
Compares Koin 2.0 and Dagger by showing how each resolves dependencies: Koin uses Koin 2.0 runtime resolution with reified types and the lazily injected…
Talk on
Reverse-Engineering apps on the device - how far can we go?Jeb Ware21m
An app on device opens another app’s APK from PackageManager.publicSourceDir, treats it as a zip to read assets, uses Resources.getResourcesForApplication and…
Talk on
Apps at Scale: An Industry DiscussionGabriel Peal, Ty Smith, César Puerta, Pierre-Yves Ricau, Lisa Wray01h 28m
Panel compares real engineering choices: monorepos vs many repos, build systems and tradeoffs (Gradle + caching, OkBuck, Buck and Bazel, ongoing move to…
Talk on
Invading the home screenMatteo Bonifazi33m
Describes concrete steps to turn a flat Android home screen into active entry points using app shortcuts and widgets: implement static, dynamic, and pinned…
Talk on
Good APIs don't need a tutorialAlec Strong42m
Argues that a library should teach by arrangement not text: split an API into its own tiny module so compilation is fast and experimentation happens in a side…
Talk on
Calm is key: A guide to a happier, more productive workplaceDan Kim40m
Argues that calm beats frantic hours with concrete practices: adopt remote-style asynchronous work, ban ASAP expectations, use Slack for nonessential chat and…
Talk on
Git rm -r --cached .idea?Harry Grillo14m
Explains which .idea files to commit and which to ignore: keep code styles and inspection profiles to synchronize formatting and lint, commit run…
Talk on
Easy Android AccessibilityLyla Fujiwara, Shailen Tuli39m
Accessibility work pays off: Android accessibility reaches over a billion people (about 1 in 7) and ~200–250 million with visual impairment, so make apps…
Talk on
Moving to MotionLayoutHuyen Tue Dao43m
MotionLayout becomes a declarative, seekable layer on top of ConstraintLayout using a MotionScene XML file to define start/end constraint sets, onSwipe…
Talk on
Inhibiting the impostorAna Baotić27m
Claims that 7 out of 10 people experience impostor feelings and that the cycle runs: stop, worry, over-prepare or procrastinate, then attribute success to luck…
Talk on
Building apps using Kotlin NativeJeremy Rempel52m
Practical walkthrough of using Kotlin Native to share business logic across Android and iOS: compiler via LLVM produces an Objective‑C framework imported by…
Talk on
Prototyping with Jetpack ComposeBen Oberkfell35m
Prototype implements a playable Jetpack Compose mini crossword: a functional 5x5 mini crossword rendered from a simple board model, with scalable centered…
Talk on
Using Kotlin/JS and Kotlin/Native on AndroidJake Wharton36m
Demonstrates compiling the same Kotlin implementation for JVM, JavaScript, and native and swapping implementations behind an interface so Android code can call…
Talk on
A Brief History of Real Time Audio (or Wasn’t That API Deprecated?)Morrison Chang17m
A concise timeline of Android real-time audio: early MIDI engine JetPlayer (Android 1.5), NDK-only OpenSL ES (API 9) giving ~45 ms latency, then a…
Talk on
Productivity Hacks for Busy EngineersChuck Greb21m
An interactive card counting exercise uses three decks and a volunteer to show context switching drops throughput from 79 to 42 cards and increases error and…
Talk on
Getting big payouts with KoinRick Busarow36m
Demonstrates using Koin 2.0 as a Kotlin service-locator to wire an Android single-screen app: ViewModel with a repository and a user ID, repository built from…
Talk on
Performance in a Kotlin worldSean McQuillan, Dan Galpin34m
Uses Android Studio Profiler (CPU, memory, network, energy), Jetpack Benchmarking, and Systrace to find real bottlenecks: a schedule screen renders twice and…
Talk on
Keynote: Being more than an Android DeveloperYash Prabhu26m
Argues Android work is both a tech stack and a people stack, showing concrete practices: use CircleCI or Jenkins, Gradle, MVVM/MVP, Dagger, move from RxJava to…
Talk on
Redux for AndroidElliott Chenger38m
Argues that adopting Redux on Android centralizes user state into a single store, makes data flow unidirectional, and dramatically improves testability and…
Talk on
Accessibility on Android : Some assembly requiredTom Wlodkowski28m
Shows concrete fixes: add contentDescription so “Toppings” reads “No toppings selected,” use a custom accessibility action to change the generic “double tap to…
Talk on
How it's made: Jetpack ComposeYousuf Haque, Zachary Smith16m
Demo builds a Stark roll call that inserts names into an alphabetized list and updates a header when all are present, proving the UI simply mirrors application…
Talk on
Setting up a bug bounty program for your appSebastian Porst46m
Practical guide for launching a bug bounty: use a triage partner like HackerOne private program to invite trusted researchers first, start very narrow…
Talk on
Android Jetpack Hearts Kotlin: on the road to more wholesome APIsWojtek Kaliciński37m
Android declares Kotlin-first for Jetpack and shows concrete work: Java APIs get KTX extensions (sharedprefs, DSLs, property delegates), libraries add…
Talk on
Adding Flutter to your Android appMatt Carroll30m
Explains how to add Flutter to an existing Android Gradle app by creating a Flutter module and either producing a consumable AAR (flutter build aar) or linking…
Talk on
Building iOS and Android Mobile App in 30 minutes!Hazem Saleh40m
Claims that a working iOS and Android app can be built in 30 minutes using Flutter and Dart, with Visual Studio Code and the Flutter CLI. The demo uses…
Talk on
Lessons Learned from Using Kotlin Multiplatform internallyJohn Bennedict Lorenzo35m
OLX migrates the posting flow using Kotlin Multiplatform starting with shared data models and Kotlin serialization, planning to add Ktor and SQLDelight later…
Talk on
Effective Multiplatform ArchitectureRyan Harter32m
Migrating the Chicago Roboto Android app to Kotlin Multiplatform converts one feature at a time and keeps UI layers native, producing thin platform apps that…
Talk on
Where the Heck Am I? Understanding Location in Your ApplicationRichard Süselbeck37m
Explains how satellite navigation actually fixes a phone: a constellation of 25 satellites in six orbits at ~20,000 km broadcasts ephemeris and almanac data…
Talk on
CameraX WorkshopCaren Chang01h 21m
Builds a camera app from scratch using Jetpack CameraX with live preview, photo capture that writes files and logs the path, and a frame image analysis…
Talk on
The Light WayLisa Wray28m
Messenger Lite prioritizes cold start and tiny install size and proves a native app can scale: a 6 MB APK inside a 1.3 billion‑user ecosystem. It enforces a…
Talk on
Getting to know CameraXMeghan Mehta, Oscar Wahltinez29m
CameraX claims 70% fewer lines of code than Camera2 and runs back to L (backwards compatible to L, covering >90% of devices), fixes flash and camera‑switch…
Talk on
Working Across PlatformsChristina Lee39m
Compares concrete cross‑platform choices: React Native bridge uses JS derivatives and an async FIFO message queue that often becomes a serialization…
Talk on
Coroutine + Flow = MVIEtienne Caron36m
Shows how MVI uses immutable state and unidirectional data flow with Kotlin Coroutines and Kotlin Flow to avoid race conditions and remove RxJava complexity…
Talk on
Storing app data reliably & performantly with SimpleStoreKurt Nelson34m
Claims SharedPreferences silently fails and blocks UI; at global scale millions of devices make a 99.9% success rate still mean thousands of failures and P95…
Talk on
Make Better Decisions: Experiment!Kate Kelly20m
Etsy runs platform experiments that prove or disprove precise hypotheses: infinite scroll reduces items viewed, purchases and favorites, while simple variants…
Talk
Multiplatform Library DevelopmentRussell Wolf40m
A practical postmortem on building an early Kotlin library: describes creating multiplatform settings (shared-preferences abstraction) with Android…
Talk on
How to Do Great WorkJohn Li17m
Tech lead role at Wayfair starts with a small Android team that has under a year of platform experience, so priority is defining concrete standards…
Talk on
Workshop: Maximize Developer Productivity with Fast and Reliable Gradle and Maven BuildsTony Robalik01h 39m
Hands-on workshop shows how to use build scans and remote build cache to measure and fix Gradle/Maven bottlenecks: capture every local and CI build, run a…
Talk on
Prioritizing Platform DevelopmentAlex Brashear20m
The New York Times creates an app platforms team that prioritizes developer experience and long-term stability, rewrites the iOS app in Swift over 1.5 years…
Talk on
Tall Legacy App with 10 Pumps KotlinNicole Borrelli16m
Concrete recipes for Kotlin Java interop with examples and pitfalls using real bytecode and generated methods The talk shows how annotating top level files…
Talk on
BazelArtem Zinnatullin42m
Claims Bazel scales large Android and iOS mono-repos and often outperforms Gradle/xcodebuild by using reproducible Starlark config, parallel configuration, and…
Talk on
Transforming a Java Desktop Application to Kotlin MultiplatformJossi Wolf27m
Attempt to port a Java Swing cycle-editor fails to reuse UI: Swing components remain JVM-only so the UI must be rewritten per platform, but the heavy business…
Talk on
Wire 3 : Tackling gRPC with KotlinBenoît Quenaudon, Egor Andreevici39m
Wire 3 is a Kotlin rewrite that generates Kotlin code, adds a Gradle plugin, and ships coroutines-based gRPC APIs plus a multiplatform runtime; it targets…
Talk on
Using ML to make your UI tests more robustGodfrey Nolan31m
Shows a practical pipeline that uses Test.ai on top of Appium with a TensorFlow object‑detection model trained from Kaggle icon sets to locate UI elements and…
Talk on
(Android) Transformers - bytecode in disguise!Doug Stevenson37m
Explains how Firebase Performance finds every HTTP call by rewriting compiled classes at build time using the Android Transform API and ASM rather than runtime…
Talk on
Android & Assistant: a match made in heavenEliza Camber27m
Android reaches 2.5 billion monthly users and Google Assistant recently quadruples to over a billion devices, and app actions let an installed app surface via…
Talk on
Flowing Things, not so strange in the MVI worldGarima Jain33m
Shows a concrete migration path from an Rx MVI implementation to Kotlin Coroutines Flow, converting Retrofit Single/Observable calls to suspend functions for…
Talk on
//TODO: Write A Better CommentAdam McNeilly24m
Article that told developers to stop writing comments is rejected as bad advice and replaced with a practical plan: classify comments as remove redundant…
Talk on
Shielding Your Android App from AttackersPeter Tefft33m
Shows decompiling a mock “Money Bank” APK using Bytecode Viewer and dex2jar, then applies R8/ProGuard renaming (mapping file shown) and Preemptive’s DashO to…
Talk on
Edge & Offline-First App Data Management in 5G devicesTom Bates34m
Claims a full embedded DB (Actian Zen) that runs as a C++ library on Android iOS Linux Windows and IoT boards, with AES-256 encryption that stays encrypted in…
Talk on
Let's focus on IDE IndexingNaveen Narayanan31m
Uber Focus implements on‑demand lazy indexing for IntelliJ/Android Studio in a Buck monorepo, raising IDE heap to 4GB and setting caches.indexer.thread…
Talk on
Android Studio Tips and Tricks Part 2Michael Bailey39m
Concrete, actionable Android Studio tricks: map caps lock to escape on macOS to avoid missed Escape taps; use the resource manager instead of old thumbnails to…
Talk on
Shark: Diving into the guts of LeakCanary's Hprof parserPierre-Yves Ricau43m
LeakCanary’s HPROF parser is rewritten as Shark in Kotlin and claims 10× less memory and 6× faster parsing; it replaces Perfetto’s heavy in-memory indexes with…
Talk on
Modularizing your Android UI with Style Guide-Driven DevelopmentRea Bhasin24m
Grubhub builds a reusable Android style system: an Android pattern library (library + sample app) that houses versioned UI components used across four Android…
Talk on
Native Concurrency and CoroutinesBen Asher37m
PlanGrid's Kotlin Multiplatform sync library runs Kotlin/Native coroutines across threads by embedding runBlocking inside a native worker pool (five workers in…
Talk on
Road to modularizationSiggi Jonsson, Aaron He32m
Tinder Android grows from a single module to 300 modules around 2 million lines of code, with a claimed clean build down to 6 minutes clean build without…
Talk on
Best Practices for Mobile App Security TestingMichael Krueger, Brian Reed33m
Automated and manual testing finds concrete failures: about 85% vulnerable and roughly half leak private data; static scans miss many issues that dynamic…
Talk on
Does your Android app expose you to excess risk?Neal Michie30m
A WhatsApp buffer‑overflow triggered by crafted call packets shows attackers find bugs by static analysis (decompilers, grep) then dynamic analysis (rooted…
Talk on
ReduxKotlin.org: Redux for All Kotlin platformsPatrick Jackson33m
ReduxKotlin.org provides a pure Kotlin multi-platform Redux implementation (published to Maven Central) that targets JVM, native (iOS/macOS), JavaScript and…
Talk on
Dagger Party TricksZac Sweers15m
Shows concrete Dagger techniques: replace eager Retrofit OkHttp injection with a Call.Factory lambda to defer OkHttp init via Call.Factory lambda, shaving…
Talk on
Jetpacks for you and IMarcos Placona36m
A live demo shows an app that fetches 20 Pokémon via Retrofit and Glide, then eliminates repeated network calls by moving logic into ViewModel + LiveData so…
Talk on
Keeping your Pixels perfectJohn Rodriguez29m
Claims that Paparazzi turns multi-minute Android UI iteration into seconds by running the IDE’s layout lib rendering pipeline on a pure JVM, using transformed…
Talk on
Advanced & Practical MotionLayoutJason Pearson39m
Covers how MotionLayout actually solves common UI problems: shows reuse Constraints between Transitions to avoid duplication, uses drag space touch anchor to…
Talk on
The Life-Changing Magic of Kotlin Multiplatform SerializationEugenio Marletti40m
Covers the kotlinx.serialization library that splits serialization vs encoding/decoding so a compile‑time compiler plugin generates serializer bytecode and a…
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.