Airbnb Alex Davis May 11, 2016

Android: An Exercise in "Ship It"

Article Summary

Airbnb rebuilt their entire Android app in weeks to meet a hard Google I/O deadline. The catch? They couldn't throw away the old codebase.

In 2013, Airbnb's Android app was lagging far behind their award-winning iOS experience. With Android dominating internationally, the newly formed in-house team had to rapidly overhaul the app while integrating Google Wallet features for the May 15th Google I/O launch.

Key Takeaways

Critical Insight

Airbnb transformed their Android app from neglected to first-class citizen by cleverly wrapping legacy code while fixing fundamental internationalization problems.

The article reveals a hilarious one-liner that perfectly captures how NOT to handle internationalization in mobile apps.

About This Article

Problem

Airbnb's Android team found serious internationalization issues in their legacy codebase. Prices had hardcoded dollar signs, guest counts used English-only pluralization by appending 's', and date formatters were locked into yyyy-MM-dd format that didn't work for other locales.

Solution

Alex Davis's team adopted Android's native pluralization framework and consolidated string resources into a single centralized file. This let translators handle language-specific variations like night counts and guest plurals without needing code changes.

Impact

By moving internationalization into one string resource file, Airbnb reduced complexity in their translation tooling and expanded the app to work across 192 countries and 35,000 cities without engineering work for each locale.