Immuni App, tutte le risposte alle domande degli italiani

giu 16, 2020

Direttamente dagli sviluppatori del software per Android e iOS messo a punto per tracciare i contagi da nuovo Coronavirus.

Immuni-App-tutte-le-risposte-alle-domande
Dalla giornata di ieri, Immuni è attiva e funzionante in tutta Italia, con il download effettuato da oltre 2,5 milioni di utenti nei rispettivi store di Google e Apple.

E sempre nella giornata di ieri, sviluppatori di Bending Spoons, la startup italiana che ha programmato l'app scelta da nostro Governo, si sono messi a disposizione su Reddit per rispondere a qualsiasi tipologia di domanda da parte degli utenti italiani su Immuni App.
Siamo Bending Spoons e abbiamo sviluppato l'app Immuni
Ciao a tutti!
Siamo Paride, Gabriele, Juste e Luca del team di Bending Spoons. Ci siamo occupati della progettazione e dello sviluppo di Immuni, l'app di notifiche di esposizione del Governo Italiano. 
Siamo stati sommersi di lavoro nell'ultimo periodo per cercare di lanciare l'app il prima possibile. Non abbiamo trovato finora il tempo da dedicare ad un AMAA, anche se ci abbiamo pensato sin dall'inizio. Ma ora eccoci qua! 
Prima di iniziare, vorremmo precisare che non potremo rispondere a proprio tutte le domande. Per esempio, non entreremo nel merito di decisioni che spettano al Governo. Però possiamo parlare del nostro lavoro sul progetto, spiegare meglio informazioni già di pubblico dominio, raccontarvi del nostro business e, più in generale, soddisfare qualche curiosità.
Gli interventi sono stati quasi 450 e gli argomenti trattati sono stati i più svariati, tecnici e non. Un paio di esempi:
Chi e come ha deciso i parametri da dare al framework per stimare il fattore di rischio?

La scelta è del Ministero per la Salute. Perché un utente venga notificato l'esposizione deve essere avvenuta a una distanza inferiore ai 2 metri per un tempo superiore ai 15 minuti.

Gli smartphone non possono misurare direttamente la distanza a cui avviene un contatto. Quindi, Immuni usa l'attenuazione del segnale Bluetooth Low Energy per ricavarne una stima. I nostri data scientist hanno eseguito svariati test di calibrazione per rendere questa stima la più affidabile possibile. Siamo anche in continuo dialogo con i gruppi di altri Paesi per imparare gli uni dagli altri e migliorare il risultato finale a beneficio di tutti. I parametri al momento in uso sono quelli che, in base ai nostri test, garantiscono la stima mediamente più corretta relativamente alla soglia dei 2 metri di cui sopra.

È importante precisare che il segnale Bluetooth Low Energy è molto influenzato da vari fattori di disturbo, per esempio gli ostacoli (in primis i corpi degli utenti) che si frappongono fra i due smartphone. Quindi non è realistico pensare di non avere “falsi positivi” e “falsi negativi”. La calibrazione attuale è stata fatta in condizioni realistiche (per esempio, con gli smartphone in mano al tester o in tasca dello stesso). Peraltro, la calibrazione è in continuo divenire, man mano che facciamo altri test e Apple e Google proseguono col perfezionamento della calibrazione delle potenze del segnale Bluetooth Low Energy per i vari modelli di smartphone (Immuni ne supporta oltre 10.000).

Complimenti per il vostro lavoro. 💪Svolgo analisi su progetti mobile business critical e coordino un team da 10 anni, conosco le complessità e so che non è affatto facile produrre qualche cosa con molti occhi (spesso eccessivamente critici) addosso.

Di privacy, codice sorgente aperto e temi simili si è parlato fin troppo, spesso a sproposito IMHO. Le mie domande vertono su "criticità tecniche".

Domanda 1: le app mobile "standard" integrano strumenti di debug e analytics remoto che permettono ai dev di monitorare la stabilità, performance, ecc. (Firebase Crashlytics, Google Analytics, Stack ELK, ecc) attraverso la raccolta dei dati. Su Immuni non avete potuto usare nulla di ciò. Come gestite quindi le attività di controllo funzionamento post go live?

Domanda 2: i device Android adottano politiche aggressive per l'ottimizzazione della batteria (vedi Huawei e Samsung). Quando GPS o Bluetooth sono attivi in background le cose si fanno ancora più complicate. Tutta questa parte è stata gestita interamente a livello di sistema operativo grazie all'aggiornamento dei Play Services? Perchè nel vostro codice non c'è traccia.

Lorenzo: Siamo soliti utilizzare differenti librerie di terze parti e librerie interne per le analisi delle performance delle nostre app. Firebase Crashlytics è una di queste, ma abbiamo usato Splunk Mint in passato e usiamo correntemente Sentry, Bugsnag e altre (non farmi fare il listone). Per Immuni abbiamo deciso di togliere tutte le librerie non strettamente necessarie dall'app, quindi non abbiamo librerie per collezionare i crash. La risposta più onesta è che brancoliamo un po' più nel buio del solito. In ogni caso App Store Connect dice che il crash rate è <0 .001, quindi siamo piuttosto tranquilli.

Marco: Le Exposure Notifications sono implementate a livello di Google Play Services e quindi non sono soggette a essere terminate dal sistema operativo, come invece accade per le app. Questo garantisce che lo scambio di pacchetti Bluetooth avvenga sempre, anche quando l’app non è attiva. È tuttavia importante che l’app si risvegli periodicamente per controllare un possibile rischio di contagio e nel caso avvisare l’utente con una notifica. Per questo Immuni utilizza WorkManager che, grazie a un database locale, garantisce la corretta esecuzione di questi task periodici. Nonostante tutte queste accortezze, come è giustamente menzionato nella domanda, alcuni modelli di dispositivi adottano politiche aggressive e non conformi agli standard Android che potrebbero compromettere l’esecuzione di questi task in background. Google e i vari produttori sono al lavoro per risolvere il problema e quindi siamo ottimisti. Incrociamo le dita!

Potete leggere tutte le risposte alle domande degli utenti su Immuni App puntando a questo indirizzo.
Articolo di HTNovo
Creative Commons License

Modulo di contatto

Archivio