JioSaavn aumenta i DAU migliorando del 30% il tempo di avvio dell'app

Fondato nel 2007, JioSaavn è un servizio di streaming audio leader del settore per musica e podcast. Il canale ha oltre 900 partnership con le etichette e ascolta in streaming oltre 80 milioni di brani in 16 lingue. L'app JioSaavn è disponibile anche in 6 lingue indiane regionali.

Con uno stack tecnico che supporta oltre 100 milioni di utenti attivi mensili (MAU), JioSaavn opera su larga scala e ad alta velocità. Questo pubblico di solito dispone di smartphone Android con risorse limitate, il che rende l'esperienza utente di estrema importanza per il team JioSaavn.

La sfida

Ottimizzare in un ambiente caratterizzato da vincoli, come quelli dei dispositivi mobili di fascia bassa/media, può essere impegnativo ed entusiasmante dal punto di vista ingegneristico. La sfida che JioSaavn ha dovuto affrontare è stata quella di ottimizzare l'esperienza utente per il suo pubblico di destinazione chiave utilizzando dispositivi mobili di fascia bassa e intermedia e che si trovava principalmente nelle città indiane di livello 2 e 3.

Analizzando la canalizzazione, è emerso che c'era una considerevole sezione di utenti che lanciavano l'app senza ascoltare un brano. Il team ha stabilito che la causa è il momento di avvio dell'app. Di conseguenza, il miglioramento del tempo di avvio dell'app è stato associato a un aumento del numero di ascoltatori dell'app.

Come c'è riuscita

JioSaavn si è affidata a un'analisi completa e a un solido set di strumenti come Perfetto, dumpsys, ecc. per analizzare questo problema e arrivare a una soluzione sostenibile. Il team ha affrontato questa sfida seguendo due principi: lavorare in parallelo ed essere pigri.

Con l'aiuto dell'analisi di Google, il team ha dato priorità alle attività:

  • Ha utilizzato systrace e perfetto per studiare il flusso dell'app, analizzare i punti deboli, convalidare i miglioramenti nei tempi di avvio dell'app.
  • Inizializzazione ritardata: inizializzazione di frammenti/istanze/classi identificati che potrebbe essere ritardata fino alla visualizzazione della home page -
    • Google Ads
    • Servizio musicale (servizio in primo piano) e risorse dei giocatori (ad es. Exoplayer, coda di player memorizzati nella cache e così via)
    • Frammento del player ridotto a icona al momento del lancio.
  • Inizializzazione on demand: di varie librerie come e quando la libreria è richiesta (ad es. Facebook lib).
  • viewStubs: "Visualizza l'inflazione e il caricamento delle risorse è stato elevato. Il team ha suddiviso i layout utilizzando viewStub e convertito le immagini in webP.
  • Thread worker: alcune attività che non richiedevano il thread dell'interfaccia utente sono state spostate nei thread b/g per liberare il thread dell'interfaccia utente.
  • Dati della cache suddivisi: la lettura e l'analisi di enormi quantità di dati memorizzati nella cache da un file richiede molto tempo. Il team ha suddiviso i dati in dati critici (necessari per mostrare la home page) e non critici.
  • Async LayoutInflater: alcune delle visualizzazioni richieste per la recyclerview della home page sono state pre-inflate utilizzando Async LayoutInflater.

Strumenti utilizzati: Perfetto, Systrace, Google Play vitals, Profiler di Android Studio, SDK Firebase Performance

Risultati

Il team JioSaavn ha rilasciato queste modifiche in più versioni dell'app per mantenerne la stabilità. Hanno ottenuto i seguenti risultati:

  • Miglioramento del 30% del tempo di avvio dell'app su tutti i dispositivi e del 35-40% sui dispositivi di fascia bassa.
  • Miglioramento del 5% dei visitatori della schermata Home/ DAU, con conseguente riduzione della frequenza di rimbalzo.

Questo esercizio di ottimizzazione ha riunito l'intero team. Abbiamo realizzato procedure dettagliate per mettere il team a proprio agio con le modifiche e adottare un approccio incentrato sul rendimento per l'app.

"L'obiettivo di JioSaavn è migliorare l'esperienza di ascolto dei nostri utenti che provengono da varie regioni
e città dell'India e coprono tutto lo spettro in termini di convenienza. Superare l'infrastruttura di connettività mobile della loro regione e ottimizzare l'esperienza utente in tutte le funzionalità dei dispositivi degli utenti è una sfida costante per noi. Grazie alle indicazioni sui rapporti con gli sviluppatori di Google, siamo riusciti a compiere un passo decisivo in questa direzione."

– Il team di prodotto di JioSaavn