Actualizado a 04 de septiembre 2008
Sincronización: Push Vs Obtener
Solemos usar servicios en línea, generalmente correo (GMail, Yahoo Mail, etc...), calendarios, contactos... información que manipulamos a través de internet. Con la llegada de dispositivos móviles con acceso a banda ancha, como el iPhone, se crea la necesidad de
acceder y disponer de la información a través del móvil, independientemente de que se tenga conexión a internet. Ello implica un sistema de sincronización que nos permita mantener una replica de la información en el teléfono y en internet, tal que aunque no dispongamos de una conexión a internet podamos acceder a dicha información.
Para ellos requerimos que la información a medida que es agregada, modificada y/o eliminada, se sincronice entre el origen y el destino (internet e iPhone), independientemente de si el origen se produce en un servidor de internet (Google, Yahoo, etc) o el iPhone. Si envío un correo desde mi iPhone usando una cuenta web (por ejemplo GMail) quiero que se refleje en el servidor de Google, y viceversa, si alguien me envía un correo a mi cuenta, quiero poderlo leer desde mi iPhone.
Con el iPhone podemos configurar tantas cuentas como deseemos (¿hay límites?) y cada cuenta, según el servicio que la ofrece, puede tener asociado servicios de correo electrónico, calendario y/o contactos. Podemos tener creada una cuenta de correo con el servicio de GMail mientras tenemos una cuenta de Yahoo para gestionar los eventos del calendario. La cuestión es como mantengo la información sincronizada entre mi iPhone y estos servicios.
Existen dos tecnologías usadas en el iPhone para mantener la información sincronizada:
Push (empujar) y
Fetch (obtener).
Obtener (Fetch)
Es el proceso por el cual el iPhone cada cierto intervalo de tiempo programado (o manualmente) consulta si hay cambios que requieren sincronizar, y si es así, procede a la sincronización. Este sistema tiene una clara desventaja: si cada x minutos el iPhone se ha de conectar a internet (ya sea mediante
3G,
Wi-Fi,
EDGE o
GPRS ) la
batería se va a resentir, y si no es mediante una conexión Wi-Fi y tu plan de datos tiene alguna restricción en cuanto a la cantidad de tráfico al mes, el consumo de dicha cuota mensual se alcanzará antes de lo esperado.
¿Te suena el término
POP en el correo? Es un claro ejemplo de lo que representa obtener. POP es un protocolo que te permite "obtener" el correo de un servidor el cual se programa para que se lance cada cierto tiempo y/o al iniciar la aplicación de correo electrónico.
Push (Empujar)
Es el proceso contrario a Obtener. Cuando se realiza un cambio en el servidor de internet donde alojas las información (por ejemplo Google Calendar), automáticamente enviará una orden a tu iPhone para que se sincronice, por tanto sólo se sincronizará cuando sea necesario. Por ejemplo, los sistemas de mensajería (el Messenger por ejemplo) usan el sistema push, no comprueban cada segundo si hay nuevos mensajes.
En resumidas cuentas, "Obtener" representa que eres tu el que pides (cada cierto tiempo o manualmente) "si hay algo nuevo", y "push" es un servidor de internet que te notifica cuando existe "algo nuevo". Entendemos como "algo nuevo" tanto un correo electrónico, un evento de agenda o una información de contactos.
¿Cuando usar Push y cuando Obtener?
No todos los servicios permiten el uso de la tecnología Push, por lo
que es normal que ambas se combinen. En el caso del correo, no todos
los servicios permiten recibir el correo vía Push (por ejemplo Yahoo
mail si lo permite). Puedo tener el correo sincronizado vía Push,
mientras que la agenda la tenga vía obtener. En cualquier caso, si
desactivas Push y pones Obtener a modo manual, no sincronizarás nunca
hasta que accedas a la aplicación en cuestión.
Si queremos que compruebe si tenemos nuevo correo cada x minutos, usaremos Obtener. Si queremos que nos avise al momento (siempre que las comunicaciones lo permitan), usaremos Push, y si queremos comprobarlo manualmente, ninguno de los dos.
Ventajas e inconvenientes
Push
- Ventaja: Recibes la información al momento, no requiere de sincronizaciones cada ciertos intervalos.
- Inconveniente: no todos los servicios admiten esta tecnología.
- Inconveniente: el servicio push puede ser de pago.
Obtener
- Inconveniente: La información se recibe cada vez que se comprueba (cada 15 minutos, 1 hora, manualmente, etc..)
- Inconveniente: Cuanto más comprobemos, más batería se gasta. Si configuramos que comprueba cada 15 minutos, la batería nos va a durar bien poco.
- Ventaja: Es compatible con la mayoría de servicios. (pop3/imap para el correo por ejemplo).
Recepción de datos vía Push
La información sincronizada mediante la tecnología Push se transfiere automáticamente a través de una
conexión inalámbrica, es decir, no se necesita conectar el iPhone al ordenador.
Si
no dispones de una conexión de telefonía móvil (3G, GPRS o EDGE), el iPhone podrá recibir
datos "push" a través de una conexión Wi-Fi cuando el iPhone esté
activo (es decir, cuando la pantalla esté activada o el iPhone esté
conectado al ordenador o a un adaptador de corriente). Por tanto prioriza las conexiones de telefonía frente a Wi-Fi.
Cuentas "Push"
Las cuentas
MobileMe,
Microsoft Exchange y
Yahoo! Mail (entre otras) son conocidas como cuentas de "push", es decir, cuando hay disponible nueva información, por ejemplo un nuevo correo electrónico, este se envía automáticamente al ordenador o al iPhone. (Recordemos que el caso contrario, obtener (fetch) requiere que el cliente de correo electrónico compruebe de forma periódica si ha llegado algún mensaje nuevo al proveedor del servicio y, después, solicitar su entrega.)
MobileMe y Exchange sincronizan los contactos, calendarios y favoritos (sólo MobileMe) de la misma manera. Por ejemplo, si añade un contacto a la agenda de su ordenador, este será transmitido de forma automática al iPhone, así como a cualquier otro ordenador o dispositivo configurado con el servicio.
Como configurar la sincronización
Suponemos que has creado alguna cuenta de correo (Ajustes->Mail, contactos y calendarios) ya sea de GMail, Yahoo mail, Exchange, Mobileme u otro tipo.
Desde el icono de Ajustes, accederemos a la opción
Obtener la cual nos presentara una pantalla con tres secciones:
- Push: aquí solo indicaremos si deseamos usar esta tecnología (no precisamos en que cuentas).
- Obtener: indicamos para aquellos servicios que no se hayan configurado (o no puedan hacerlo) en modo push, la frecuencia con la cual deseamos que el iPhone compruebe si hay novedades. Reiteramos, a mayor frecuencia (menor tiempo) mayor consumo de batería.
- Avanzadas: Es este apartado indicamos para cada una de las cuentas que tenemos configurados, el sistema que emplearemos para la sincronización, pudiendo elegir entre 3 opciones: obtener, manual y push (esta última sólo para los servicios que son compatibles con push).
Por ejemplo, si configuramos el correo mediante GMail, este funciona mediante IMAP, un protocolo que no permite el uso de Push. Sin embargo existen alternativas tanto gratuitas como de pago que nos permitirán usar Push con cualquier sistema de correo electrónico.
Tip: Si no has configurado ninguna cuenta para usar Push, es recomendable para el ahorro de batería desactivar la función Push (Ajustes->Obtener). Puedes consultar más consejos sobre el ahorro de batería en este
tutorial.
En mi opinión personal, dado que por el momento, GMail no ofrece correo "push", y Yahoo que se supone que lo ofrece no es que funcione muy bien, Exchange es "complejo" y Mobileme parece un "fiasco" que hay que pagar, hoy por hoy lo más fiable y sencillo es usar la sincronización a través de "Obtener".