Zomato Arnav Gupta Oct 18, 2022

Our Android App Has Been Eating but Shedding Weight

Article Summary

Zomato's Android app was 23MB to download and hogging up to 700MB of cache. Their platform team decided to put it on a diet while still shipping new features.

The Zomato engineering team shares how they reduced their Android app's footprint over several months without freezing feature development. They tackled download size, cache bloat, and bandwidth consumption simultaneously.

Key Takeaways

Critical Insight

Zomato reduced their Android app download size by 35% and slashed cache from 700MB to 120MB while continuing to ship features like Zomato Premier League.

The team's philosophy on code maintenance might surprise you: less code equals fewer bugs, and they're living by it.

About This Article

Problem

Zomato's Android app was downloading all PNG images at 675×675 pixels, no matter what device or screen density users had. This wasted a lot of bandwidth for people scrolling through restaurant listings.

Solution

The team built dynamic image sizing that figures out the exact pixel dimensions each device needs based on its screen density, then downloads only that version.

Impact

The ordering homepage now uses 60-70% less bandwidth when scrolling. Users can browse restaurants without worrying about eating through their data plan.