Last week we hosted the first-ever Android @Scale in New York City, bringing together expert Android developers to discuss the range of technical challenges that comes with serving millions or even billions of people.

More than 250 attendees gathered in Midtown West to hear from engineering leaders at Audible, Facebook, Google, Instagram, Oscar Health, Pinterest, Spotify, Tumblr, and Twitter, who all shared a range of approaches, challenges, and assessments around building for Android.

For a recap of the conference and the presentations, check out the videos below. If you're interested in joining the next event, visit the @Scale website or join the @Scale community.

Automated Testing Practices @ Scale

Waseem Ahmad, Facebook

Waseem discussed the testing practices and specific frameworks used by Android engineers at Facebook to keep the quality and stability of the company's codebase high.

Paging with Room

Will Baumann and Pedro Veloso, Audible

Will and Pedro shared strategies on how to maximize the new Android Architecture Components, such as Room and the Paging Library, to relieve the burdens on the user experience queries that tend to fetch thousands of entities when only a few dozen are needed.

Video In News Feed Using Litho

Udi Cohen, Facebook

Udi revealed how Facebook's mobile engineering team developed more efficient ways to render videos on Android by using Litho, Facebook's open source UI rendering library. This helped improve the performance, efficiency, extensibility, and maintainability of Facebook's video implementation over one built with traditional Android views. The video component improved the company's scrolling performance by up to 20% across the Facebook for Android app.

Serial: Improving Data Serialization on Android

Alison Fauci, Twitter

Alison shared the motivation behind writing a custom serialization framework to better control and optimize how the Twitter for Android team serializes data within the company's app. Since Twitter open-sourced this library, viewers were given a useful introduction on how to adopt it into their codebases and contribute to the project.

App Modularization and Module Lazy-Loading

Mona Huang, Instagram

Mona provided viewers with insight into a recent project to modularize Instagram's Android codebase. A well-modularized codebase has several benefits, including the ability to have full control over when code is accessed and loaded into memory.

Graywater: A Framework for Fast Scroll Performance

Eric Leong, Tumblr

Eric discussed Graywater, Tumblr's RecyclerView library for decomposing large list items to improve scroll performance. He described how to build an advanced, flexible list implementation backed by Graywater and how to utilize Dagger 2 multi-binding to configure Graywater for different screens.

Migrating Apps To React Native from Android (and iOS)

Yang Mou, Oscar Health

Yang described how Oscar Health migrated its Android and iOS apps to React Native to greatly improve feature velocity. He presented the team’s learnings, “gotcha” moments, best practices for hybrid native/React Native apps, and patterns for routing and navigation that allowed the team to gradually migrate the apps piece by piece.

Mobius: A Loopy UI Architecture

Ahmed Nawara, Spotify

Ahmed noted that when building mobile features, engineers often need to do a lot of state and side effect management. He shared how Mobius helped his team structure code at Spotify in a way that maximizes testability and separation of concerns, by adopting functional programming principles.

Eliminating Long-Tail Jank With StrictMode

Kurt Nelson, Google

Kurt provided insight into StrictMode, 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. He revealed how keeping disk and network operations off the main thread makes for much smoother, more responsive applications. Kurt also discussed how keeping the main thread in an engineer's application responsive can also prevent ANR dialogs from being shown to users.

Model-View-Presenter @ Scale

Sam Thompson and Zach Westlake, Pinterest

Sam and Zach revealed how their team began a long-term project to incrementally rewrite Pinterest in the Model-View-Presenter (MVP) architecture to move faster and promote app stability. They revealed initial goals, implementation, and the challenges the team faced in porting the app to MVP.

Leave a Reply

To help personalize content, tailor and measure ads and provide a safer experience, we use cookies. By clicking or navigating the site, you agree to allow our collection of information on and off Facebook through cookies. Learn more, including about available controls: Cookie Policy