Mobile apps today are facing the dual challenge of adding new functionality for users while keeping file sizes reasonable. Unlimited data is still a luxury for many worldwide, and large apps negatively impact the environment as well as the user experience.

At streaming giant Spotify, the engineering team has made app size control a priority issue. Viktor, Dmitry, and Bruno note that while developers naturally focus on new features, ignoring an app’s footprint can lead to disengagement and wasted resources. As many use older or low-bandwidth devices, even modest bloat can turn users away. Google research found just a 6MB increase cut installation rates by 1%.

The environmental impacts are also coming to the fore. With Spotify’s hundreds of millions of users generating petabytes of data monthly for app updates, the carbon cost is substantial at 65,000 tons of CO2. That’s equivalent to the emissions from 65,000 transatlantic flights. As online activity continues skyrocketing globally, this issue will only grow if left unchecked.

To stay vigilant, Spotify implemented a rigorous pre-merge and post-merge review system using emergence analysis tools. Any change over 50KB gets additional vetting against criteria like necessary function. Later, tooling identifies the largest pre-build modules to target for optimization between sprints.

By tracking contribution levels and holding teams accountable, 100 problematic pulls were flagged, half of which streamlined code. As a result, the engineers estimate preventing a 10MB rise, keeping the app swift and accessible. Through open communication, all now understand app footprint management as an important shared responsibility when progressing the product.

The streaming leader’s experiences demonstrate the hidden costs of runaway code and the importance of collaborative governance over digital assets. With attention, development can sustainably innovate without compromising universality or the worldwide environment.

Leave a Reply

Your email address will not be published. Required fields are marked *