L'Evoluzione delle Notifiche Email: Risparmiare Batteria con NotiMail

NotiMail

English version here

Da quando ho abbandonato BlackBerry anni fa, ho sempre cercato modi per mantenere i miei telefoni connessi ai miei account email. Mi piace ricevere email in tempo reale e, di conseguenza, ho sempre impiegato strumenti che mi permettono di ottenere notifiche immediate (o quasi) ogni volta che ricevo un messaggio.

Anni fa, utilizzavo persino le email come strumento di notifica per i miei server. Se un server diventava irraggiungibile, un'email mi avvisava e intervenivo immediatamente. Oggi, utilizzo anche altri sistemi (come bot di Telegram, Pushover, ntfy, ecc.), ma desidero ancora essere informato quando ricevo un nuovo messaggio.

Quando ho avuto il mio primo dispositivo Android (l'originale Android, l'HTC Dream), utilizzavo già IMAP IDLE, quindi il mio telefono era sempre connesso alla mia casella di posta. Con il passaggio ai primi iPhone, che non supportavano IMAP IDLE, sono passato a un'app chiamata PushMail. Questa app richiedeva di inviare copie delle email, dopodiché inviava notifiche mostrando mittente e oggetto. Non era l'ideale per la privacy, ma era efficace.

Negli anni successivi, sia con iPhone che con varie app email su Android, ho notato che i miei telefoni consumavano più batteria in modalità standby rispetto alla media. Indagando, ho scoperto che una parte significativa di questo consumo era legata alle attività in background dei miei account email. Il drenaggio energetico non era tanto legato al software, quanto all'attività di rete scatenata da qualsiasi evento nella mia casella di posta. Ad esempio, quando arriva un'email, il telefono la scarica e invia una notifica. Non controllo il telefono perché sono al computer, quindi apro l'email lì. In tempo reale, il telefono si attiva in background per segnare l'email come letta. Poi, se sposto l'email in una cartella, il telefono si attiva di nuovo per sincronizzare questa modifica.

Lo stesso processo avviene quando scrivo un'email sul mio computer. Ogni volta che il client email salva la bozza intermedia, il telefono si sveglia dal sonno per sincronizzare il messaggio. Una volta inviata, si sveglia di nuovo per rimuoverla dalle bozze e copiarla nella cartella degli inviati. Questo accade tutto il giorno, per ogni singola interazione.

Questo mi ha fatto ricordare PushMail e mi ha fatto rendere conto che non ho bisogno di tutta questa sincronizzazione continua. Tutto ciò che voglio è essere avvisato quando arriva un'email, sapendo chi l'ha inviata e di cosa tratta.

Con questo in mente, ho sviluppato NotiMail. Ho scelto di supportare più fornitori di notifiche, sebbene i miei test iniziali siano stati condotti con PushOver, che ho trovato efficiente sia su iPhone che su Android. Funziona esattamente come previsto.

Inoltre, ho compilato ntfy per FreeBSD. Ho anche generato chiavi Firebase e ricompilato l'app Android in modo da poter utilizzare il mio server sfruttando le notifiche push di Google. Questo aiuta a risparmiare ancora più batteria utilizzando la connessione dati sempre attiva ai server di Google. È un compromesso in termini di privacy, ma avevo bisogno di testare questo caso "estremo".

I risultati sono stati sorprendenti. Dopo alcuni giorni di utilizzo, ho osservato un risparmio medio giornaliero di batteria del 15% e anche un risparmio di dati variabile, ma notevole.

Sto anche testando, su un Pixel 7 con GrapheneOS, l'impatto dell'uso di notifiche push dirette con una connessione continua al mio server ntfy. È probabilmente meno efficiente in termini di batteria, ma risparmia tutti i dati associati alle operazioni della casella di posta.

In questo modo, che io abbia 1, 5 o 50 account email "connessi", non gravano sulla mia batteria (escludendo l'aumento delle notifiche, ovviamente).

NotiMail è disponibile qui: https://github.com/draga79/NotiMail

Commenti