Ho contestato in questo post il fatto che configurare Android per ricevere le mail via MS Exchange Active Sync faccia risparmiare batteria.
Mi è stato chiesto di aprire un nuovo thread argomentando la questione, ad uso di chi non segue, per mancanza di interesse, quella discussione, ma è allo stesso tempo interessato a capire i meccanismi.
Cerco anche di spiegarmi in maniera un po' piú esaustiva.
Esistono, al momento, due modi di ricevere la posta elettronica. Uno è noto come polling e uno come push.
Il polling è il modo piú tradizionale. Il server di posta del proprio fornitore di servizi (ad esempio Gmail) riceve le e-mail e le mette in un vassoio ("poll"). Il client (ovvero il programma di posta elettronica) ogni tanto si connette al server, chiede se c'è posta nel vassoio, e se c'è la ritira (o comunque segnala all'utente la presenza di posta e gli permette di leggerla).
Il protocollo, ovvero il linguaggio con cui il client interroga il server, che permette tradizionalmente questo si chiama POP3. Anche il protocollo IMAP si comporta in maniera analoga, ma è impreciso dire che sia esattamente un sistema di polling, pur non essendo esattamente un sistema push.
Il push è invece qualcosa di molto diverso, pensato soprattutto per i dispositivi palmari o comunque mobili, in modo da utilizzare la posta elettronica con la stessa logica degli SMS.
In un sistema push, il client si collega al server, e resta collegato, in ascolto. Quando il server riceve una e-mail, invece di metterla nel vassoio, la invia direttamente al client, tramite quella connessione, e il client la comunica a sua volta all'utente.
La storia del push è legata molto alle varie aziende che lo hanno introdotto nei loro dispositivi, e non è mai esistito quindi un protocollo univoco standardizzato.
Il primo molto diffuso è stato il BlackBerry, della RIM, proprietario. La RIM produce sia il lato client (telefoni e pager evoluti BlackBerry), sia il lato server (fornendo servizi e vendendo il BlackBerry Enterprise Server).
Anche Apple ha il suo sistema di push, di cui produce sia il lato server (fornendo però solo servizi, senza fornire hardware) che il lato client (iPhone), chiamato MobileMe.
Il protocollo probabilmente piú diffuso, per motivi puramente legati alla diffusione del server tra le aziende, è Microsoft Exchange ActiveSync. La Microsoft ne produce il lato client (Microsoft Outlook) e il lato server (Microsoft Exchange Enterprise Server). Data la sua enorme diffusione in ambito aziendale, sono stati scritti moltissimi software client compatibili, sia per telefoni cellulari, sia per PC (penso ad esempio ad Evolution su linux). Questa grande disponibilità di software compatibile lo rende uno standard de facto.
Un protocollo non piú molto diffuso, ma degno di nota perché tra le pochissime proposte Open, è il SyncML della Nokia. Ideato per fornire uno standard unico, ha avuto ben poco successo.
Infine, c'è il GoogleSync, il protocollo ideato da Google per sincronizzare la posta elettronica, il calendario e tutti i vari servizi Google.
Tutti questi protocolli supportano la sincronizzazione di posta, contatti e calendario.
Veniamo alla situazione di Google.
Google fornisce sia servizi server di posta elettronica, sia servizi client.
I primi sono incarnati in Gmail. I server Gmail rispondono a richieste fatte tramite i protocolli polling (o quasi) POP3 e IMAP, e tramite i protocolli push GoogleSync e Microsoft Exchange ActiveSync. Il supporto al secondo è stato aggiunto per permettere a tutti i dispositivi non Google di poter ricevere la posta in modalità push, poiché quasi tutti i dispositivi che supportano il push supportano anche ActiveSync. Il fatto che esista questo supporto NON significa che Gmail sia basato su Exchange, ovvero utilizzi il lato server di Exchange (l'Enterprise Server). Semplicemente, sa comprendere e parlare la stessa lingua parlata dal sistema Microsoft.
I secondi sono incarnati nei dispositivi Android. Android supporta nativamente, ovvero senza la necessità di installare software aggiuntivo, sia GoogleSync, sia ActiveSync. Il primo serve ovviamente ad interfacciarsi con i servizi Google (supporta ben piú di posta, contatti e calendario) e il secondo serve per tutti quegli utenti che abbiano necessità di interfacciarsi con i server Microsoft (soprattutto per i dipendenti di aziende che utilizzino l'Enterprise Server).
Fatta tutta questa super-premessa, in cui spero di essere stato chiaro e spero (ma non credo) di non essere stato mortalmente noioso, veniamo alla contestazione in questione.
1) È certamente vero che, con il nostro telefono Android, ci si può collegare via Exchange ActiveSync a Gmail. Entrambi sanno parlare in ActiveSync. È però assolutamente falso che Exchange ActiveSync sia push e GoogleSync no.
2) È falso anche affermare che collegandosi tramite ActiveSync si consumi meno. Il consumo è sostanzialmente lo stesso.
3) Premesso che in quell'articolo si confrontavano due protocolli push credendo che uno fosse polling, è in ogni caso falso pensare che il push consumi meno del polling. In un sistema polling, il client si collega ogni tanto al server, consumando sensibilmente meno (a meno che la distanza temporale tra i due collegamenti non sia minuscola) di un client push che rimane COSTANTEMENTE connesso al server, che altrimenti non saprebbe come raggiungerlo.
Spero di essere stato chiaro e non troppo noioso, e soprattutto utile.