― Advertisement ―

spot_img
HomeTechCome Spotify combatte il riscaldamento globale controllando le dimensioni delle sue app...

Come Spotify combatte il riscaldamento globale controllando le dimensioni delle sue app mobili

L’aggiunta di nuove funzionalità spesso ha un impatto sottile sulle dimensioni dell’applicazione, con molti impatti indesiderati, tra cui la mancanza di coinvolgimento degli utenti ed emissioni di carbonio non necessarie. Per tenere sotto controllo le dimensioni dell’applicazione, Gli ingegneri di Spotify hanno creato processi pre-PR e post-PR per aiutare a prevenire un aumento delle dimensioni dell’app di 10 MB in sei mesi.

Sebbene le dimensioni delle app non siano spesso al centro delle preoccupazioni degli sviluppatori, non sono affatto un fattore importante da considerare, affermano gli ingegneri di Spotify Viktor Petrovsky, Dmitry Povolotsky e Bruno Rocha.

Le dimensioni dell’applicazione influiscono sugli utenti in due dimensioni diverse, larghezza di banda della rete e spazio di archiviazione. Sebbene questi problemi di solito non costituiscano una preoccupazione per la maggior parte delle persone che vivono nei cosiddetti paesi sviluppati, di solito lo sono per l’85% della popolazione mondiale, a causa di fattori quali la proliferazione di dispositivi più vecchi con scarsa capacità di archiviazione o larghezza di banda di rete. Secondo un esperimento condotto da Google, inoltre:

Per ogni aumento di 6 MB delle dimensioni dell’app, il tasso di conversione delle installazioni dell’app è diminuito dell’1%. Le implicazioni sono profonde e portano a molte opportunità mancate.

Tuttavia, le dimensioni delle applicazioni sono destinate a diventare un problema anche nei paesi sviluppati a causa dell’impatto del traffico di rete sul riscaldamento globale. Gli ingegneri di Spotify forniscono dati che mostrano che, per aggiornare la loro app mobile solo per la sua base di utenti, oltre 930 petabyte di dati vengono trasferiti su Internet. Utilizzando un modello comune attualmente disponibile, il Un modello a byte singolo sviluppato dal progetto ShiftE Dati EPA 2019Si stima che il traffico di rete equivalga a circa 65.000 tonnellate di anidride carbonica, l’equivalente di 65.000 persone che effettuano un viaggio di andata e ritorno tra Londra e New York.

Per aiutare a tenere sotto controllo le dimensioni dell’app, Spotify si affida a rigorosi processi di pre-integrazione e post-integrazione. Nel processo di pre-fusione, ogni PR viene analizzato utilizzando Strumenti per l’aspetto Valutarne l’impatto sulla dimensione dell’applicazione. Se la sua dimensione è superiore a 50 KB, un team specializzato lo analizza, applica diversi criteri e lo approva o rifiuta.

Il processo post-fusione tenta di ottenere una visione più globale dell’evoluzione delle dimensioni dell’applicazione da build a build. Infatti, anche se ciascuna PR è inferiore a 50 KB, la crescita complessiva delle dimensioni dell’applicazione derivante da tutte le PR incluse nella build può essere significativa. Anche in questo caso, gli strumenti di visibilità sono fondamentali. Forniscono un’analisi dettagliata dei moduli di compilazione e di quanto ciascuno di essi contribuisce alla dimensione dell’applicazione. Questi dati vengono quindi utilizzati per determinare quali team hanno contribuito maggiormente alla crescita del volume delle app e per creare analisi per confrontare le prestazioni dei team.

Definire l’attribuzione e ritenere ogni team responsabile del proprio impatto ci consente di mantenere in modo efficace un equilibrio tra l’implementazione di nuove funzionalità e la garanzia che le dimensioni della nostra app rimangano entro limiti ragionevoli.

Nel complesso, questo processo su due fronti ha consentito agli ingegneri di Spotify di identificare più di 100 messaggi chiave che attivavano avvisi, 53 dei quali sono stati esaminati per ridurne il volume. Ciò ha consentito di evitare che l’applicazione crescesse di dimensioni superiori a 10 MB, oltre a creare una cultura comune tra gli ingegneri che puntavano innanzitutto a PR più piccoli.