1600 Capital One Drive
McLean, VA 22102
That’s a wrap for Android Summit 2019! Thanks to all the great speakers, volunteers, and attendees. We hope to see everyone next year!!
Only two days left until Android Summit 2019! See below for some important parking and travel info.
Please note that due to construction on the Capital One campus, onsite parking is limited. The parking lot at M1 (1680 Capital One Drive) will be available for early arrivers; however, you will need to walk outside the M1 building to get to M2. Overflow parking is available at 1750 Old Meadow Road once M1 is full. If you park in the overflow parking lot, a shuttle is provided which will drop you off directly in front of M2 (1600 Capital One Drive).
Android Summit 2019 is only a few short days away, and we can’t wait to see you there. To make it easier to keep track of the talks and workshops you want to attend, we’ve created event apps for Android and iOS. Download them below and use the event code as2019.Download the Android App Download the iOS App
The speakers and agenda for Android Summit 2019 are live, and we couldn’t be more excited! There are still tickets left for this year’s event, so grab one while you can.
Learn about Android design, development & testing
Meet people who love Android
Eat delicious food with new friends
Help us celebrate our 5th annual Android Summit!
Check out our code of conduct.
Chet has been on the Android team at Google since 2010. Most of that time was spent on the Toolkit team, which he managed for the past several years. Recently, he moved to the Developer Relations team, where he gets to spend more time speaking to Android developers at conferences like this one. Outside of work Chet’s been known to write books, perform improv comedy, and speak about himself in the third person.Read more Close window
Chet has been on the Android team at Google since 2010. Most of that time was spent on the Toolkit team, which he managed for the past several years. Recently, he moved to the Developer Relations team, where he gets to spend more time speaking to Android developers at conferences like this one. Outside of work Chet’s been known to write books, perform improv comedy, and speak about himself in the third person.
Michael is a Google Developer Expert and a Principal Engineer on the Android team responsible for American Express’ flagship consumer Android apps. Since joining the company in 2008, Michael has worked on a number of initiatives at American Express including analytics, enterprise content management, AmexLabs, iOS apps, NFC payments, and the U.S. online card applications site. Michael holds a BS in Computer Science from Harvey Mudd College and an MS in Computer Science from the USC.Read more Close window
Sean McQuillan is a Developer Advocate at Google. With a decade of experience at Twilio and other San Francisco startups he is an expert at building apps that scale. Sean is passionate about using great tooling to build high quality apps — quickly. When he is not working on Android you can find him fiddling on the piano or crocheting hats.Read more Close window
Dan works as an Android Engineer at Capital One on their main mobile banking application. He has a background in digital forensics and mobile security research and engineering. In his free time Dan is a home brewer and works on a number of Android hobby projects.Read more Close window
Dustin is an Android Engineer working at Capital One. Having previously worked as an Android developer and Security Consultant, he found a passion improving security standards throughout the Android eco-system and educating developers in the process. Outside of work, Dustin enjoys any extra time he has to spend with his family and exploring the great outdoors. One day he will hike the AT.Read more Close window
Scott is an Android Developer at Help Scout and Google Developer Expert who is passionate about mobile app security.Read more Close window
Nate is an Android Developer that loves to build quality software and help others do the same.Read more Close window
Pablo is a software engineer at Mapbox working on the Mobile Navigation Android team. Prior to joining Mapbox, Pablo spent nearly five years developing Android apps. He is particularly passionate about testing. Pablo is also a regular attendee to developer conferences and meetups, giving talks and facilitating coding workshops. In his free time, Pablo enjoys soccer and surfing and he loves to play board games.Read more Close window
Donn Felker is the co-host of the Fragmented Podcast, an Android developer podcast. He’s the founder and lead instructor at Caster.IO — an online training platform for Android developers. He’s authored many books on Android development and speaks internationally on topics ranging from Mobile development, to web development to business.Read more Close window
Sweety is a Sr. Android Engineer working on Xfinity Home for Comcast Cable. She is passionate towards learning new mobile technologies and implementing them. Her love for cooking and trying new recipes made her create the first Android app with Indian recipes. When she’s not working she oves to dance and play with her son!Read more Close window
Adrián has been involved in software industry for 15+ years as a full stack developer. GCDC Guatemala organizer, and GDG, Facebook DevC, GuatemalaJS and Nodebots former co-organizer. Launchpad Mentor, Sprint Master and Google Developer Expert(GDE) for Android, IoT and Firebase. Currently he is the Director of the Innovation Lab at Galileo University.Read more Close window
Doug is a veteran engineer, experienced public speaker, and developer advocate at Google with the Firebase team. He developed web apps before the web had “apps”, and developed for Android since the very first Android device was on the market. In the SF bay area, he’s bootstrapped the efforts of several startups. Outside of work, Doug follows professional ice hockey and enjoys craft beer.Read more Close window
Way back at school, Ivan got carried away with portable devices, from radio to mobile phones. His hobby eventually became his career. He started his career as an embedded systems developer, system drivers and web apps to a mobile development lead and manager. He currently lives in New York City and works in media, doing a lot of stuff AndroidTV and FireTV.Read more Close window
Divya is a mobile developer, currently enhancing the Gametime App and enjoying exploring San Francisco. She has been learning and building Android apps since more than 2 years now. She is always up for a new challenge and wants to create awesome mobile apps with the purpose to make life fun and easy and solve problems. When she is not coding, she is usually traveling or lost in her other world of fictional novels.Read more Close window
Adam is a Software Engineer, Android enthusiast, and pun aficionado. He fell in love with Android when he picked it up as a hobby in 2013 and he’s been staying on top of the latest trends and contributing to open source projects ever since. Adam also strives to be an active member of the developer community — traveling the country to attend and speak at hackathons and conferences to both educate and learn from others in the community.Read more Close window
Sam Edwards is a Lead Android Engineer at Capital One, Google Developer Expert for Android & Kotlin, co-organizer of Android Summit, and Instructor at Caster.IO. He has been working with Android since 2011 and has 15 years of professional experience with software development. Check out https://handstandsam.com where he shares tips and tricks about Android and software development.Read more Close window
Aida is an Android Engineer at Clarity Money, a personal finance management app. Previously, she has built android applications for various industries, ranging from cloud gaming services to satellite data communications. When she’s not coding, she’s chasing a great food experiences all over the world.Read more Close window
Russell started building Android apps in 2012, and has been using Kotlin since late 2015. He has worked on projects in domains such as gaming, fitness tracking, identity protection, and bluetooth communication. He is also the author of Multiplatform Settings, a Multiplatform Kotlin library for persisting key-value data in common code.Read more Close window
Jorge is a Spanish engineer lost in Chicago. He is writing the book “Dart 2 In Action” for Manning Publications. He works at BMW, in the mobile core tea, developing the Connected experiences for BMW and MINI. Prior to that, he was the Android Dev. Now, He’s the Flutter dev. He loves working with the community, and he has the pleasure of running the Chicago Flutter Meetup, where they work together to build a welcoming environment for everyone interested in Flutter and Dart.Read more Close window
Faisal is a Google Developer Expert, Entrepreneur, and Engineer. He is a programming language enthusiast and loves solving software engineering challenges across the stack. Currently, Faisal is the Co-Founder at dydx. You can also find Faisal working on mobile applications in Flutter, writing Smart Contracts for DApps, and writing backends in Dart or Node.js.Read more Close window
Expert on Android. Always after failure resilient and maintainable software. After working long years in such a mindset, joined Wayfair to lead the Android team in Berlin. Currently working together with engineers to deliver best-in-class mobile tools to grow Wayfair’s business.Read more Close window
Pete Varvarezis currently works as a Distinguished Engineer at Capital One supporting the Feature Engineering teams. Pete is a technologist at heart with a passion for mobile and artificial intelligence. As Founder and Co-Organizer of GDG Wilmington and one of the GDG Mentors for the Northeast region, Pete helps organize meet-ups, community mixers and presents on the latest in Google technologies. After spending all day in front of a computer, Pete likes to unwind by playing video games (typically in front of a computer).Read more Close window
Android Software Engineer at Capital OneRead more Close window
Tom is an Android Engineer focused on framework development that supports the continuous, stable, and speedy deliver of features for the Capital One Android app. His rap sheet includes creation of an on device mock API service utility, custom Gradle plugins to speed up build times, code generation that hooks into AAPT2, the evolution of a rails system to enforce feature modularity, and more. When not coding Tom likes to brunch, exercise, and playing video games (not necessarily in that order).Read more Close window
Bio soonRead more Close window
Sunitha is a passionate Android developer working at Verizon Media, who has keen interest in UI development. She likes to work with product and design closely to provide valuable thoughts in coming up with best experience for users. When she is not coding, she loves to build metal 3d models.Read more Close window
Founder of CommonsWare. Author of several books on Android app development. Trainer of multitudes. Advocate for developers. Not heir to the melted remnants of the Iron Throne, fortunately, as that would make it difficult to get health or life insurance.Read more Close window
Nick DiPatri has a degree in Electrical Engineering from Rutgers and has spent the last 20 years building hardware and software systems for Philadelphia companies. He is currently a Principal Engineer at Comcast. Nick is a maker at heart and loves to build gadgets using epoxy, 3D printing, microprocessors, and blinky lights.Read more Close window
Eric is an Android developer and instructor at Big Nerd Ranch, an instructor at Caster.IO, an Android GDE and the organizer of GDG Android Columbus. When he’s not working, he enjoys spending time with his wife and two daughters.Read more Close window
Guido and his twin brother Luigi are founders of 2Dimensions. With a background in app and video game design and development, they combined their passions to create a no compromise tool for designers and animators. Artists work directly on production assets, bringing their creative work to life in an environment designed from the ground up to represent high fidelity runtime results.Read more Close window
Luigi and his twin brother Guido are founders of 2Dimensions. With a background in app and video game design and development, they combined their passions to create a no compromise tool for designers and animators. Artists work directly on production assets, bringing their creative work to life in an environment designed from the ground up to represent high fidelity runtime results.Read more Close window
Mary Kendig is a Project Manager in the College of Information Studies at the University of Maryland. Coordinating university based research projects in ethical design and online data ethics, Mary supports academic leaders in answering ethical questions on how we develop applications, use big data, and educate future computer/data scientists consider the impacts of their design, data collection, and algorithms. Under the NSF-funded project Ethical Computing in Mobile & Wearable App Development, Mary supported the creation of the Privacy-by-Design: The Game, a cooperative board game which explores real-world tensions in mobile privacy and app design.Read more Close window
Donal Heidenblad is a lecturer at the College of Information Studies at the University of Maryland where he teaches information technology and programming courses. Donal researches how to effectively incorporate ethics instruction into technology courses. As a member of the Ethical Computing in Mobile & Wearable App Development team, a NSF-funded research project, Donal helped create Privacy-by-Design: The Game, a cooperative board game which explores real-world tensions in mobile privacy and app design.Read more Close window
More details soon
Come learn about the new features and some tips and tricks to make you more productive. We will cover some features from the underlying IntelliJ platform.
Users expect apps to be snappy, responsive, and jank-free. As developers, we want to use new language features and libraries. How do you make sure these new features deliver the performance users expect? In this talk, you’ll learn how to make your app shine with practical performance patterns. After this talk you’ll know how to use Android Studio profilers, new Jetpack Benchmarking library, and even strace to find and fix jank and keep it from coming back.
By now you’ve probably heard every architecture pattern buzzword that’s out there. MVC, MVP, MVVM, MVI… If you have ever asked “which one should I choose?” or “what’s the difference?”, this talk is for you. As we walk through each pattern individually, you’ll learn the nuances of each one and what makes it better than the others. At the end, these acronyms will no longer be buzzwords. Instead, you’ll have a clear understanding about how to use them to maintain a robust and extensible codebase.
Dependency Injection seems like this SUPER complex topic that only the most senior developers understand. At the end of the day, it’s just “inversion of control” where instances of objects/classes are provided to you, instead of created by you. Kotlin’s language features allow us to do this concisely, without a library, and in this talk I’ll show you how to DO IT YOURSELF. This talk will demystify dependency injection and help you understand the huge benefits it provides for testing, maintainability and modularity.
While you can use RxJava in Kotlin, coroutines are likely to be the long-term reactive solution for Kotlin in Android app development.
In this workshop, we will experiment with migrating a small Retrofit-and-Room code base from using RxJava to using coroutines. Along the way, we will see how coroutines integrate with ViewModel and LiveData, how to use channels and flows, and how to test coroutines.
MVI doesn’t have to be complicated. Using just LiveData, Kotlin, and databinding it’s possible to create a simple and understandable unidirectional data flow that fits most use cases.
In this talk, we will break down the Model View Intent architecture and show how you can implement it with minimal dependencies and effort. We will discuss UI and unit testing strategies, how to manage and implement your data structures, and edge cases and mitigations that you may have to deal with.
Consistent with the last few releases, Android Q focuses ever more on privacy, updatablity and platform hardening. I’ll cover the breaking changes and what you’ll need to update to be compatible when running on, and/or targeting Q. Important if your app uses location, external storage or device Id.
We’ll also cover 2 exciting new encryption SDKs from Google AndroidX Security & Adiantum, as well as security best practices that align with Android Q.
How can your CI pipeline enable you to build more quickly and efficiently?
In this talk, you’ll learn what tools are available at every step of the development process; allowing you to automate the small things, and dedicate your time to what matters most.
This talk will dive into Kotlin built-in support for property changes and implementation of custom view states by using it.
Kotlin Multiplatform enables sharing logic and architecture across platforms while still interacting with each platform’s native APIs. We’ll talk through what this looks like by walking through a sample application. We’ll highlight helpful patterns for both production and test code, as well as available tools and dependencies. Once we’re done you’ll be ready to leverage Kotlin’s code-sharing capabilities in your own projects, and never need to write the same logic twice ever again.
Almost every mobile developer has heard about Flutter and all its benefits: hot reload, a composable UI, run your code almost anywhere… but what motivates a company to start using Flutter? And how do you determine success?
In this talk, I’d like to guide you through our journey at BMW to make Flutter our preferred UI framework, how we enable Flutter development at scale, the challenges that we have faced and our future plans using this amazing technology.
Using tabletop catapults as a test case, this workshop harnesses the power of your voice to control real world IoT devices. You’ll step outside your Android comfort zone and create a conversational user experience using the Google Assistant running on your phone.
If you want to learn Kotlin-based Google Actions fulfillment, Google’s Cloud Platform, Particle Photon Arduino platform — and possibly Newton’s Laws of Motion as they pertain to ping-pong balls — this workshop is for you.
Come to this hands-on introduction to Google’s recommended way to move between screens in modern Android apps. No prior experience with the Navigation Architecture Component is needed: you’ll start by implementing basic screen-to-screen navigation. Before you leave, you’ll be comfortable with advanced topics like deep linking, conditional navigation, and testing with FragmentScenario.
In this session we will talk about all the performance bottlenecks that we found along the way developing the Mapbox Navigation SDK for Android. We will learn how we made decisions based on numbers and tackled them: from designing and implementing a pipeline that runs automated tests, to selecting and analyzing the data obtained from these tests. We will show the tools and platforms used, such as Systrace, test @Rules, and AWS Device farm.
When you are developing SDKs or libraries, their performance is crucial to your customers, especially in the context of turn-by-turn navigation. A complete navigation experience includes voice announcements, real-time user progress to their destination, smooth map camera animations, detecting when a user goes off-route, and more. As you can imagine, all of these components are critical when building a navigation app, but at the same time taxing in terms of performance.
From its humble beginnings, Flutter has exploded on the scene and is now one of the most hot mobile frameworks to learn! But did you know Flutter is also making its way on the Web? In this talk, we’ll explore how to design and develop Flutter apps for mobile and then deploy them to the Web and Desktop!
Quality. It’s what we all want, but how do we get it? This session will definitively answer that question for everyone for all time.
Does that code you just wrote actually work? How do you know? How do your teammates know? You did write tests for that, right? What kind did you write though? Unit? Integration? System? End-to-End? What about mocking and stubbing? I know, you only changed two lines of a legacy piece of the app… but still, how do you know this didn’t break anything?
Ugh. Let’s face it testing your application is difficult and tedious. Where can you get the most bang for your buck? What’s the 20% of work that gets you 80% of the return? In this session you’ll learn where you can focus your attention to gain the most traction in your testing endeavors. From mocking api calls, to juxtaposing the benefits of unit testing vs end-to-end testing, we’ll cover it all.
Flare took the Flutter world by storm when it was announced at Flutter Live last December! Flare is a powerful design and animation tool that lets you create gorgeous, intricate, interactive animations in Flutter (and more) that are limited only by your imagination. Flare should be a part of every Flutter developer’s toolkit, but many developers are not familiar with how to use animation design software. Not after this event! 2Dimensions, the creators of Flare, will be presenting a 2-hour workshop specifically for Flutter developers. You’ll learn how to set up a project, import custom artwork, create animations, and integrate with Flutter.
Machine Learning Kit (ML Kit) has been introduced by Firebase which helps us to integrate AI without implementing complicated algorithms. In this presentation, you will learn how to detect faces, implement smart replies, train your data set and translate to any of 59 languages with just a few lines of code! If that sounds interesting, attend this talk to see a live demo of how it works in Android.
All those fancy keywords might make the content of this talk sound complex. Many concepts around AI and ML can be overwhelming or imply a time consuming steep learning curve. Fear not, both Flutter and Firebase come in our rescue. In this talk, we’ll review basic concepts of Machine Learning, understand availability and capabilities of APIs provided by ML Kit(look ma, -almost-no math) and how to implement features like image labeling in our apps in no time (although time is a social construct).
Code Reviews are essential in every software team on any size. It allows teams to share knowledge, onboard people to the code base and most importantly keep the quality coherent. In this talk, after briefly defining code review, we will talk about how to make code reviews effective. The talk will consist of best practices from the eyes of the code author and code reviewer.
Said Tahsin Dane
The Android Camera APIs have evolved over the years, producing 2 unique ways to add camera functionality into your Android applications. Now, with JetPack, we have a new, streamlined method of camera integration. This presentation shows how to integrate and use the alpha version of CameraX to obtain consistent camera behavior in your applications.
If you’ve used Firebase Performance Monitoring, you know that it automatically discovers and reports performance metrics for all the HTTP transactions in your app. But have you ever wondered how it does that? Android doesn’t provide any APIs to listen in on an arbitrary connection (that would be a security problem!), and Firebase supports URLConnection, Apache, and OKHTTP APIs. The secret here is bytecode manipulation at build time using the Transform API provided by the Android build tools.
Modern applications should be fast and reliable. This talk will be about the ways how it’s possible make application fast and reliable, how it’s possible identify weak points in application and improve it’s metrics, increase engagement without too much work and any heavy frameworks and libraries.
This talk will be a deep overview of all about creating Accessible Android apps and services that make it easier for all users to interact:
Testing / Debug code should never be included in shipped Production code. You’re building an Android SDK and as you develop the library, you are bound to have Debug build variant features (SDK tooling) that you definitely do not want to ship in Production code. But, these debug features are extremely helpful for Product Owners UAT and sales demos. So, how do you design an SDK with all of your awesome debug tooling and also avoid the riskiness of shipping them “turned off” in Production code?
Organizations are constantly trying to quickly and reliably deliver new features and enhancements to their applications. Over the past 5 years, the Capital One Enterprise Application has gone through a number of (good and bad) delivery process (r)evolutions. During this session we’ll discuss our application contribution model, our custom Gradle solution, the automation tooling that supports it, and suggestions to help you deliver your application at scale.
“Um… can a UI library allow its consumers to control look and feel of the UI entirely, not just the theming aspect, and yet rely on the shared code to bind data to UI elements?” Yes, this is possible through a View ID Map solution that I have come up with. In this session, I will share my experience of working for a shared library, how “View ID Map” solution allowed the library to make UI flexible enough, so that the consuming apps could implement UI that conforms to their brand.
1600 Capital One Drive
McLean, VA 22102
Flutter for Android Developers
Android Summit 2018