Press Release

Se l’app è troppo veloce per gli utenti


Il monitoraggio mobile Real User e il caso Runtastic: quando essere a conoscenza di un problema aiuta a migliorare l'esperienza dell'utente

A cura di Klaus Enzenhofer, Senior Strategist in the Center of Excellence di Dynatrace




Nel mondo delle app mobile è interessante raccontare un caso da poco accaduto a Runtastic, uno dei clienti che utilizza le nostre soluzioni di Mobile Real User Monitoring.

Runtastic è la principale app mobile che consente agli utenti di monitorare le loro attività sportive come la corsa, la bicicletta, le escursioni a piedi o lo sci. Recentemente un utente si è lamentato della velocità eccessiva registrata. In realtà non aveva nulla da ridire rispetto alle prestazioni dell’applicazione, ma riteneva esagerata la velocità media che veniva calcolata dalla app durante il suo allenamento. Dopo un’ora in bicicletta, l'applicazione dichiarava che aveva coperto una distanza di 490 km – un primato mondiale che sarebbe valso più della maglia rosa al giro d’Italia!

Che cosa non aveva funzionato sul dispositivo mobile? Dopo una breve sessione di brainstorming, gli sviluppatori avevano ipotizzato tre possibili cause per questo bug:

  1. Coordinate GPS errate
  2. Problemi di calcolo della distanza nel codice app
  3. Valori errati inviati all'applicazione dal sistema operativo

Guardando il percorso tracciato sulla mappa (vedi foto sopra) pare che le coordinate GPS registrate non fossero il vero problema, perché l’app aveva tacciato il percorso intrapreso dall'utente. Quindi, come stabilire quale delle due ipotesi rimaste fosse quella corretta?

Gli sviluppatori optarono per avviare un test di unità nell’app in modo da controllare il risultato del calcolo del dispositivo a partire da una distanza nota tra due coordinate. Ogni volta che il risultato era diverso da quello previsto, utilizzavano le funzionalità di Dynatrace per segnalare l'errore. In questo modo hanno potuto stabilire se si trattava di un problema del singolo utente o meno e quali fossero i dispositivi / sistemi operativi influenzati. Dopo un fine settimana la squadra di lavoro aveva raccolto un numero sufficiente di eventi che mostrano un errore come questo:

A questo punto l’ipotesi più valida era che il dispositivo avesse un impatto sul calcolo. Raggruppando tutti gli errori raccolti si capiva però che gli eventi erano equamente distribuiti tra i diversi produttori.

La causa non poteva essere il tipo di dispositivo. Tuttavia, raggruppandoli in base al sistema operativo la soluzione è diventata evidente.

Risultato: a partire da Android 4.1, alcuni dispositivi hanno un bug nel calcolo dell’interfaccia "distanceTo". Per la squadra Runtastic ciò significa purtroppo non si può fare nulla in quanto questa interfaccia è fornita dal sistema operativo. L’unica soluzione, per limitare il problema, è consigliare agli utenti di aggiornare il proprio sistema operativo quando si imbattono in questo problema.

Conclusione:
Per migliorare l'esperienza dell'utente per le applicazioni native di telefonia mobile, a volte si deve eseguire il test di unità in produzione. Solo in questo modo si può scoprire la varietà di dispositivi e sistemi operativi che permettono di identificare con precisione quale sia il problema. La soluzione di monitoraggio Real User deve essere in grado di supportare tali scenari. A volte, essere a conoscenza di un problema, anche se non è possibile risolverlo del tutto, aiuta comunque a migliorare l'esperienza dell'utente.

Link utili