Android
Articles on Android performance, Kotlin optimization, Gradle builds, and building responsive Android apps.
Recent Releases
All releases →Articles about Android (772)
How a Learning Project Became Our Modern Mobile Test Framework
Trivago shares how a small Appium learning project evolved into their primary mobile test framework, covering the migration from Appium 1 to Appium 2/3 with a plugin-based architecture.
Under the Hood: Android 17's Lock-Free MessageQueue
Android 17 introduces DeliQueue, a lock-free MessageQueue implementation that improves UI thread responsiveness and reduces dropped frames for apps targeting SDK 37+.
Agent Device: AI-Native Mobile Automation for iOS and Android
Callstack has open-sourced agent-device, a lightweight CLI tool that enables AI coding agents like Claude Code and Codex to automate interactions with iOS and Android apps. The tool provides lifecycle managemen...
App Resizability and Multi-Window Support
Best practices for preparing Android apps to support resizable windows and adaptive layouts.
Android 17 First Beta Release
Announcement of the first beta release of Android 17 for developers.
React Native Version 0.84 Release
Release notes and improvements for React Native version 0.84.
Automating Memory Leak Detection with AI
Details how Grindr automated memory leak debugging to reduce diagnosis time from hours to minutes using AI techniques.
How We Release the Spotify App: A Look Under the Hood (Part 2)
Deeper dive into Spotify's mobile release tooling/process to catch issues before rollout; focuses on reliability & safe deploys at scale. Covers the Release Manager Dashboard (a Backstage plugin), backend optim...
Common Mistakes When Shifting Left in Mobile Testing
Explores the most common pitfalls mobile teams encounter when implementing shift-left testing, from over-relying on UI tests to ignoring mobile-specific risks like process death and flaky networks. Argues that ...
Migrating to Jetpack Compose: How AI Accelerated Our Journey at Caper
Instacart's Caper team shares their four-phase strategy for migrating their smart cart Android app from Fragments and XML layouts to Jetpack Compose. AI coding assistants accelerated the refactoring by 5-7x, sa...
How Automated Prompt Optimization Unlocks Quality Gains for ML Kit's GenAI Prompt API
How Automated Prompt Optimization (APO) on Vertex AI enables developers to achieve fine-tuning-quality results for on-device Gemini Nano models, with 5-8% accuracy gains across classification and translation ta...
Beyond the smartphone: How JioHotstar optimized its UX for foldables and tablets
How JioHotstar optimized their streaming app for foldables and tablets using WindowSizeClass, adaptive layouts, and Tabletop Mode to achieve Tier 1 large screen app status, serving 400M+ users.
Kotlin Intrinsics on Android
Rahul Ravikumar explores how Kotlin's null-safety intrinsic checks create unnecessary runtime overhead on Android. The article explains how R8 in Android Gradle Plugin 9.0 optimizes these checks by replacing ve...
The Silent Performance Killer: How a Single Lambda Nearly Destroyed My Compose UI
Deep dive into debugging excessive Jetpack Compose recompositions caused by lambdas in data classes, with solutions using @Stable annotations and separating state from actions at GoTo's navigation app.
Update Your Projects for AGP 9
Guide on updating Android projects to Android Gradle Plugin 9, covering build system improvements and best practices.
LLM Flexibility and Agent Mode Improvements
Discusses improvements to AI/ML capabilities on Android platform for mobile development.
Compose Multiplatform 1.10.0
Release announcement for Compose Multiplatform 1.10.0 with UI framework improvements for mobile and multiplatform development.
NavEntryScope: The missing scope in Android Hilt
Mercari introduces NavEntryScope to improve scoping in Android Hilt, enhancing stability and modularization in navigation.
The Journey to Compose Hot Reload 1.0.0
Feature release for Compose Hot Reload, improving developer productivity and iteration speed in mobile development.
Project Butter: A Journey for App Performance Improvement
A comprehensive guide to improving App Performance for Mobile Apps
Unlock Native Power in Flutter Part 2
Platform Views + performance considerations (hybrid composition, frame lag) + testing guidance.
HashMap and Set Performance Optimization in Android Kotlin
Advanced optimization techniques and best practices for using HashMap and Set in Kotlin for improved app performance.
Unlock Native Power in Flutter Part 1
Flutter ↔ native integration via channels; includes performance-related motivation (heavy computations, etc.).
Demystifying user journeys: Revolutionizing troubleshooting with auto tracking
How Grab's AutoTrack SDK is used to revolutionize session tracking and troubleshooting by providing complete user journey data.
JioHotstar Android App — Road to 99.9% CFUR
JioHotstar's engineering team shares how they improved their Android app's Crash Free User Rate from 99.5% to 99.8% by systematically identifying and fixing Out Of Memory crashes through memory profiling, third...
Adaptive Design: Moving Beyond Mobile-Only Apps
Best practices for designing adaptive applications that work across multiple device form factors.
How Mobile Development Teams Use Kotlin in 2025
Survey and best practices on how mobile development teams leverage Kotlin for Android and multiplatform development.
Exploring the Swift SDK for Android
Explores Swift development capabilities and tooling for building Android applications.
Kotlin 2.3.0 Released
Release notes for Kotlin 2.3.0 with improvements relevant to mobile development and performance optimizations.
Profiling MLC-LLM's OpenCL Backend on Android: Performance Insights
Callstack deep dives into profiling the MLC-LLM inference engine on Android, uncovering GPU-specific performance issues with OpenCL on Adreno and Mali chips.
Supercharging User Engagement: How Mercari is Using Server-Driven UI to Reduce Time-to-Market
Mercari details their Server-Driven UI architecture for marketing campaigns, enabling remote UI configuration with native performance while dramatically reducing development cycles.
How AI Is Transforming the Adoption of Secure-by-Default Mobile Frameworks
Meta describes how they design secure-by-default mobile frameworks that wrap unsafe Android APIs like intent launching, and how they leverage generative AI (Llama) to automate the migration of large codebases t...
Enhancing Android Security: Stop Malware
Covers Android security best practices and malware prevention for mobile app development.
Exploring KotlinX Benchmark Results with Kotlin Notebooks
Guide on using Kotlin Notebooks to analyze performance benchmarks, relevant to mobile app performance measurement.
React Native Version 0.83 Release
Release notes and improvements for React Native version 0.83.
Building for Android XR: AI Glasses Development
Guide on developing applications for Android XR platform and AI glasses devices.
Android Studio Otter 2 Feature Drop
Announces new features and improvements in Android Studio Otter 2 for mobile development.
The Complete Guide to Offline-First Architecture in Android
Comprehensive playbook for resilient offline UX: local caching, sync, conflict handling
Strategic Guide to Migrating Legacy Android Apps from XML to Jetpack Compose
Comprehensive strategy for transforming large legacy Android codebases to modern Jetpack Compose architecture.
Core/Core-Impl Pattern: Build-Performance Superpower of DI & Gradle
Improving Android build performance through modularization using the Core/Core-Impl pattern.
Mobile App Release Challenges: Why Code Persistence Matters
Discussion of unique challenges in mobile app releases and the long-term implications of code decisions.
The Ultimate Kotlin Multiplatform Watchlist
Guide to essential tools, libraries, and resources for Kotlin Multiplatform mobile development.
Fully Optimized: Wrapping up Performance Spotlight Week
Comprehensive roundup of Android's Performance Spotlight Week covering R8 optimizer, Baseline Profiles, Jetpack Compose performance, measurement guidance, and debugging tools with case studies from Reddit and D...
Raising the bar on battery performance: excessive partial wake locks
Details the new excessive partial wake locks metric in Android Vitals to help developers improve battery performance.
Android Developers Blog: Leveling Guide for your Performance Journey
Step-by-step plan to level up app perf using Play Console vitals
Behind the Global Launch: Decoding the Android Engineering Strategy for Our New App
Mercari explains their Android engineering strategy for a global app launch, covering the decision to go native over cross-platform, monorepo architecture, and a single global build approach.
How Reddit used the R8 optimizer for high impact performance
Explores how Reddit leveraged R8 and startup profiles to achieve significant performance gains in their Android application.
Orchestrating our UI test suite with Maestro
Doist explains how they replaced fragile Espresso idling-resource tests with Maestro’s UI testing framework to build a more reliable, maintainable, and scalable mobile UI test suite across their apps.
Android Engineering Strategy for Global App Launch
Explores Mercari's engineering strategy and best practices for launching their Android app globally.
Modernizing ExoPlayer with Media3’s Compose UI
Media3 + Compose UI patterns to modernize video playback surfaces while keeping rendering smooth
Deeper Performance Considerations
Explores advanced performance optimization techniques and considerations for Android app development.
Android VPAT journey
Slack's journey in improving Android accessibility and compliance with the Voluntary Product Accessibility Template (VPAT ).
Use R8 To Shrink, Optimize, and Speed Up Apps
Explains how to use R8 for code shrinking, optimization, and improving app performance.
Android Developers Blog: Get your app on the fast track with Android Performance Spotlight Week!
All week long, we're providing you with low-effort, high-impact tools and guidance to get your app on the fast track to better performance. We help you lay the foundation and then dive deeper into helping your ...
Improve your Android App Performance by 10X with Compose Stability
Techniques for using Compose stability to significantly improve Android app performance and reduce recompositions.
Making Android WebView 2.5× Faster (And Proving It with Data)
A practical guide to making Android WebView 2.5x faster through prerendering, measuring Time To Visual Ready (TTVR), and proving the improvement with real A/B test data. Covers building WebViewPreloader, WebVie...
What's New in Flutter 3.38
Release notes covering new features and performance improvements in Flutter 3.38.
How Pinterest Cut Android Testing CI Build Times by 36%+
Runtime-aware sharding + EC2 bare-metal emulators reduced slowest shard 55% and E2E build time
I achieved 0% ANR in my Android app. Spilling beans on how I did it - part 1.
After a year of effort, I finally achieved 0% ANR in Respawn. Here's a complete guide on how I did it.
Reddit: Making Android Videos Super Fast
Details on how Reddit improved the ExoPlayer library for faster video startup times and better quality.
Scaling Mobile UI Testing with AI
In 2025, AI became our star driver. After years of building the infrastructure — Mercury for test and release management, Helios for VM orchestration
Android Clean Architecture: Understanding the Data Layer
Explains best practices for implementing the data layer in Android applications using clean architecture principles.
Migrating from KAPT to KSP: A Complete Guide to Kotlin's Future
A guide on migrating to KSP for faster build times and better Kotlin Multiplatform support.
What's New in Swift October 2025
Covers new features and improvements in Swift language that impact mobile and server development.
Evaluating Kotlin for Real-World Mobile Projects
Analysis of Kotlin's practical application and performance considerations in production mobile applications.
Nightly Swift SDK for Android
Introduces Swift SDK support for Android development, enabling mobile development best practices.
Enhanced Accessibility Gestures for Custom Components on Android
leboncoin describes implementation of improved accessibility gesture handling for custom Android UI components.
Performance Optimization for Android XR Devices
Performance optimization strategies and best practices for developing applications on Android XR platforms.
Delivering Mobile App Updates Faster
Details strategies and techniques for accelerating mobile app update delivery and deployment.
How We Deliver Mobile App Updates Faster
Mercari walks through their mobile release strategy with weekly cadences, trunk-based development, feature flags, and automated CI/CD pipelines using GitHub Actions and Fastlane.
Building Native Trading Charts for Android
Implementation of native charting components for Android applications with performance optimization.
Kotlin Multiplatform Contest 2026
Competition and showcase for Kotlin Multiplatform mobile development projects and best practices.
React Native Version 0.82 Release
Release notes and improvements for React Native version 0.82.
Managing Dependency Hell in a 400-Module Android Project
Strategies for managing complex dependency structures and modularization in large-scale Android projects.
Accelerating Mobile App Development at Zalando with Rendering Engine and React Native
Brownfield React Native integration via “React Native as a package”
Cross-Platform TV Apps with React Native for tvOS, Android TV, and Tizen
Covers development best practices for building TV applications across multiple platforms using React Native.
How Uber Standardized Mobile Analytics for Cross-Platform Insights
How Uber standardized mobile analytics by unifying event instrumentation, collecting consistent metadata, and providing sampled event coverage across iOS and Android, reducing transient-view impressions by up t...
How Uber Standardized Mobile Analytics for Cross-Platform Insights
Standardizing mobile analytics to gain consistent, cross-platform insights at Uber scale.
Accelerating our Android apps with Baseline Profiles
How Meta uses Baseline Profiles to speed cold start, scrolling, and navigation; reports up to 40% improvements.
Centralized Dynamic Navigation at Scale: Zero Crashes, Module Independence, Faster Delivery
Slice describes their approach to implementing scalable navigation architecture with improved stability and modularity.
Weekly Mobile App Release Process and Deployment Strategy
Practices and strategies for shipping mobile apps on a weekly cadence while maintaining quality and team sanity.
Compose Multiplatform 1.9.0 - Compose for Web Beta
Release announcement for Compose Multiplatform 1.9.0 with new web support, relevant to mobile and multiplatform development practices.
Android 16 QPR2 Beta 2 Release
Overview of new features and improvements in Android 16 QPR2 Beta 2 for developers.
Debugging Android Connectivity Issues with Metro Bundler
Provides debugging techniques for resolving connectivity issues between Android devices and the Metro bundler during development.
Swift 6.2 Released
Announces new Swift language version with improvements relevant to mobile and server development.
Improve App Performance With Optimized Resource Shrinking
Details techniques for optimizing app performance through improved resource shrinking and code optimization.
Optimize your app battery using Android vitals wake lock metric
Explains new Android Vitals wake-lock signal, how to detect & fix excessive partial wake locks to reduce battery drain.
Elevating Android Security
Discusses security enhancements and best practices for Android mobile development.
Gemini Nano with On-Device ML Kit and GenAI APIs
Explores on-device machine learning capabilities and generative AI APIs for Android development.
Building a Maestro Plugin for IntelliJ: From Mobile Test Automation to IDE Excellence
Trendyol built an open-source IntelliJ plugin for Maestro mobile test automation that provides syntax highlighting, intelligent auto-completion, real-time validation, and integrated test execution directly with...
64-bit app compatibility for Google TV and Android TV
Google TV and Android TV will require 64-bit app compatibility for new apps and updates with native code starting August 2026, with guidance on arm64 architecture transition and 16KB page size compatibility.
Test on a fleet of physical devices with Android Device Streaming, now with Android Partner Device Labs
Introduces device streaming capabilities for testing Android apps on real devices through partner device labs.
Android Developers Blog: What’s new in the Jetpack Compose August ’25 release
Compose 1.9: improved list prefetching & cache window APIs, visibility callbacks—noticeable scroll/UI performance gains.
React Native Version 0.81 Release
Release notes and improvements for React Native version 0.81.
Media3 1.8.0 Release: New Features and Improvements
Overview of new features and enhancements in the Media3 library for Android media playback.
The evolution of native engineering at Tripadvisor: Part 2
In the first post in this series Benoit Sarrazin discussed the adoption of The Composable Architecture in our iOS app. He covered the reasons for this change, the benefits it brought, and the challenges we face...
Recomposition Is Not a Bug — You Are
Opinionated guide to avoiding unnecessary recomposition; derivedStateOf, keys, etc.
From Biology to Code: How Android’s Zygote Enables Fast and Efficient App Launching
Clear deep-dive on Zygote preload/fork pipeline and its startup/perf impact.
Pincode Migration Journey with Compose Multiplatform
Case study on migrating a feature to Jetpack Compose Multiplatform for cross-platform development.
Our Buildkite Brings All the Devs to the Yard: (Re)Building Reddit Mobile CI in 2025
Reddit Mobile CI overhaul: up to 50% faster build times, improved stability and developer sentiment; details on infra choices and trade-offs. (Reddit)
Accelerating on-device ML on Meta’s apps with ExecuTorch
WhatsApp/Messenger moved key models on-device; reduced model load & inference time and improved ANR metrics. (Engineering at Meta)
Rebranding on Android Apps: Behind the Scenes
Explores the technical implementation and best practices for rebranding Android applications.
Debugging OOMs: SQLite Query Optimization
Addresses out-of-memory crashes caused by inefficient SQLite queries in mobile applications.
UNISOC Leverages ADPF for Enhanced Android Gaming Performance | Developer stories | Android Developers
Case study + note that ADPF is broadly available (Unity/Unreal/Cocos/native) to tune thermal/perf. Last updated Jul 9. (Android Developers)
Link Inlining Optimization for Android
Technical exploration of link inlining techniques for Android performance optimization.
Agentic AI Integration in Android Studio with Gemini
Covers AI-powered development tools and Gemini integration in Android Studio for improved developer experience.
Duolingo's Android Performance Case Study and DAU Growth
Duolingo reveals how 200+ A/B tests on Android performance reduced 5-second startup rates from 39% to 8% on entry-level devices, driving hundreds of thousands of daily active user gains.
Android 16 Release Announcement
Overview of new features and improvements in Android 16.
Testing Lottie Animations in Jetpack Compose
Guide on testing Lottie animations within Jetpack Compose for Android development.
Swift at Apple: Migrating Password Monitoring Service from Java
Details a production migration to Swift demonstrating best practices for performance-critical services.
The Journey to Faster Android Builds: How Slice Slashed Build Times
Slice shares optimization techniques and strategies used to significantly reduce Android build compilation times.
How We Decomposed Tinder's Monolith
Case study on refactoring a monolithic mobile application into modular architecture.
On-Device Generative AI APIs: ML Kit and Gemini Nano
Integration of on-device AI capabilities using ML Kit and Gemini Nano for Android applications.
Peacock Optimizes Streaming with Jetpack Compose
Case study on how Peacock improved streaming performance and UI efficiency using Jetpack Compose.
Preparing Apps for 16KB Page Size Devices
Technical guidance for optimizing Android apps to support devices with 16KB memory page sizes.
Android Network Observability: Shedding Light on Performance Blind Spots
Slice discusses network observability techniques for identifying and resolving Android app performance issues.
How We Slashed Android Startup Time by 30% with Baseline Profiles
Nobody likes waiting, especially when opening an app. We noticed a clear trend: the faster our app started, the more users stuck around.
How Dropbox leverages testing to maintain high level of trust at scale
With more than one billion downloads, the Dropbox app for Android has to maintain a high quality bar for a diverse set of use cases and users. With less than 30 Android engineers, manual testing and #yolo isn’t...
How to Reduce Android Studio Memory Usage
Android Studio is a powerful IDE, but it can be memory-hungry. A few tweaks can significantly improve performance and reduce excessive memory usage. Here I will maintain the original tips structure while diving...
Enhancing Android Development Productivity with Convention Plugins
Guide on using Android convention plugins to improve developer productivity and build system efficiency.
Netflix App Testing At Scale
Testing at Netflix continuously evolves. In order to fully understand where it’s going and why it’s in its current state, it’s also important to understand the historical context of where it has been.
Android Migration from XML to Jetpack Compose
Article documenting the migration journey from XML layouts to Jetpack Compose for Android UI.
Android Migration: From XML to Jetpack Compose - Part 2
Continues the migration journey from XML to Jetpack Compose with additional implementation details and best practices.
Android Migration: From XML to Jetpack Compose - Part 1
Explores migrating Android UI from XML layouts to Jetpack Compose, covering modern declarative UI development practices.
A Behind-the-Scenes Look at How We Release the Spotify App (Part 1)
Overview of Spotify's weekly mobile app release process for 675M+ users. Details the Release team's dual mission of coordinating releases and building supporting tools. Follows version 8.9.2 through the full cy...
Make WebViews edge-to-edge in Android
Ensure your WebViews are compatible with Android 16, as Android 16 removes the ability to opt-out of drawing your app edge-to-edge.
How server-driven UI is revolutionizing mobile app experiences
At Careem, agility and adaptability are key to delivering highly personalized and seamless user experiences as we need to move fast to react to customer behaviour during different times of the year, such as Ram...
Skyscanner’s journey to effective observability
The year was 2020 and Skyscanner, like the entire travel industry, faced unprecedented challenges due to the global COVID-19 pandemic. Yet, this difficult year also provided an opportunity for introspection
Android Clean Architecture: Understanding the Domain Layer
Details the domain layer implementation in Android clean architecture for maintainable app development.
Future for Java: Virtual Thread
This article offers an introduction to Java’s lightweight thread model, virtual thread, based on our study of it.
How Meta is Translating Its Java Codebase to Kotlin
Meta engineers discuss their large-scale Java-to-Kotlin migration strategy, covering automated translation of tens of millions of lines, nullability challenges, and idiomatic code generation.
Mobile Payments SDK General Availability and Terminal API Features
Announcement of Square's Mobile Payments SDK reaching general availability with new features.
Profiling Native Code in React Native with Tracy
Techniques for profiling and analyzing native code performance in React Native using Tracy profiler.
The Quest to Understand Metric Movements
Suppose you just saw an interesting rise or drop in one of your key metrics. Why did that happen? It’s an easy question to ask, but much harder to answer.
How we reduced manual regression tests by 70% using AI tools
AI tools offer a solution to difficult-to-automate regression testing woes.
The Next Chapter in Swift Build Technologies
Discusses advancements in Swift build systems that impact mobile app compilation and performance.
Building 3D Animations in Mobile Apps
Best practices and techniques for implementing performant 3D animations across mobile platforms.
Adopting Jetpack Compose for Etsy’s Android App
ne of our Guiding Principles at Etsy is that we “commit to our craft.” This means that we have a culture of learning, in which we’re constantly looking for opportunities to improve and learn
How We Reduced the WINK+ Android App to Less Than 10MB
One of the major challenges developers face in Android app development is optimizing app size without sacrificing functionality.
Bringing Jetpack Compose to Instagram for Android
Introducing a new Android UI framework like Jetpack Compose into an existing app is more complicated than importing some AARS
Orientation and Resizability Changes in Android 16
Technical guide on handling orientation and resizability features introduced in Android 16.
Code Optimization with ProGuard and R8 in Android
Guide to using ProGuard and R8 tools for code optimization, app size reduction, and obfuscation in Android.
React Native Version 0.77 Release
Release notes and improvements for React Native version 0.77.
RxJava in 2025: Relevance and Best Practices for Android Development
Discusses why RxJava remains important for Android developers and its continued use in modern Android applications.
Android Developers Blog: Performance Class helps Google Maps deliver premium experiences
Describes how Google Maps uses Android’s Performance Class to deliver high-quality, premium user experiences.
Simplify In-App Purchases on Android with RevenueCat and Kotlin
Demonstrates integrating RevenueCat SDK for streamlined in-app purchase implementation on Android.
Leading a project to migrate hundreds of screens to SwiftUI/Jetpack Compose from UIKit/AndroidView in Merpay
Merpay swaps old UI for SwiftUI and Jetpack Compose across screens.
Kotlin Multiplatform Development and Compose
Overview of Kotlin Multiplatform and Jetpack Compose for cross-platform mobile development.
Translating Java to Kotlin at Scale
Meta shifted their giant Android codebase from Java to Kotlin over years.
How we sped up Android and iOS builds by 68% on CI
We made our engineers happier by cutting build times down from 50 minutes to 16.
Boosting App Performance: Strategies to Optimize Network Requests
Coinbase fine-tunes network calls to make their app feel snappier for users.
Reddit Improved App Startup Speed Using Baseline Profiles & R8
Details how Reddit optimized app startup times using Baseline Profiles and R8 for better performance on Android.
How We Enhanced Our Android App’s Startup Time by Over 50%
Back Market’s team identified and optimized bottlenecks (using baseline profiles, startup tracing, etc.), reducing cold start duration by ~60%.
How We Engineered a Scalable Architecture to Power Videos, Social, and Picks in Our Delivery App
Glovo engineers detail how they built a scalable plugin-based architecture with server-driven UI to power Videos, Social, and Picks features in their delivery app.
Upgrading React Native in Brownfield Applications
Best practices and strategies for upgrading React Native versions in existing production applications.
Measuring Product Impact Without A/B Testing: How Discord Used the Synthetic Control Method for Voice Messages
Discord used synthetic control to measure voice message impact cleanly.
Why is there so much obsession on app size reduction?
There is a lot of obsession with app size reduction. This usually is tracked as a metric, compared with peers and I see teams work hard for months to squeeze it up to the last bit.
Integrating React Native into Existing Applications
Strategies and best practices for adding React Native to brownfield mobile applications.
How We Reduced GrabX SDK Initialisation Time
Grab speeds up their GrabX SDK startup to get users rolling quicker.
Building a Floating View in Android: A Practical Approach - Final Part
Demonstrates implementing floating views in Android with practical implementation techniques.
Building a Floating View in Android: A Practical Approach - Part 1
First part of a practical guide to implementing floating views in Android applications.
Brownfield Development with React Native
Covers best practices and strategies for integrating React Native into existing native mobile applications.
Building a Compose Design System at Scale
Describes the implementation and scaling of a design system using Jetpack Compose for Android applications.
How server-driven UI keeps our shop fresh
A single backend response can do a lot more than you think.
Extending Detekt for Android Code Quality
Guide on customizing the Detekt static analysis tool for Android development best practices.
Enabling Out Of The Box Performance Insights In The Unity SDK
Describes implementation of built-in performance monitoring and insights for Unity mobile development.
Android SDK Release Update
Information about the latest Android SDK updates and new development tools.
What's New in Gemini in Android
Covers new AI features and capabilities for Android mobile development.
How we reduced peak memory and CPU usage of the product configuration management SDK
Our GrabX clients noticed that the GrabX SDK tended to require high memory and CPU usage. From this, we saw opportunities for further improvements that could:
Enhance App Performance and Business with Real User Monitoring (RUM)
Explains how to implement real user monitoring to track and improve mobile app performance metrics in production.
Precision in Motion: Deep Learning for Smarter ETA Predictions
DoorDash uses deep learning to nail ETA predictions with precision.
Gemini Nano Experimental Access Available on Android
Covers integration of on-device AI models for Android mobile app development.
Mobile App Launch Profiling
Covers profiling techniques and tools for analyzing and optimizing mobile app startup performance.
Snappy, Not Crappy: An Android Health & Performance Journey
Reddit engineers share their multi-year Android performance journey, reducing startup from 12 seconds to under 3 seconds, breaking up a monolith, and achieving 99.8%+ crash-free rates.
Announcing Swift 6
Introduces major Swift language version with improvements to concurrency and performance for mobile development.
Android 15 Release to AOSP
Announcement of Android 15 release and its availability in the Android Open Source Project.
Tophat: Crafting a Delightful Mobile Developer Experience
Shopify’s Tophat app offers one-click testing, making dev life way sweeter.
How We Improved Our 1Weather Android App Cold Startup Time by Over 70%
Glance slashed 1Weather’s Android startup time by over 70%.
Speed Up Your Android Tests: Gradle Plugin for Unit Test Filtering
Writing tests is a fundamental part of writing good software. They help us to catch bugs, be confident in our changes and serve as documentation. At Wealthfront, our Android team relies heavily on our automated...
Building the Pincode Android App with Jetpack Compose
Technical journey of implementing a production Android app using Jetpack Compose framework.
App Health Through Metric-Aware Rollouts
DoorDash rolls out updates with an eye on metrics to keep their app healthy.
Unfold's Modern Mobile Release Process And The Subtle Art Of Making Them Boring
Details best practices for streamlining and automating mobile app release processes.
Ready for Swift 6
Provides guidance on adopting Swift 6 features and best practices for mobile development.
Good Practices When Creating E2E Tests at Skeelo
Skeelo shares their best tips for solid end-to-end app testing.
How Baseline Profiles Improve Skeelo Android App Performance
Skeelo taps Baseline Profiles to speed up their Android app nicely.
Developers for adidas CONFIRMED build features 30% faster using Jetpack Compose
Demonstrates how Jetpack Compose enables faster feature development for Android applications.
How We Optimized Concurrency Using Node.js at Skeelo
Skeelo tunes Node.js concurrency to keep their app humming along.
What's New in the Mobile Payments SDK Beta
Q&A covering new features and improvements in Square's Mobile Payments SDK beta release.
Boost Your Android App’s Performance with Baseline Profiles
DeliveryHero uses Baseline Profiles to make Android apps start faster.
Drawing a Ribbon Background in Compose
Tutorial on creating custom ribbon background graphics using Jetpack Compose.
Transitioning to Appcraft: Evolution of Zalando’s Server-Driven UI Framework
Zalando evolves their server-driven UI framework for scale and speed.
Java Is Dead Long Live Kotlin Part 2
Discusses the migration from Java to Kotlin for Android development and its benefits.
Enhancing Chat Performance on PhonePe Android - Part 2
Advanced techniques and performance optimization insights for Android chat applications.
DragonCrawl: Generative AI for High-Quality Mobile Testing
Uber’s AI-powered DragonCrawl makes mobile testing sharper and more efficient.
Introducing Trio | Part III
Part three on how we built a Compose based architecture with Mavericks in the Airbnb Android app
Should I continue learning Flutter or start with KMM?
Hello everyone, I'm developing an Android app with Kotlin that heavily relies on location services and utilizes many native features. Meanwhile, I'm also learning Flutter. However, transitioning from Android to...
How we transformed the AirAsia Superapp into AirAsia Move — A Tech Journey\!
AirAsia MOVE's engineering team shares their journey of rebranding and revamping the AirAsia Superapp, adopting Jetpack Compose and Design Tokens for a modern UI, achieving 35% faster app launch times, 120MB le...
Introducing Trio | Part II
Part two on how we built a Compose based architecture with Mavericks in the Airbnb Android app
Introducing Trio | Part I
A three part series on how we built a Compose based architecture with Mavericks in the Airbnb Android app
Bringing HDR photo support to Instagram and Threads
Meta adds HDR photo support to make Instagram and Threads pop visually.
Macramé: Untangling the Knot on the Etsy Android Listing Screen
We decided that our new architecture for the listing screen, which we’ve named Macramé, would be based on immutable data propagated through a reactive UI.
Enhancing Chat Performance on PhonePe Android - Part 1
Strategies and insights for optimizing real-time chat performance on Android applications.
Performance Measurement for Native Apps
Covers methodologies and tools for measuring and monitoring performance metrics in native mobile applications.
Real-Time Communication on Android with AWS AppSync GraphQL
Integration guide for implementing real-time communication in Android apps using AWS AppSync and GraphQL.
How dogfooding helps us build a better Duolingo
“Dogfooding” is one of the most important tools we have for improving the app.
Refining Compose API for Design Systems
Best practices for designing and refining Compose APIs to support design systems.
Pareto Principle in Action: Boosting Performance with Smart Caching
Caching — the superhero of speedy apps. It’s the secret sauce that saves us from constant database calls, making our applications
How We Improved Performance Score Accuracy
Details improvements to performance measurement and scoring accuracy in monitoring systems.
Optimising the Swiggy Restaurant App
Swiggy tunes their restaurant app to perform better for partners.
Slashing Lead Times by 30%: The Impact of Using Explicit Types in JVM
Glovo discovered that adding explicit types to Java Map definitions cut their Android build time by 30%, diving into JVM type inference internals and Gradle debugging to find this optimization.
Leveraging Generative AI in Your Android Apps
Guide on integrating generative AI capabilities into Android applications for enhanced functionality.
Evolution of Bid Notifications to Courier
Evolution of Bid Notifications to Courier Pushing the limits with Courier and improving reliability with great numbers. 🚀 Introduction I remember the good old days when we relied on a vendor to …
Micro-Feature Architecture for Mobile
In this blog post, we offer a foundational understanding of micro-features. The focus is on providing straightforward examples to facilitate the grasp of the concept.
A New Foundation for AI on Android
Discusses foundational AI capabilities and frameworks for Android mobile development.
Evolution of Translations Management for Android
Discusses strategies and best practices for managing localization and translations in Android apps.
Reddit Recap: State of Mobile Platforms Edition (2023)
Reddit looks back at untangling old code and going native with their apps.
Performance monitoring in Mercari mobile apps
Mercari tracks mobile app performance live to stay quick and steady.
Android Developers Blog: NordVPN boosted the speed of its login user flow by 60% using Baseline Profiles
Covers how NordVPN used Baseline Profiles to accelerate its login process, enhancing user experience on Android.
How DoorDash Manages Mobile Releases
DoorDash's approach to managing and coordinating mobile app releases across platforms.
Distributed Job Scheduler: Zero to 20k Concurrent Jobs
Glance scales their job scheduler to handle 20k tasks without a hitch.
Building Your Next Casual Game With Flutter
Guide to developing casual games using Flutter framework with performance considerations for mobile platforms.
Optimising Scrolling Performance with Litho
Swiggy uses Litho to make scrolling smooth and fast in their apps.
Leveraging Flink to Detect User Sessions and Engage DoorDash Consumers with Real-Time Notifications
DoorDash uses Flink to spot user sessions and send timely notifications.
Accelerate Your Android Development: Essential Tips to Minimize Gradle Build Time (Part II of II)
Part II of Glovo's Gradle optimization series covers JVM memory configuration, hardware considerations, dependency management, and minor but impactful build time optimizations.
How Meta built Threads in 5 months
Meta shares how they cranked out Threads in just five wild months.
Real-Time Analytics for Mobile App Crashes using Apache Pinot
Uber’s Healthline tool watches crashes in real time across their mobile apps, keeping things under control.
The What, Why, and How of Mastering App Size
Comprehensive guide to understanding, measuring, and reducing mobile application size.
Accelerate Your Android Development: Top Techniques to Reduce Gradle Build Time (Part I of II)
Glovo shares how they reduced CI build times from 1 hour to 15 minutes by leveraging Gradle parallel execution, local and remote build caching, and configuration cache. Part I of a two-part series.
GoTransit: Unifying Our Mobility Products with Public Transportation
GoTransit: Unifying Our Mobility Products With Public Transportation Here’s how we integrated our offerings with public transportation to make multi-modal trips effortless. As Southeast Asia’s …
Scaling Glance Game Centre to Support 100 Million Daily Active Users
Glance scales their Game Centre to handle 100 million daily players.
Media on Swiggy's Mobile Apps
Swiggy handles media in their apps with finesse and speed.
From 30 Minutes Down to 10: Taming our Monolith's CI Build Times
When Cash App was originally developed we had a single service powering all backend functionality, codenamed “Franklin”.
Making Direct Messages Reliable and Fast
Instagram tunes DMs to be quick and trustworthy for every user.
Modularizing Our Driver App for Android: Benefits & Way Ahead (Part-3)
We saw in Part 2, how we modularized the Driver app. Remember why we felt the need to modularize the Driver app? - Faster builds - Faster feedback loop on IDE? - Enforced separation of concerns by design. -...
Glance TV Optimization Part 1: Shrinking APK Size by 65%
Glance cut their TV app’s APK size by 65% with clever moves.
Making Swiggy's Order Tracking a Magical Experience
Swiggy turns order tracking into a delightful, magical experience.
Building a Better Instagram App for Android
Instagram upgrades their Android app to feel smoother and fresher.
Inside Slack: Overcoming Challenges to Craft a Seamless Mobile App
Slack tackles mobile hurdles to deliver an app that just works.
Why Mobile Application Performance Testing Is Key to App Success
Amazon shows why testing app speed is make-or-break for success.
Slack Behind the Scenes: Overcoming Key Challenges to Craft a Seamless Mobile App
Salesforce/Slack engineering discusses technical challenges and solutions in building a high-performance mobile application.
Native End-to-End Testing for Mobile Apps
Learnings and best practices for implementing native E2E testing in mobile applications.
A Rundown of Android Intent Selectors: Building Intents Correctly
Explains proper implementation and best practices for Android Intent selectors.
Server-Driven UI Architecture for Mobile Apps
Exploration of server-driven UI patterns and their implementation benefits for mobile application development.
Optimizing CI/CD Efficiency with Git Hooks
Guide on using Git hooks to reduce startup costs and improve CI/CD pipeline efficiency for developers.
Making Swiggy Buttery Smooth
Swiggy kills lag to make their app feel buttery smooth all over.
Improving Comment Rendering on Android
Instagram speeds up comment rendering on Android for quick chats.
Supercharging Continuous Integration with Gradle
Best practices for optimizing CI/CD pipelines using Gradle for mobile development.
Enhancing App Performance: A Practical Approach at Glance
Glance shares hands-on tricks they used to make their app faster.
Slaying the Monolith: API Implementation and Modularization in Android
Discusses strategies for breaking down monolithic Android applications into modular components.
Customising Android App UI with Themes
Explores Android theme customization techniques for improving UI consistency and maintainability.
Fast Auto-Generated Streaming JSON Parsing for Android
Instagram parses JSON super-fast for their Android app’s needs.
Login & Signup Result Improvement in Swiggy Android App
Swiggy smooths out login and signup flows on Android for speed.
Bringing HDR video to Reels
Meta adds HDR video to Reels for sharper, richer playback vibes.
Enhancing User Experience: Reducing ANR Rates with DataStore in Skeelo Android App
Skeelo uses DataStore to cut Android ANRs and improve user vibes.
Preventing App Performance Degradation Due to Sudden Ride Demand Spikes
Grab keeps their app steady when ride demand spikes out of nowhere.
Native UI and multiplatform Compose with Redwood
Redwood is Cash App’s take on multiplatform mobile client UI. Unlike many of the existing solutions to this problem, our values are slightly different
Optimising Page Load Times in Flipkart Mobile App
Flipkart cuts mobile page load times with caching and lazy tricks.
How we lowered Fullstory for Android’s impact on app startup time by 75% thanks to Emerge Tools
Application startup time is one of the most important parts of building mobile applications. If an application is slow to start, users can get frustrated and switch apps without waiting for your application to ...
Keeping Up with Android App Size Growth
Square keeps Android app size from ballooning with smart controls.
Page not found - Engineering at Meta
Meta rolls out key transparency to lock down WhatsApp’s security.
Flow testing with Turbine
Say hello to Turbine 1.0, our library for testing kotlinx.coroutines Flow and more.
Modularizing Our Driver App for Android: The Process (Part-2)
Gojek walks through how they broke their driver app into pieces, step by step.
Beautiful Performant Android UI
Instagram crafts Android UIs that look great and run lightning-fast.
Improving Video Cache Hits on Swiggy Apps
Swiggy tunes video caching for smoother playback in their apps.
Unit Testing Android Apps with MockK
Best practices for writing unit tests in Android applications using the MockK testing framework.
Distributed Load Testing Using Locust
Glance tests their app’s limits with Locust for rock-solid reliability.
Benchmarking your Mobile App with Rooted Android Private Devices and AWS Device Farm | Front-End Web & Mobile
AWS benchmarks apps on rooted Androids to see how they really perform.
Using Gradle Enterprise to Detect Configuration Regressions in an Android Gradle Build
Premise uses Gradle Enterprise to catch Android build issues early.
Testing Android UI Performance Part 2
Glance dives deeper into Android UI testing for even better results.
Network Latency Issues in Mobile Apps
Explores network latency problems and their impact on mobile application performance.
Android App Performance and Optimization
Simform offers a full rundown on boosting Android app performance.
How We Improved Testing Processes Using Ephemeral Environment
Swiggy tests faster with temporary setups that mimic real use.
Testing Android UI Performance
Glance tests Android UI to keep it smooth and responsive for users.
Improving API Response Time with Java Multi-Threading
Pepperfry uses Java multi-threading to make API calls lightning-fast.
How Server Driven UI is Helping Frontend Engineers Scale Impact
Robinhood’s server-driven UI lets frontend devs make big changes, fast.
Cork: Thumbtack's Android UI Framework
Introduces Cork, a custom UI framework designed to improve Android development efficiency and performance.
Modularizing Our Driver App for Android: The Need (Part-1)
For example we were trying to define and enforce budget for: - Binary size added per feature - Crashes/ANRs per feature - Where should we increase QA automation? - Feature ownership - More safety nets, mon...
Building an Open Source Carefree Android Disk Cache
Instagram shares an open-source disk cache that’s simple and speedy.
Migrating from XML to Jetpack Compose in an MVVM Android Project
Technical guide on modernizing Android UI architecture by migrating from XML layouts to Jetpack Compose.
How We Improved Our Android App Cold Start Time by 53%
Swiggy trimmed Android cold start time by 53% with smart fixes.
Photo Picker API Across Android Versions
Introduces the Photo Picker API and its availability across different Android versions.
How We Built User Interaction Tracking For Jetpack Compose
Explains implementation of user interaction tracking and monitoring in Jetpack Compose applications.
Why xHE-AAC is being embraced at Meta
Meta adopts xHE-AAC to pump up audio quality across their apps.
How we built the Favourites feature on the Airasia superapp
AirAsia MOVE's engineering team describes how they built the Favourites feature for their superapp, covering backend architecture with Google Cloud Run, Firestore, Redis cache-aside strategy, and Pub/Sub for ev...
Measuring Render Performance with Jetpack Compose
Premise tracks Jetpack Compose rendering to keep it fast and fluid.
Load Testing for 2022 Spotify Wrapped
Each year, when Wrapped goes live, the Spotify team is faced with a “thundering herd problem”. Millions of people, all over the world and across all time zones, start watching their data stories on-platform
Enhancing Our Android App's Launch Performance
Pepperfry boosts Android app launch speed with hands-on tweaks.
How Swiggy Uses In-App Update API for Better App Adoption
Swiggy uses the In-App Update API to push updates seamlessly.
Android Developers Blog: Mercari reduces 355K lines of code, a 69% difference, by rebuilding with Jetpack Compose
Explains how Mercari rebuilt its app with Jetpack Compose to reduce code complexity and improve maintainability.
The Fundamentals of Android Development at Revolut
Covers core Android development practices and architectural principles used at Revolut.
Lens Performance Toolkit
Snapchat’s toolkit tunes Lens performance to keep their app snappy.
Mobile Monitor
Snapchat’s Mobile Monitor tracks app health live for quick fixes.
Mobile Lens Profiler: Case Study
Snapchat profiles Lens performance in a real-world case study.
Performance Optimization Guide
Snapchat’s guide lays out their best tips for mobile app speed.
From Snail to Sonic: How Baseline Profiles Supercharged Meetup's Android App
Meetup used Baseline Profiles to turbocharge their Android app’s speed.
The Journey to Server Driven UI At Lyft Bikes and Scooters
Across the past couple of years, different mobile app teams across Lyft have been moving to Server Driven UI (SDUI) for three main reasons: To deal with business complexity
App Modularization and Module Lazy Loading at Instagram and Beyond
Instagram splits their app and loads it lazily for better performance.
Building a Multi-Pipeline CI Setup for Running Automated Tests in GitLab
Building a multi-pipeline CI setup for running automated tests in GitLab Here’s a detailed view into setting up this process up for combining the development and the testing …
ShareChat addresses Jank issues to increase feed scrolling by 60% | Developer stories | Android Developers
ShareChat is a leading social media platform in India that allows users to share their opinions, document their lives, and make new friends in their native language. Other features include chatrooms..
Handling Multiple Caches in App
Swiggy juggles multiple caches to keep their app performing well.
Getting Started With Jetpack Compose
Introduction to Jetpack Compose, Android's modern declarative UI framework for building performant interfaces.
MVI Architecture Pattern in Android
Guide to implementing the Model-View-Intent architectural pattern for Android app development.
Get you your Android Performance Score with Flashlight
Flashlight gives your Android app a quick performance grade, no setup required.
React Native 0.71 RC1 Android Outage Postmortem
Analysis and lessons learned from an Android outage during the 0.71 release candidate phase.
Gradle Incremental Test Runner
Swiggy’s Gradle tool speeds up testing with incremental runs.
Detecting Android Memory Leaks in Production
Lyft hunts down sneaky memory leaks in their live Android apps with sharp tools.
Nested Scroll with Jetpack Compose
Demonstrates implementing nested scroll behavior in Android using Jetpack Compose framework.
Android Studio Electric Eel Release Celebration
Square celebrates the release of Android Studio Electric Eel and its development benefits.
Lottie vs Rive: Optimizing Mobile App Animation
Compares animation libraries and their performance implications for mobile app rendering and UI performance.
GoTransit: Unifying Our Mobility Products with Public Transportation
Gojek ties their services to public transit, making trips seamless for everyone.
How to Stop Worrying About Image Freshness and Reduce the Image Network Traffic
DeliveryHero caches images smartly to cut down on network clutter.
Optimizing Testing for Server-Driven Mobile Development at Strava
Strava optimizes testing for their server-driven mobile development.
Screen Response Time: A Critical Metric for User Experience
OkCredit tunes screen response to keep users happy and engaged.
Fan-tastic Search for Blazing Fast Results
Swiggy’s search delivers results fast to keep users satisfied.
Saving 5,400 Hours a Year: Developer Productivity with Gradle
Case study on how Gradle optimizations improved mobile build times and developer productivity.
Reddit Recap: State of Mobile Platforms Edition (2022)
Reddit’s 2022 mobile tale: faster apps and juggling features with stability.
Mobile The Future Is Declarative
Discusses the shift toward declarative UI frameworks in mobile development and their performance benefits.
EfficientFormer: Vision Transformers at MobileNet Speed
Snapchat’s EfficientFormer brings speedy vision transformers to mobile.
Rewriting the Network Connection Layer in Our Android Apps
Zomato rewrote their Android network layer for faster, better flow.
Swiggy App on Diet
Swiggy puts their app on a diet, trimming size without losing flavor.
Retrofitting null-safety onto Java at Meta
Meta’s Nullsafe tool catches Java null errors before they crash apps.
OKLayoutInflater
OkCredit’s custom LayoutInflater speeds up Android UI rendering nicely.
How We Sped Up Zipline Hot Reload
Zipline is a library Cash App has developed for fetching and executing code on demand in a mobile app. Developers write their code in Kotlin and it gets compiled to JS, hosted on a server or CDN
Applying DORA Metrics to Mobile Development
Examines deployment frequency, lead time, and reliability metrics specifically for mobile development teams.
Improving the Player on Android
Pinterest smooths out their Android video player for better playback.
Elevating the Swiggy Experience with Voice Search on Android
Swiggy adds quick voice search to their Android app for ease.
Improving Auto Pause for Everyone
Strava refines auto-pause to work better for every athlete out there.
6 Lessons Learned from Optimizing the Performance of a Node.js Service
Klarna shares six big lessons from speeding up their Node.js service.
Scaling Mobile Device Management
Uber shares how they grew their Mobile Device Management setup to keep a diverse, expanding mobile fleet in check.
Measuring Android App Performance with Profileable Builds
Techniques for accurately profiling and measuring Android application performance using profileable builds.
Strategies and Tools for Performing Migrations on Platform
Spotify shares strategies for performing large-scale mobile platform migrations across 100+ squads, including migrating 2,200+ Android and iOS components to Bazel. Key lessons include starting small with proof ...
From zero to 10 million lines of Kotlin
Meta ditched Java for Kotlin across their massive Android codebase.
Planting Trees One Ride at a Time
Planting Trees One Ride At A Time How we built GoGreener Tree Collective — a feature that allows customers to plant trees to absorb carbon footprint. By Andrew Daniel & Aakanksha …
Debugging High Latency in the Market Store
Grab digs into high latency in their Market Store and fixes it fast.
Introducing Nibel: A Navigation Library for Adopting Jetpack Compose in Fragment-Based Apps | by Pavlo Stavytskyi | Turo Engineering | Medium
Turo’s Nibel library eases Jetpack Compose navigation in apps.
Detecting App Cloning & Location Spoofing on Android
Swiggy catches app cloning and location spoofing on Android fast.
How We Reduced Our ANR by Three Times
OkCredit cut Android freezes threefold to keep things flowing smooth.
Our Android App Has Been Eating but Shedding Weight
Zomato trimmed their Android app’s size while keeping it tasty.
Conquering Our Android Crash Count
Strava slashes Android crash counts with determined effort.
How Meetup Scales Notification Queue Consumers
Meetup scales their notification system to handle queues like a boss.
Recovering from Crashes with Safe Mode
Lyft’s ‘Safe Mode’ kicks in after crashes to keep their app steady for users.
Image Loading and Optimization on Android
Covers image handling, optimization, and performance best practices for Android applications.
Mobile Developer Experience at Slack
Slack keeps devs flowing with tools that cut frustration and delays.
How Optimizing Memory Management with LMDB Boosted Performance on Our API Service
Pinterest uses LMDB to optimize memory and speed up their API service.
App Performance Monitoring Strategies and Tools
Covers comprehensive approaches to monitoring and measuring mobile application performance metrics.
How We Reduced Our Android Startup Time by 77%
Turo slashed Android startup time by 77% with sharp optimizations.
Consent Matters
Swiggy balances user consent with app performance for trust.
Android Network Traffic Tracking and Monitoring
Guide on implementing network traffic tracking and monitoring in Android applications for performance analysis.
Performing Due Diligence As Android Engineers
Discusses engineering practices and quality assurance processes for Android development at Tinder.
Productionizing Envoy Mobile at Lyft
Implementation and production deployment of Envoy Mobile networking library for mobile applications.
Android Launch Performance
Strava tunes their Android app launch to get users moving faster.
How OkCredit Android App Improves UX Writing by Changing Strings on the Fly
OkCredit changes app strings on the fly for a better user experience.
Automating Android Build Benchmarking with Gradle Profiler
Automating performance benchmarking of Android builds using Gradle Profiler and Gradle Enterprise.
Molecule: Build a StateFlow stream using Jetpack Compose
Back in November 2021, Jake wrote about Molecule on this blog when it was still under development. A few weeks ago, we released 0.4.0 which we are using in production with great satisfaction.
Android Developers Blog: Precise Improvements: How TikTok Enhanced its Video Social Experience on Android
Highlights TikTok’s efforts to refine its Android app for a smoother and more engaging social experience.
Comparing Jetpack Compose Performance with XML
OkCredit compares Jetpack Compose and XML to see which runs faster.
How We Made Unit Testing Part of Our Engineering Culture
Instawork weaves unit testing into their team’s daily rhythm.
Designing Jetpack Compose Architecture for a Gradual Transition from Fragments on Android
Turo shifts to Jetpack Compose from Fragments with a smooth plan.
Simplifying Navigation in Multi-Module Android Apps
Meetup makes navigation easy in their multi-module Android setup.
How We Cut the Build Time for Our Android App by 95%
Zomato slashed Android build times by 95% with clever shortcuts.
Building m.uber: Engineering a High-Performance Web App
Uber dives into the tech that powers their fast, lean mobile web app, m.uber.
Sparking Jetpack Compose at Tinder
Tinder's engineering team shares their journey of adopting Jetpack Compose into their large-scale Android codebase. The article details their strategic approach to introducing the declarative UI framework, star...
Appyx vs Jetpack Compose Navigation
Comparison of navigation frameworks for Android, evaluating Appyx against Jetpack Compose.
Four Lessons in Making Pinterest Faster on Android
Pinterest shares four big lessons from making their Android app faster.
Android Guild Week 2: More Modules
Strava splits Android code further during their Guild Week 2 push.
Performance Bottlenecks in Go Apps
Grab finds and clears bottlenecks in their Go-based apps with care.
Android App Modularization Strategy
Discusses architectural approaches to modularizing Android applications for better maintainability and build performance.
Android Integration in Analytics Infrastructure
Explores how Android mobile platforms integrate with Yelp's analytics infrastructure systems.
Introducing Skynet: Infrastructure as Code for Gojek
How can hundreds of microservices be supported with an equally strong cloud infrastructure provisioning strategy? Introducing Skynet.
How OkCredit Android App Boosted Network Performance by 30%
OkCredit slashed Android cold startup time by 70% with clever fixes.
How Removing Caching Improved Mobile Performance by 25%
Klarna ditched caching and somehow boosted mobile speed by 25%.
Android UI Testing with Firebase
Turo tests Android UI with Firebase for reliable, quick results.
Automating Mobile Event Verification
Swiggy automates event verification to keep their app on track.
Hermes Engine Becomes React Native Default
Announcement that Hermes is now the default JavaScript engine for React Native to improve performance.
How We Improved Our Android Apps Performance by Up to 24%
Mercado Libre boosted Android app speed by up to 24% with focus.
Rendering Performance Monitoring on Android
Booking.com watches Android rendering to catch slowdowns early.
Android UI Development with Jetpack
Explores UI development patterns and best practices using Android Jetpack.
How Tinder Solves Complex Lottie Localizations with Server Driven UI
At Tinder, we enjoy delivering global-wide experiences to our members. As such, we deploy visually-rich content all around the world, and localization plays a huge role.
How OkCredit Android App Improved Cold Startup by 70%
OkCredit boosted Android network speed by 30% with sharp tweaks.
Why Mobile Apps Performance Matters
Mercado Libre ties app speed to keeping users and growing big.
Scaling Android Apps with Gradle Build Types and Product Flavors
Tutorial on using Gradle build types and product flavors to scale and optimize Android application builds.
Faster media delivery to optimize app performance
LazyPay speeds up media delivery with CDNs for a snappy fintech app.
The Benefits and Challenges of Android Dynamic Feature in Tokopedia
Tokopedia weighs the pros and cons of Android Dynamic Features.
How Server-Driven UI Is Helping Frontend Engineers Scale Impact
Robinhood’s server-driven UI lets frontend devs make quick, big impacts.
Async Jersey + Kotlin Coroutines
Jersey is a popular framework for building RESTful web services on the JVM. At ClassPass, we make heavy use of Dropwizard, which is a web framework
Giving Android a security boost (Part Two)
Now that we have learned about SSL Pinning and how one can acquire a certificate, let us dig deep into what a certificate is and what forms its composition.
Managing Deep Scope Hierarchies in Large Codebases
Uber takes on tangled code layers, finding ways to keep their big codebase fast and manageable.
Giving Android a security boost (Part One)
By making our app more secure, we help preserve customer trust and device integrity. This article talks about several tips on how to secure your Android experience
Evolution of Android Message Passing Mechanism
Documents how Coupang evolved their inter-component communication system in Android for better performance and reliability.
Scaling Slack’s Mobile Codebases: Modernization
Slack updates their mobile code to stay fresh and ready for more.
Scaling Slack’s Mobile Codebases: Modularization
Slack splits their mobile code into modules to handle growth with ease.
How We Applied Client-Side Caching
DoorDash caches on the client side to make their app feel faster.
Continuous Load Testing
Slack tests their app under pressure to make sure it holds up strong.
Mobile DevOps Journey: Evolving Mobile Development at Swiggy (Episode 1)
Swiggy kicks off evolving mobile dev with Bitrise-powered wins.
One Activity to Rule Them All: Reducing Crashes in the Etsy App
ver the past couple of years, the Etsy Android team has been focused on increasing the stability of the Etsy app, to keep users from seeing this dreaded message:
Stop Wasting Time on Unit Testing: How Tokopedia Achieved 8X Faster Results | by Andrean Lay | Tokopedia Engineering | Medium
Tokopedia sped up unit testing by 8x to save precious dev time.
Monitoring CPU Performance of Lyft’s Android Applications
Lyft keeps a close eye on Android CPU use to ensure top-notch performance.
Animate on a Path with Android Jetpack Compose UI
Tutorial on implementing path-based animations using Jetpack Compose.
Profile-Guided Optimisation
Grab uses profile-guided tweaks to make their apps run smoother.
Introducing Focus: A New Open Source Gradle Plugin
Introduction to a Gradle plugin for improving mobile build performance and developer experience.
Designing Swiggy to Be Truly Accessible (Episode 4)
Swiggy wraps up their push to make their app work for everyone.
Android Developers Blog: How a single Android developer improved Lyft’s Drivers app startup time by 21% in one month
Shares the story of a solo developer optimizing an Android app, offering insights into individual development strategies.
Query Hashing to Reduce GraphQL Payload Size
Tokopedia hashes GraphQL queries to shrink payloads and boost speed.
Making Camera Uploads for Android Faster and More Reliable
Dropbox sped up Android camera uploads and made them rock-solid.
Measuring Mobile Apps Performance in Production
Booking.com keeps tabs on how their apps perform in the real world.
Building a Thoughtful Scaling Framework for Engineering
Robinhood crafts a smart plan to scale engineering without the chaos.
Delivering a Million Downloads Every Week
Swiggy handles a million downloads a week with smooth efficiency.
Instrumenting App Flows for Performance Monitoring
Best practices for instrumenting mobile app user flows to measure and optimize performance metrics.
Designing the Swiggy App to Be Truly Accessible (Episode 3)
Swiggy keeps rolling out accessibility wins for a better experience.
Introducing Ruler: Our Tool for Measuring Android App Size
Spotify’s ‘Ruler’ helps them measure and trim Android app size with precision and ease.
Designing the Swiggy App to Be Truly Accessible (Episode 2)
Swiggy digs into the tech behind making their app accessible.
Releasing Features with Confidence in Mobile Apps
Best practices for safe feature releases and testing strategies in mobile app development.
Fixing Performance Regressions Before They Happen
Techniques for detecting and preventing performance regressions in applications before they reach production.
Designing the Swiggy App to Be Truly Accessible (Episode 1)
Swiggy starts building an app that’s truly open to all users.
How We Solve the Sideloading Crash After App Bundle Implementation
Tokopedia patches crashes from sideloading after app bundle use.
Stabilize, Modularize, Modernize: Scaling Slack's Mobile Codebases
Deep dive into Slack's approach to scaling mobile development through stabilization, modularization, and modernization strategies.
How we ship GitHub Mobile every week
GitHub keeps mobile releases humming weekly with a tight process.
Balancing Native and JavaScript Code in React Native
Best practices for deciding when to use native code versus JavaScript in React Native development.
Cross-Platform Messaging Experience
Snapchat syncs messaging across platforms for a seamless experience.
Airbnb's Page Performance Score on Android
Airbnb rates their Android app’s performance to keep it running smooth.
Nextdoor Notifications: Using ML to Keep Neighbors Informed
Engineering approach to notification delivery and machine learning optimization in the Nextdoor mobile app.
Jetpack Compose UI Testing Strategies
Covers testing approaches for Jetpack Compose UI components in Android.
Mobile Developer Productivity at Reddit
Reddit sped up builds and cut grunt work so devs can focus on cool features.
Creating Airbnb's Page Performance Score
Airbnb built a score to keep their web pages fast and users coming back.
Reducing Android Build Time at Scale
Details strategies BlaBlaCar implemented to significantly reduce their Android app's build time.
Android Developers Blog: Improving App Startup: Lessons from the Facebook App
Discusses techniques Facebook implemented to improve the startup speed of its Android app.
The state of managing state (with Compose)
Five years ago the Cash App Android client started splitting our UI rendering and UI presenter responsibilities into distinct types. We had leaned into RxJava heavily in the years prior
The Beginner's Guide to Kotlin Coroutine Internals
Deep dive into how Kotlin coroutines work internally and best practices for efficient asynchronous programming.
Beyond Mobile First: Modern Mobile Development Strategy
Square's perspective on evolving mobile development practices beyond the mobile-first paradigm.
Mobile Performance @ Lyft
Lyft shares their tricks for keeping their mobile app smooth and user-friendly.
Traveloka Android Dynamic Feature Module Migration
Traveloka's migration of initial modules to Android's dynamic feature module system.
Making Hermes the Default JavaScript Engine
Discussion of Hermes engine adoption as the default for React Native to improve app performance and startup time.
Browse Page Refactoring on Android
Details refactoring efforts to improve performance and user experience of a critical Android app page.
Android Jetpack Compose
Article about implementing Jetpack Compose for modern Android UI development.
We release our Android apps every day (Android App Continuous Deployment)
Doist shares their evolution of Android continuous deployment: automating translations, feature flags, CI/CD, versioning, and internal/public release pipelines to ship builds faster and more reliably.
8 Tips Learned from Adding Payments to DoorDash's Android App
DoorDash spills eight lessons from weaving payments into their Android app.
Open Sourcing Thumbprint Native Design System
Announces and describes Thumbtack's native design system for iOS and Android development.
Identifying and Handling Android Build Memory Issues
Techniques for diagnosing and resolving memory problems during Android build processes.
Designing Resilient Systems Beyond Retries (Part 1: Rate Limiting)
Grab starts building tough systems with rate limiting to stay strong.
Tech Modernization at scale — Blog Series
Walmart kicks off a series on scaling up their legacy tech smartly.
Improving Product Reliability by Imposing Constraints as a Part of CI/CD Process
Revolut adds CI/CD rules to make their app more trustworthy.
A Saga of Improvement in Android App Performance (Part 3)
Tokopedia wraps up their Android performance journey with flair.
Superpack: Pushing the limits of compression in Facebook’s mobile apps
Meta’s Superpack squeezes their apps smaller than ever before.
Android Hilt Dependency Injection
Article about Hilt dependency injection framework for Android development.
Publishing Variant-Aware Android Libraries with Source Distribution
Details strategies for publishing Android libraries with build variant support and source code distribution.
Checkmate on Compose Part 2
Second part of a series on building chess game UI with Jetpack Compose.
Preparing Your App for iOS 15 and Android 12
Best practices and guidance for updating React Native apps to be compatible with iOS 15 and Android 12.
Checkmate on Compose Part 1
First part of a series on building chess game UI with Jetpack Compose.
Android App Excellence: Duolingo
Showcases Duolingo’s approach to building an excellent Android app, focusing on performance and user engagement.
Kotlin Multiplatform: Shared Test Resources
Best practices for sharing test resources across platforms using Kotlin Multiplatform.
Best Practices for Writing Compose Code
Best practices and patterns for writing clean, efficient Jetpack Compose code.
Preventing Pipeline Calls from Crashing Redis Clusters
Grab keeps Redis steady when pipeline calls hit hard and heavy.
React Native 0.65 Release
Version 0.65 release with performance optimizations and mobile engineering improvements.
Project Bonsai
Grab’s Project Bonsai spruces up their mobile dev process nicely.
Jetpack Compose Support in Workflow
Integration of Jetpack Compose with Square's Workflow framework for Android development.
A Saga of Improvement in Android App Performance (Part 2)
Tokopedia keeps tweaking their Android app for better performance.
Best Practices for Unit Testing at Revolut
Revolut shares their top tricks for nailing unit tests every time.
How We Improve Android App Performance (Part 1)
Tokopedia begins boosting Android app performance step by step.
Spotting Latency Regressions Ahead of Time at Teams Mobile
Microsoft catches Teams mobile latency issues before they hit users.
Carbon: Dual Binary Mobile App
Uber built ‘Carbon’ to cut complexity and make their Rider app easier to maintain with a dual-binary twist.
Scaling Android Apps with Gradle: Different Source Sets (Part 2)
OLX keeps scaling Android using Gradle source sets for efficiency.
A Deep Dive into Airbnb’s Server-Driven UI System
How Airbnb ships features faster across web, iOS, and Android using a server-driven UI system named Ghost Platform 👻.
ACF Automated Code Formation Engineering Excellence
Walmart’s ACF tool auto-generates clean code for consistency.
Trusting Metrics at Pinterest
Pinterest digs into how they make sure their app performance numbers are rock-solid and reliable.
App Modularisation at Scale
Grab splits their app into modules to scale big and stay nimble.
Improving Platform Channel Performance in Flutter
Technical deep-dive into optimizing platform channel communication performance between Flutter and native code.
Structured Logging: The Best Friend You'll Want When Things Go Wrong
Grab logs smartly to troubleshoot app issues quick and painlessly.
Scalable Jetpack Compose Navigation
Best practices for implementing scalable navigation architecture using Jetpack Compose.
Scaling Mobile Development at Microsoft: Mental Model
Microsoft shares their mental model for scaling mobile dev smoothly.
Optimizing OpenTelemetry's Span Processor for High Throughput and Low Latency
DoorDash tunes OpenTelemetry for fast tracing with low lag overhead.
Reducing Android app size in practice at LinkedIn | by Chao Zhang | Microsoft Mobile Engineering | Medium
Microsoft shrinks LinkedIn’s Android app with practical cuts.
Traveloka Android Dynamic Feature Module Pilot Project
Traveloka's pilot implementation of Android dynamic feature modules for modular app architecture.
Client Tracing: Understanding Mobile and Desktop Application Performance at Scale
Slack traces performance across mobile and desktop to catch every snag.
CDN Caching Improvements for Better App Performance
AWS Amplify’s CDN caching makes apps load faster with less wait.
Detecting Memory Leaks in Android Applications
Dropbox sniffs out Android memory leaks to keep their app running lean.
Automating Integration Tests To Ensure Android App Quality
Details integration testing strategies and automation for maintaining Android app quality.
Flexbox Layout Behavior in Jetpack Compose
Zalando digs into how Flexbox works in Jetpack Compose for Android UI.
Boosting Developer Success with Android Tools
Covers tools and best practices for improving Android developer productivity and app quality.
React Native 0.64 Release
Version 0.64 release with performance improvements and mobile development enhancements.
How Pinterest Leverages Honeycomb to Enhance CI Observability and Improve CI Build Stability
Pinterest uses Honeycomb to keep their CI clear, stable, and easy to watch.
Improve Reliability with Observability Tracing in Your CI/CD Pipeline
Walmart traces CI/CD performance to keep their pipeline reliable.
Speeding Up Android Unit Tests with Test Sharding on GitLab CI
Demonstrates CI/CD optimization techniques for Android testing pipelines using test sharding strategies.
Low-Power Sleep Tracking on Android
Best practices for implementing efficient sleep tracking features with minimal battery consumption on Android.
JSON Serialization Libraries Performance Comparison
Performance benchmarking and comparison of JSON serialization libraries for mobile apps.
How We Designed Our Continuous Integration System to Be More Than 50% Faster
Pinterest revamped their CI system, splitting tasks and streamlining to cut build times by over half.
How We Sped Up Dropbox Android App Startup by 30%
Dropbox cut Android startup time by 30% with some clever tweaks.
Measuring Android App Size in CI
Microsoft tracks Android app size in CI to catch bloat early on.
Solving Native Memory Leaks in Mobile Apps
Addresses techniques for identifying and fixing memory leaks in native mobile applications.
Optimizing the Aural Experience on Android Devices with xHE-AAC
Netflix details the deployment of xHE-AAC audio codec to Android devices, leveraging MPEG-D DRC metadata for loudness management and dynamic range control. The codec normalizes dialogue levels across all conten...
Time to Camera Ready
Snapchat cuts the time it takes to get their camera up and running.
Using Android Screenshot Tests To Verify View Correctness
Covers automated screenshot testing techniques for validating Android UI rendering and correctness.
How we achieved a 6x reduction of ANRs - Part 1: Collecting Data
One of the worst things that can happen to your app’s responsiveness is an Application Not Responding (ANR) dialogue. A high ANR rate may affect user experience and, potentially, Google Play search positions an...
How we achieved a 6x reduction of ANRs - Part 2: Fixing ANRs
In the first part, we discussed what ANR is and what are the ways of tracking it. In this article, you will find information on what problems we found in our application, how we fixed them, and the results we a...
Modernising a Legacy Android App Architecture: Part Three - Applying the Refactor
Part three of a series on refactoring legacy Android app architecture with practical implementation.
Modernising a Legacy Android App Architecture: Part One - Single Activity
Part one of a series on refactoring legacy Android app architecture using single activity pattern.
Modernising a Legacy Android App Architecture: Part Two - MVVM
Part two of a series on refactoring legacy Android app architecture using MVVM patterns.
Revamping the Android Testing Pipeline at Dropbox
Dropbox overhauled their Android testing setup for smoother, faster runs.
How Grammarly Built a Native Keyboard for Android
The Grammarly app on both Android and iOS is a native keyboard. The motivation behind building a keyboard, as opposed to a traditional mobile app like a text editor
Leak Canary: What Is It?
Huawei’s Leak Canary sniffs out Android memory leaks like a pro.
Mobile App Launch Performance
Farfetch begins boosting their mobile app’s launch speed smartly.
Mobile App Launch Performance II
Farfetch quantifies the business cost of app launch milliseconds — from $350K opportunity cost per release to $4.2M yearly impact from 0.1s warm launch regression. Covers measuring practices, performance budget...
Our Counterintuitive Fix for Android Path Normalization
Dropbox found a weird but genius fix for an Android path problem.
Decomposing network calls on the Lyft mobile apps
When Lyft was first developed, it was built using a monolithic server architecture. Within this architecture, all mobile clients relied on a single endpoint for fetching all data pertaining to the user and thei...
Pre-submit UI Tests at Pinterest
Pinterest started testing UI before code gets merged, catching bugs early to keep things steady.
Improve Android App Screen Launch Times Using LazyLifecycle Callbacks
Microsoft uses LazyLifecycle to speed up Android screen launches.
Custom View from Scratch Part III: Performance and Optimisation
Focuses on performance optimization techniques when building custom views in Android.
GitHub Mobile and GraphQL
Explores the architecture and optimization of the GitHub mobile app using GraphQL for efficient data fetching.
New Rider App Architecture
Uber redesigned their Rider app’s guts to be modular and tough enough for whatever’s next.
5 Minute DevOps Effective Testing
Walmart fits fast, effective testing into a 5-minute DevOps flow.
Motion Engineering at Scale
Airbnb scales up motion design to keep app animations seamless.
Seamlessly Swapping the API backend of the Netflix Android app
Netflix swapped their Android backend quietly, keeping streams uninterrupted.
Data Storage Best Practices with Jetpack
Guidance on using Jetpack libraries for efficient data storage in Android applications.
Android GPU Inspector: Open Beta Release
Introduces Android GPU Inspector tool for profiling and debugging GPU performance in Android apps.
Tracing at Slack: Thinking in Causal Graphs
Slack maps performance issues with cause-and-effect graphs for insight.
Improved Localization with Custom TextView Effects
Technique for enhancing Android app localization using custom TextView implementations.
Clean Android WebView Caching
Microsoft cleans up WebView caching for a tidier Android experience.
Implementing the Android Navigation Library
Best practices for implementing navigation architecture in Android apps using the Navigation library.
Using Gradle Composite Builds as a BuildSrc Replacement
Covers advanced Gradle build system techniques for improved Android project organization and build performance.
Shipping Two Apps In One Android
Strategies for building and shipping multiple Android applications from a single codebase.
Improve Android Testability with Fakes and Factories
Best practices for improving Android app testability using fake objects and factory patterns.
Leveraging Mobile Infrastructure with Data-Driven Decisions
Spotify uses hard data to tweak their mobile setup and keep users happy.
React Native Core Principles and Best Practices
Overview of React Native's core principles guiding mobile development best practices and architecture decisions.
App Size Matters II
Farfetch monetizes the business impact of app size — each megabyte costs 450 installs and a 15MB increase means $350K opportunity cost per release. Covers performance budgets, trade-off strategies, and go/no-go...
App Size Matters I
Farfetch starts their journey to shrink app size for better reach.
How We Ensure Credible Analytics on Dropbox Mobile Apps
Best practices for implementing reliable analytics and monitoring in mobile applications.
Optimizing Notifications in Games
Google Play tunes game notifications to keep players engaged, not annoyed.
Managing App Size for Super Apps
Explores techniques and best practices for reducing and managing application size in large feature-rich mobile apps.
React Native 0.63 Release
Version 0.63 release with performance enhancements and mobile engineering updates.
Making Slack Faster By Being Lazy
Slack speeds up by loading only what’s needed, when it’s needed.
Making Slack Faster By Being Lazy: Part 2
Slack doubles down on lazy loading to keep their app feeling quick.
Faster testing on Android with Mobile Test Orchestrator
LinkedIn uses a slick tool to speed up Android testing without hiccups.
App Size Reduction at Microsoft SwiftKey
Microsoft trims SwiftKey’s app size to keep it light and snappy.
WebRTC on Android: Enabling Hardware Encoding Across Devices
Addresses hardware acceleration optimization for WebRTC video encoding on diverse Android devices.
Automation for WebView Testing
Discusses test automation strategies for WebView components in mobile applications.
A Great Way to do Android Presenters
The Cash App Android app uses presenters because they’re easy to write, easy to review, and result in boring code that just works.
Spotify Modernizes Client-Side Architecture to Accelerate Service on All Devices
Spotify overhauled their app’s client-side setup to speed up tunes on every device out there.
Find and Fix Issues with Android Studio Static Code Analysis
Guide to using Android Studio's static code analysis tools for identifying and resolving code issues.
How We Gave Superpowers to Our macOS CI
Spotify juiced up their macOS CI, cutting iOS pre-merge checks by 75% with slick upgrades.
Measuring Frame Rate Performance Per Fragment in Android
Explains how to measure and monitor frame rate metrics for individual Android fragments to identify UI performance issues.
Making Airbnb's Android App More Accessible
Airbnb opens their Android app to more users with accessibility wins.
Bank of America Amps Up In-App Experiences
Bank of America cut in-app response times by 50% with Adobe’s help.
Better Android Testing at Airbnb (Part 6)
Airbnb wraps up their Android testing saga with final lessons.
Madman: An Open-Source Ads Framework for Android
Flipkart open-sources Madman (Media Ads Manager), a high-performance Android video ads library that replaces Google's IMA SDK. By using native views instead of WebView for ad rendering, Madman achieves ~700ms f...
How Apollo Android Client Cache Works at Vrbo
Vrbo uses Apollo caching to speed up their Android app nicely.
Better Android Testing at Airbnb (Part 5)
Airbnb’s ongoing quest to perfect Android testing rolls on strong.
React Native 0.62 Release
Version 0.62 release with performance optimizations and mobile development improvements.
Better Android Testing at Airbnb (Part 4)
Airbnb refines their Android testing approach even further.
How to Fix App Quality Issues with Android Vitals (Part 2)
Google Play digs further into fixing app issues with Android Vitals.
Better Android Testing at Airbnb (Part 3)
Airbnb keeps pushing their Android testing game with fresh ideas.
How to Fix App Quality Issues with Android Vitals (Part 1)
Google Play uses Android Vitals to spot and fix app quality hiccups.
How a One-line Change Decreased Our Build Times by 99%
Pinterest found a single tweak that slashed their build times by a jaw-dropping 99%.
Reducing Our Build Time by 50%
Gojek halved their Android build times to keep their developers moving fast.
Better Android Testing at Airbnb (Part 2)
Airbnb dives deeper into tricks for rock-solid Android testing.
Our Android testing process
Headspace tests Android to keep their app calm and crash-free.
Better Android Testing at Airbnb (Part 1)
Airbnb kicks off a series on making Android testing sharper and easier.
Bringing AV1 Streaming to Netflix Members’ TVs | by Netflix Technology Blog | Netflix TechBlog
Netflix switched to AV1 on Android for sharper video and better compression.
Lyft's Journey Through Mobile Networking
Evolution of mobile networking strategies and optimizations at Lyft.
Store Grand Re-opening: Loading Android Data with Coroutines
Dropbox used coroutines to load Android data faster and smoother.
Journey to a Faster Everyday Super App: Where Every Millisecond Counts
Grab chases every millisecond to make their super app blazing fast.
Journey to a Faster Everyday Super App
Grab shares how they made their super app lightning-fast for daily use.
Better Android Testing at Airbnb (Part 4: Testing ViewModels)
Airbnb tests ViewModels to make their Android app tough as nails.
Targeted Code Coverage Reports For Android Continuous Builds
Explains implementing code coverage analysis in Android CI/CD pipelines for quality assurance.
Reactive Data Flow in Revolut Android App
Explores reactive programming patterns and data flow architecture in Android applications.
React Native Doctor Diagnostic Tool
Introduction of React Native Doctor tool for diagnosing development environment issues and optimizing build processes.
Modernizing Our Android Build System Part I: The Planning
Dropbox laid out a plan to bring their Android build system up to speed.
Modernizing Our Android Build System Part II: The Execution
Dropbox put their Android build upgrade plan into action with grit.
A Summer of Android at Strava
Overview of Android development initiatives and improvements at Strava.
Building High-Performance Mobile Applications at Netflix
Netflix shares how they engineer their apps to stream flawlessly every time.
React Native 0.61 Release
Version 0.61 release with performance improvements and mobile engineering enhancements.
Dagger and Multi-Module Architecture in Traveloka Android App
Implementation of dependency injection with Dagger in a multi-module Android application architecture.
OOM Bitmap Resource Analysis and Optimization
Analyzes out-of-memory errors related to bitmap resource management and provides optimization strategies.
Integrating React Native into Existing Android Applications
Provides best practices and techniques for adding React Native to brownfield Android projects.
A Day in the Life of a Mobile Product Engineer at Slack
A Slack Staff Software Engineer based in Vancouver walks through his typical workday as an Android Product Engineer on the Messaging team. The article covers everything from morning routines and stand-ups to de...
Gradle Remote Build Cache Optimization
Analyzes Gradle build cache misses and strategies for improving Android build performance.
Running Android Instrumentation Tests on Circle CI Without a Third Party Service
Guide to setting up and running Android instrumentation tests in CI/CD pipelines using Circle CI.
The Not-So-Hidden Cost of Sharing Code Between iOS and Android
Analysis of the architectural and performance trade-offs when sharing code between iOS and Android platforms.
Transitioning to Android
Details Thumbtack's migration strategy and lessons learned when adopting Android development practices.
Introducing Nanoscope: An Extremely Accurate Method Tracing Tool for Android Development
Uber’s Nanoscope digs deep into Android methods to spot performance hiccups.
Android Inter-Module Navigation with Dagger
Robinhood uses Dagger to handle navigation between Android app modules.
Hermes JavaScript Engine for React Native
Introduction of Hermes, a JavaScript engine optimized for mobile app startup time and memory usage.
Handling WebP OutOfMemoryError in Android
Addresses memory management issues when processing WebP images on Android devices.
React Native Version 0.60 Release
Major version release with performance enhancements and mobile development best practices updates.
Android Jetpack Benchmark: JSON Parser Performance
Performance benchmarking analysis of different JSON parsers using Android Jetpack Benchmark library.
Best Practices for Video Playback in Android
Article covering best practices for implementing efficient video playback on Android devices.
Mobile Release Engineering at Scale: ShipIt Mobile
Strategies and tools for managing mobile app releases and deployment processes at scale.
Employing QUIC Protocol to Optimize Uber’s App Performance
Uber tapped the QUIC protocol to cut latency and make their app feel snappier.
The Story of Our Big Android App Rewrite
Gojek spills the details on why and how they rewrote their Android app from scratch.
Optimizing App Subscriptions with New Tools
Best practices for implementing and optimizing subscription models in Android apps.
Quality Assurance and Testing for Mobile Applications
Discusses mobile app quality assurance, testing strategies, and continuous improvement practices.
Implementing Infinite Scrolling Efficiently
Guide to implementing infinite scrolling in mobile apps with optimal performance and user experience.
Measuring Kotlin Build Performance
Uber teamed up with JetBrains to figure out how Kotlin builds hold up when things get big and messy at scale.
Breaking up the App Module Monolith: The Story of Robinhood's Android App
Robinhood split their Android app into chunks to make it easier to manage.
React Native 0.59 Release
Release announcement for React Native 0.59 with performance improvements and new development features.
Building a Dynamic UI System at Carousell (Part 1)
Carousell explores the problems that led them to build a server-driven dynamic UI system (fieldsets) for their marketplace, enabling dynamic sell forms, search filters, and listing details across iOS, Android, ...
Building a Dynamic UI System at Carousell (Part 2)
Deep dive into Carousell's fieldset system architecture: JSON-based document schemas, component hierarchies, cross-platform rendering, backward compatibility via build versioning, and the request/response flow ...
Android Development with GraphQL
Explores GraphQL integration and best practices for Android application development.
AIR GO and APK Signing
A LINE engineer from the AIR GO team details the three Android APK signing schemes (v1 JAR signing, v2 APK Signature Scheme, and v3 introduced in Android 9 Pie) and how AIR GO's detection module was updated to ...
Introducing Inclusive Beauty Searches for Mobile
Article about mobile search feature implementation and optimization for mobile platforms.
Engineering Uber Lite
Uber reveals the real struggles and smart solutions they found while building Uber Lite for shaky network spots.
Coupang Android Architecture Part 3
Third part of Coupang's comprehensive guide to Android architecture and development best practices.
How To Maximize Android's UI Reusability: 5 Common Mistakes
Identifies common pitfalls in Android UI component design and best practices for reusability.
Mastering Kotlin Conventions: Get, Set, and Range Operations
Deep dive into Kotlin language conventions and operator overloading for mobile development.
Mastering Kotlin Conventions: Operators and Arithmetic Operations
Comprehensive guide to Kotlin operator conventions for efficient mobile development.
Hate to Wait: How Skyscanner Used Module Caching to Cut App Build Speed in Half
Skyscanner halves app build times with smart module caching moves.
Consistent Caching Mechanism in Titus Gateway
Netflix builds consistent caching in Titus Gateway for steady performance.
Coupang Android Architecture Part 2
Second part of Coupang's architectural design patterns and best practices for large-scale Android applications.
What We've Learned at KotlinConf 2018
Shares insights and best practices from KotlinConf 2018 relevant to Android development.
MobileLab: Prevent Mobile Performance Regressions
Meta’s MobileLab stops slowdowns before they mess with users.
Using Kotlin extensions to make the Android SDK friendlier
Imagine that you’re new to Android and trying to display an image. You’ve already added the image to your res folder and now you need to get a Drawable.
Building Reactive Component Systems with Kotlin
Discusses reactive programming patterns and component architecture design in Kotlin.
Why We Decided to Rewrite Uber's Driver App
Uber explains why they scrapped and rebuilt their driver app to boost speed, scale, and driver happiness.
Blibli.com Android Evolution
Documents the evolution and modernization of Blibli's Android application architecture.
How Discord Handles Two and Half Million Concurrent Voice Users Using WebRTC
Discord powers 2.5 million voice chats at once with WebRTC wizardry.
Universal Links for Android and iOS
Implementation of universal deep linking across both Android and iOS platforms.
Universal Links for Android and iOS
Implementation guide for universal deep linking across Android and iOS platforms.
Guide to Mobile App Autotesting Tools
Comprehensive overview of automated testing tools and frameworks for mobile applications.
Guide to Mobile App Autotesting Tools
Comprehensive overview of automated testing tools and frameworks for mobile applications.
MVI Beyond State Reducers: A Modern Kotlin-Based MVI Architecture
Badoo's Android team describes how adopting an MVI (Model-View-Intent) architecture with unidirectional data flow helped eliminate hard-to-reproduce race conditions in their chat module. By modeling application...
A Modern Kotlin-Based MVI Architecture
Implementation guide for Model-View-Intent architecture pattern using Kotlin.
Unified Cross-Platform Performance Metrics
Slack tracks performance the same way across all platforms for clarity.
Android Face Detection Using ML Kit
Covers implementing face detection functionality in Android applications using Google's ML Kit library.
Android Emulator AMD Processor Hyper-V Support
Discusses performance improvements and compatibility enhancements for the Android emulator on AMD processors with Hyper-V.
Android App Bundle: Distribution and Size Optimization
Explains Android App Bundle format and its benefits for app distribution and size reduction.
3 Years of Android Development at Traveloka
Retrospective on Traveloka's Android development practices, evolution, and lessons learned over three years.
A New Era of Launching Mobile Games
Modern strategies and best practices for launching and distributing mobile games on app stores.
Loading Time Matters
Zalando proves fast load times keep users hooked and happy.
Reducing APK Size: A Journey to Smaller Android Apps
Details strategies and techniques for reducing Android APK file size.
Coupang Android Architecture Part 1
First part covering Coupang's architectural design patterns and engineering practices for Android development.
Android Search Performance Improvements (Part 2)
Part 2 of Yelp’s efforts to enhance Android search performance, diving deeper into implementation details.
Improved Mobile Performance
Teamweek shares their overall push to make their app run better.
5 Reasons Why N26 Is Moving to Kotlin
Discusses the benefits and motivations for adopting Kotlin in Android development.
Android Search Performance Improvements (Part 1)
Part 1 of Yelp’s journey to optimize search performance on its Android app, focusing on technical improvements.
Android Guild Week at Strava
Discussion of Android engineering practices and knowledge sharing at Strava.
The Mobile Crash Reporting Pipeline at LinkedIn
LinkedIn tracks mobile crashes and fixes them fast to keep users happy.
A Massively Multi-User Datastore Synced with Mobile Clients
Architecture and engineering approach for syncing data between server and mobile clients at scale.
Android O Migration: Lessons Learned
Documents BlaBlaCar's migration process to Android O and compatibility improvements.
Smarter ToDos With Kotlin
Kotlin already has TODOs. That’s awesome! but it’s a tad bit aggressive.
Profilo: Understanding App Performance in the Wild
Meta’s Profilo tracks how their apps behave in real-world chaos.
Using Docker to build a testing infrastructure for web UI and mobile
LINE uses Docker to build a fast, scalable testing setup for UI.
Optimising Flipkart Android App size to sub 10 MB
Flipkart shrank their Android app below 10 MB for low-bandwidth users.
Enhancing Appium Android Tests with Advanced Techniques
Covers best practices and advanced strategies for improving Android test automation with Appium.
Automating Mobile App Localization
Covers automated processes for localizing mobile applications across languages.
Kotlin at Trello: Mobile Development Best Practices
Discusses Kotlin adoption and best practices for mobile development at Trello.
Developing Android Studio Plugins With Gradle
Covers creating custom Android Studio plugins using Gradle for enhanced development workflows.
Implementing Twitter's App Loading Animation In React Native
Technical guide to implementing smooth loading animations while optimizing performance in React Native.
Optimise Because Performance Matters
Article discussing mobile app performance optimization techniques and best practices.
Shrinking APKs, Growing Installs
Strategies for reducing Android app package size to improve installation rates and user acquisition.
Why the First Ten Minutes Are Crucial for Mobile Game Retention
Google Play explores why the first ten minutes of a mobile game are critical for player retention, with data-driven insights on onboarding and early engagement.
Improving Performance with Background Data Prefetching
Instagram Engineering explains how background data prefetching decouples app usability from network availability while minimizing cellular data usage. The team built a centralized framework for Explore, Stories...
High-Performance App Development: Common Bottlenecks and How TripAdvisor Measured Its Way to a Faster App
TripAdvisor engineers discuss measuring and optimizing app performance through network request coordination, image loading strategies, scroll performance optimization, and app startup time reduction. Key topics...
Battery Instrumentation at Facebook
Facebook engineers share their process for reducing battery consumption by measuring hardware component utilization and modeling battery drain. The talk covers CPU, network radio, camera, location, and GPU meas...
The future of multi-modal interfaces
Meta explores new ways to mix voice, touch, and more in app design.
Multi-threaded rendering on Android (with Litho & Infer)
Meta’s team speeds up Android UI rendering with multi-threading magic.
Efficient and healthy background data prefetching at Instagram
Instagram grabs data early in the background to keep scrolling smooth.
Multithreaded Rendering on Android with Litho and Infer
Meta's News Feed team implemented multithreaded rendering on Android using Litho's background layout and Infer's static analysis, achieving smooth 60fps scrolling while automatically detecting hundreds of concu...
Kotlin: An Exploration of Sealed Classes
Explores Kotlin sealed classes as a language feature for mobile development best practices.
Mobile Apps: iPlayer Tech On The Move
Discusses mobile engineering and architecture decisions for BBC's iPlayer mobile application.
Reactive Clean Architecture with Android Architecture Components
Explores clean architecture patterns combined with reactive programming in Android.
Color Your Apps in React Native Using Material Palette
Callstack introduces react-native-material-palette, a React Native library wrapping Android's Palette API to extract dominant color profiles from images for dynamic theming following Material Design principles....
React Native Performance In Marketplace
Case study on optimizing React Native app performance in a production marketplace application.
Map Performance Comparison and Judy Data Structure Alternatives
Analyzes performance characteristics of different map data structures for mobile applications.
Mind Maps for Fast and Effective Testing
Using mind mapping techniques to improve test planning and execution efficiency.
Android Instant Apps at Thumbtack
Discusses implementation and benefits of Android Instant Apps for improving user engagement.
Strava Mobile App Versions
Discussion of mobile app versioning strategy and release management at Strava.
Integrating React Native in an Existing Application
Best practices for adding React Native components to existing native mobile applications.
Android Tech Stack Overview
Showcases the technology stack and architectural decisions for Android development.
RxJava 1 -> RxJava 2 (Understanding the Changes)
In case you haven’t heard: RxJava 2 was released sometime back. RxJava 2 was a massive rewrite with breaking apis (but for good reasons).
RxJava 1 -> RxJava 2 (Disposing Subscriptions)
This was the part that I initially found most tricky to grasp but also most important to know as an AndroidDev (memory leak and all).
Reactive Camera Implementation with Camera2 API on Android - Part 1
Demonstrates reactive programming patterns for camera functionality using Android's Camera2 API.
Kotlin for Mobile Development
Covers Kotlin language features and best practices for mobile app development.
Detecting List Items Observed by User
Zalando tracks what users see in lists to sharpen performance and stats.
Mobile Crash Reporting at LinkedIn
LinkedIn keeps a tight watch on mobile crashes to stay smooth and steady.
Messaging Sync: Scaling Mobile Messaging at Airbnb
Airbnb's engineering approach to scaling mobile messaging infrastructure and synchronization across their platform.
Writing a Custom Android Component for React Native
Covers native Android module development and integration with React Native applications.
Building a Dynamic Mobile CI System
Shopify crafted a flexible CI system that scales fast for mobile dev needs.
Breaking the Limitations of Calabash Android
Techniques for overcoming limitations in Calabash Android testing framework.
Breaking the Limitations of Calabash Android
Techniques for overcoming limitations in Calabash Android testing framework.
Implementing Android Navigation Drawer and Status Bar in React Native
Details proper implementation of Android-specific UI components in React Native applications.
Better List Views
Covers optimization techniques for list rendering performance in React Native applications.
Android Handler Memory Leaks
Analysis of memory leak issues caused by Android Handlers and how to prevent them.
Android Handler Memory Leaks
Deep dive into identifying and fixing memory leaks caused by Android Handlers.
Using Native Driver For Animated
Explains how to use the native driver for animations to improve rendering performance and reduce JavaScript thread load.
Mobile App Testing Tips and Tricks
Best practices and practical tips for effective mobile application testing.
Dockerizing Calabash Android Testing on macOS
Explores containerization and test automation setup for Android testing environments.
Motion Recognition for Fitness on Android Wear
Covers implementing motion recognition and fitness tracking features on Android Wear devices.
A/B Testing using Google’s Staged Rollouts
Twitch uses Google’s staged rollouts to A/B test video upgrades.
Four Load Testing Mistakes Developers Love to Make
Klarna points out four load testing traps devs often fall into.
Easier Upgrades
Improvements to the React Native upgrade process and tools for smoother version migrations.
Checkstyle on Changed Files with Gradle
Discusses using Checkstyle with Gradle to enforce code quality on modified files during development.
Epoxy: Airbnb's View Architecture on Android
Airbnb's Epoxy library simplifies building complex UIs in RecyclerView with automatic diffing, view state preservation, and simplified model management for Android.
Engineering the Architecture Behind Uber’s New Rider App
Uber breaks down the smart design choices behind their revamped Rider app.
Crashcan: Building a Better Mobile Crash Analytics Platform
Crashcan (think trashcan, but for crashes) is Etsy's internal application for mobile crash analytics. We use an external partner to collect and store crash and exception data from our mobile apps
React Native 0.36: Headless JS, Keyboard API, and More
Release notes covering headless JavaScript, keyboard API improvements, and other features in React Native 0.36.
Offline First: Introducing TrueTime for Swift and Android
A common complaint we’ve heard from our shoppers is that when they’re deep in the aisles of a grocery store, the app is frequently held hostage to spotty network connectivity.
Android Schemas for Mobile Development
Discusses schema design and best practices for Android app development.
Improving Chat Rendering Performance
Twitch smooths chat rendering for a lag-free experience in streams.
Dynamic App Content: An Introduction to Truly Native Apps
Zalando crafts native apps that shift content dynamically for users.
The Mobile Device Lab at the Prineville Data Center
Meta’s lab in Prineville hammers apps to ensure they perform anywhere.
Getting to Slack Faster with Incremental Boot
Slack cuts load times by starting up step-by-step, not all at once.
Android Testing with Mocking
Best practices for testing Android applications using mocking frameworks and techniques.
Better Android Intents With Dart Henson
Explores using the Dart Henson library to improve type safety and maintainability of Android intents.
Android: An Exercise in "Ship It"
Airbnb ships Android fast, embracing a bold “just do it” vibe.
React Native: A Year in Review
Meta's retrospective on React Native development framework improvements and lessons learned over a year of production use.
React Native: A Year in Review
Annual review of React Native framework improvements, features, and community developments.
Reproducible Android Builds
Covers techniques for achieving reproducible builds in Android development for improved reliability and security.
Dive Into React Native Performance
Deep dive into performance optimization techniques and best practices for React Native applications.
Introducing Hot Reloading
Introduction to hot reloading feature for faster development iteration in React Native.
Open Sourcing LightCycle: Android Lifecycle Management
Introduces LightCycle, an open-source library for managing Android component lifecycles.
Integrating Android Projects with Codecov for Coverage Tracking
Describes integration of code coverage reporting tools with Android CI/CD pipelines.
The LinkedIn Android Data Pipeline
LinkedIn’s Android data flow keeps their app humming with fresh info.
Failing Fast with Reliable and Actionable System-Level Tests
Skyscanner uses system tests to catch failures quick and keep quality high.
Solving the Problem of One Billion Computations
Skyscanner tackles a billion calculations with efficient, fast solutions.
3x3: Speeding Up Mobile Releases
LinkedIn’s 3x3 framework cuts the time to get mobile updates out the door.
Mobile A/B Testing at Quora
Discusses A/B testing strategies and implementation for mobile applications to optimize user experience and performance.
Android's Multidex Slows Down App Startup
Analyzes the performance impact of multidex on Android app startup time and optimization strategies.
Making React Native Apps Accessible
Best practices and techniques for implementing accessibility features in React Native applications.
Functional Reactive Programming On Mobile: A Rosetta Stone
Explores functional reactive programming patterns and their application to mobile development.
React Native for Android
Introduction and best practices for developing React Native applications on Android.
Handling Orientation Changes on Android
Handling orientation changes on Android is one of the most frustrating things to deal with as an Android engineer. I hope to make that challenge just a little bit easier and to help you better understand exactl...
Gradle Daemon Support for Faster Build Compilation
Article about Gradle daemon optimization for faster compilation times, directly impacting mobile development build performance.
Discover Pinterest Mobile Engineering and Design
Overview of Pinterest's mobile engineering practices and design approaches.
Mobile Performance: Tooling Infrastructure at Facebook
Meta’s tooling keeps their mobile apps running smooth and steady.
React Native: Bringing Modern Web Techniques to Mobile
Overview of how React Native applies modern web development techniques to mobile app development.
Crittercism: Solving Mobile Performance Issues for One Billion Users | AWS Startups Blog
Crittercism (via AWS) tackles app issues for a billion users worldwide.
High Performance WebViews
Covers optimization techniques for WebView performance in mobile applications.
Preserving User Context During Android App Installation
Addresses best practices for maintaining user session state and context across app installation and updates.
Building Carousel Part III: Drawing Images on Screen
Technical deep dive into image rendering optimization and performance in Dropbox's Carousel mobile app.
The Tech Behind Dropbox's New User Experience on Mobile - Part 2
Technical deep dive into Dropbox's mobile app architecture and UX implementation improvements.
Building Dropbox's New User Experience for Mobile Part 1
Case study on designing and implementing a new mobile user experience with performance and usability considerations.
Building Carousel Part II: Speeding Up the Data Model
Dropbox tuned their data model to make their app respond even faster.
Google Play Services 5 Release
Announces new features and improvements in Google Play Services 5 for Android developers.
Android L Developer Preview Release
Introduces Android L developer preview with new platform features and capabilities.
Building Successful Global Apps
Best practices for developing and distributing apps globally across different markets.
Developer Preview and Play Services 5
Introduction to developer preview features and updates in Google Play Services.
Cloud Integration and Android Studio Development
Discusses new methods for connecting Android apps to cloud services using Android Studio.
FlatBuffers: Memory-Efficient Serialization
Explores FlatBuffers as a memory-efficient alternative to other serialization formats for Android apps.
Android Wear Design Story
Design considerations and best practices for developing applications on Android Wear platform.
Notification Implementation Best Practices
Sample code and best practices for implementing notifications in Android applications.
Stacking Notifications for Android Wear
Demonstrates best practices for managing and stacking notifications on Android Wear devices.
Google Play Services 4.4 Release
Announces features and improvements in Google Play Services 4.4 for Android development.
Building Carousel Part I: How We Made Our Networked Mobile App Feel Fast and Local
Dropbox made their networked app feel snappy, like it’s all local.
Garbage Collection Optimization: High Throughput and Low Latency Java Applications
LinkedIn tunes Java garbage collection for high speed and low lag.
Android Wear Developer Preview
Introduction to Android Wear development tools and best practices for wearable app development.
Google Play Services 4.3 Release
Announces features and improvements in Google Play Services 4.3 for Android development.
New Client API Model in Google Play Services
Introduces API changes and improvements to Google Play Services client model for Android developers.
Google Play Services 4.2 Release
Announces new features and improvements in Google Play Services 4.2 for Android development.
Process Stats: Understanding How Your App Uses Memory
Explains how to use Process Stats to monitor and understand memory usage in Android applications.
Mobile A/B Testing at LinkedIn: How Members Shape Our Apps
LinkedIn uses A/B tests to shape their apps based on real user vibes.
Android Staggered Grid Implementation
Etsy's engineering guide on implementing staggered grid layouts for Android applications.
Google Play Services 4.1 Release
Announces new features and improvements in Google Play Services 4.1 for Android development.
Service Update Major Video System Update and Prague is Online
Twitch overhauled their video system and added Prague servers for speed.
Changes to SecretKeyFactory API in Android
Documents API changes to SecretKeyFactory for cryptographic operations in Android development.
New Tools for Game Development on Android
Tools and techniques for optimizing game performance and development on Android platform.
Android 4.4 KitKat and Updated Developer Tools
Announces Android 4.4 KitKat release and updates to developer tools and APIs.
Google Play Services 4.0 Release
Announces new features and improvements in Google Play Services 4.0 for Android development.
Getting Your SMS Apps Ready for Android 4.4 KitKat
Explains API changes and migration steps for SMS applications in Android 4.4 KitKat.
New Developer Features in Google Play Services
Introduces new developer-facing features and capabilities in Google Play Services.
How To Configure Kotlin In Your Project
Instructions for setting up Kotlin in development projects with best practices.
Working With Kotlin In Android Studio
Guide on configuring and using Kotlin for Android development in Android Studio.
Etsy's Device Lab
At the end of 2012, Etsy CEO Chad Dickerson noted that mobile visits grew 244% year over year and represented more than 25% of all traffic.
Login Verification On Twitter For iPhone And Android
Describes implementation of secure login verification features across iOS and Android platforms.
Mobile App Development: Catching Crashers
Twitter (now X) hunts down mobile app crashes with keen precision.
Introducing the Dropbox Sync API for Mobile Developers
Guide to Dropbox's Sync API designed for mobile app developers to handle data synchronization.
Low Latency Switching in Signal
Explores optimization techniques for reducing latency during protocol or connection switching in the Signal app.
Right To Left Support For Twitter Mobile
Details implementation of right-to-left language support across Twitter's mobile applications.
Keeping Instagram Up with Over a Million New Users in Twelve Hours
Instagram scaled fast to handle a million new users in just 12 hours.
Blazing Fast Node.js: 10 Performance Tips for LinkedIn Mobile
LinkedIn drops 10 hot tips for making Node.js fly in mobile apps.
Mobile Proxy Architecture at SoundCloud
Explores proxy patterns and network optimization strategies for mobile applications.