Spotify如何通过控制移动应用大小来对抗全球变暖

应用大小对用户和环境的影响

添加新功能往往会对应用大小产生隐性影响,带来用户流失和不必要的碳排放等不良后果。为了控制应用大小,Spotify工程师建立了PR(Pull Request)前后的流程,成功在六个月内预防了约10MB的应用大小增长。

应用大小的重要性

尽管应用大小并非开发者关注的核心,但Spotify工程师Viktor Petrovski、Dmitry Povolotskyi和Bruno Rocha认为,这是一个不可忽视的重要因素。应用大小从网络带宽和存储空间两个维度影响用户,尤其是对全球85%的人口(主要使用存储和网络带宽有限的旧设备)而言。Google的一项实验表明,应用大小每增加6MB,安装转化率下降1%,这意味着大量潜在用户的流失。

应用大小与碳排放

即使在发达国家,应用大小也因网络流量对全球变暖的影响而成为关注点。Spotify工程师提供的数据显示,仅更新移动应用就产生了超过930PB的网络流量。根据Shift Project的one-byte模型和EPA 2019年的数据,这些流量相当于约65,000吨二氧化碳排放,等同于65,000人往返伦敦和纽约的航班碳排放。

Spotify的应用大小控制流程

为控制应用大小,Spotify采用了严格的PR合并前后流程:

  1. PR合并前流程
    使用Emerge Tools分析每个PR对应用大小的影响。如果PR增加的大小超过50KB,专门团队会进一步分析并根据多项标准决定是否批准。
  2. PR合并后流程
    该流程旨在从全局视角监控应用大小的演变。即使每个PR增加的大小小于50KB,多个PR的累积效应也可能导致应用大小显著增长。Emerge Tools提供编译单元的详细分析,帮助识别哪些团队对应用大小增长贡献最大,并用于团队间的绩效比较。

流程效果

这套流程帮助Spotify工程师识别了100多个触发警告的PR,其中53个被修订以减少大小。这不仅防止了超过10MB的应用大小增长,还在工程师中建立了追求较小PR的共享文化。

总结

通过PR合并前后的严格流程,Spotify成功控制了应用大小,减少了用户流失和碳排放,同时提升了开发团队对应用大小影响的认识。

阅读 27
0 条评论