Event times below are displayed in PT.
We’re excited to announce our first-ever Android @Scale, which will take place on January 31 in New York City.
Android @Scale is an invitation-only technical conference for engineers on the cutting edge of Android development. Building services that serve millions or even billions of people presents a set of complex, and often unprecedented, engineering challenges.
Join experts from Audible, Facebook, Google, Instagram, Oscar Health, Pinterest, Spotify, Tumblr, Twitter, and more to openly discuss these challenges and to collaborate on the development of new solutions.
Event times below are displayed in PT.
The Pinterest Android app is worked on by over 30 client engineers spread across seven different product sub-teams. Despite the team not being huge, engineers were experiencing some growing pains due to a five-year-old codebase and lack of consistent architecture. In order to move faster and promote app stability, the team began a long-term project to incrementally rewrite Pinterest in the Model-View-Presenter (MVP) architecture. In this talk, engineers will share Pinterest’s journey thus far that will dive into initial goals, implementation, and the challenges the team faced in porting the app to MVP.
Instagram always strives to deliver a performant app. The team recently undertook a project to modularize the company’s Android codebase, which is no small feat given the company’s scale. A well-modularized codebase has several benefits, including the ability to have full control over when code is accessed and loaded into memory. This is accomplished by putting feature code into separate dex files that are lazily loaded on demand, which can help improve latency in the app, particularly at app start time.
Many apps interact with large data sets, but most only need to display a small subset of that data on the user's device for any given session. Without the careful management of these interactions, an app can introduce significant performance burdens on the user experience queries by fetching thousands of entities when only a few dozen are needed. In this talk, we'll discuss strategies to solve these challenges using some of the new Android Architecture Components, such as Room and the Paging Library.
A couple of years ago, the Twitter for Android team wrote a custom serialization framework to better control and optimize how they serializes data within the company's app. This presentation will discuss the motivation behind the project, how Twitter for Android structured the framework and implemented it in the codebase, and provide an assessment on how it benefited the team's work and the Twitter for Android app. Twitter open sourced this library, so this talk will be a useful introduction for those interested in adopting it into their codebases and contributing to the project.
When building mobile features, engineers often need to do a lot of state and side-effect management. This talk will discuss how Mobius helped Spotify’s engineering team structure code in a way that maximizes testability and separation of concerns, by adopting functional programming principles.
News Feed was recently migrated to be powered by Litho, our open source UI rendering library. In this talk we’ll cover how we redesigned the video player in News Feed to take advantage of Litho's properties, such as its support for background rendering and optimized memory management. We’ll discuss how this advanced use case for a Litho Component improves performance for users and makes it easier for developers to build performant UIs.
Graywater: A Framework For Fast Scroll Performance
Recently, Tumblr released Graywater, a RecyclerView library for decomposing large list items to improve scroll performance. This presentation walks through how to build an advanced, flexible list implementation backed by Graywater and utilizing Dagger 2 multibinding to configure Graywater for different screens. Although Graywater has greatly reduced OutOfMemory errors at Tumblr, the library is not for all apps. The talk will cover the benefits and limitations of Graywater in comparison to other recently-released RecyclerView frameworks, such as Litho and Epoxy, as well as implementation decisions and details.
At Facebook, hundreds of engineers commit thousands of changes every week to our shared Android codebase. We ship these changes every single week which then get used by more than one billion people. We invest a lot of time and engineering resources to keep the quality and stability of our codebase high. This talk will cover the testing practices and specific frameworks used by Android engineers at Facebook.
StrictMode is a developer tool most commonly used to catch accidental disk or network access on the application's main thread, where UI operations are received and animations take place. Keeping disk and network operations off the main thread makes for much smoother, more responsive applications. Keeping an engineer's application's main thread responsive can also prevent ANR dialogs from being shown to users. This presentation will focus on how enabling StrictMode in development builds of Android apps can prevent jank.
Oscar Health aims to help members find and receive the highest quality, most cost-effective health care in simple, friendly terms. In the past year, engineers have been migrating the company’s Android and iOS apps to React Native, allowing the team to greatly improve feature velocity. This talk will discuss the team’s learnings, gotcha moments, and best practices for hybrid native / React Native apps. Specifically, the talk will focus on patterns for routing and navigation that have allowed to gradually migrate the apps piece-by-piece.