Next Tech

¿Qué tal funciona tu app en modo offline?

3 Mins de lectura

¿Qué es el modo offline y por qué es importante? 

Internet está cada vez más presente en nuestras vidas y gracias a los smartphones estamos conectados en todo momento. Pese a todo, hay a veces en las que nos podemos quedar sin conexión: si estamos en un parking subterráneo, en el monte o hemos viajado a otro país y no tenemos tarifa de datos, por ejemplo.

Los usuarios de nuestras apps están acostumbrados a utilizarlas sin preocuparse. Enviamos Whatsapps o correos aunque no tengamos Internet porque sabemos que cuando volvamos a estar conectados la aplicación se encargará de enviar esa información.

 

¿Cómo puede ayudarnos que nuestras aplicaciones funcionen sin conexión?

En una aplicación en la que los técnicos registran incidencias sería muy recomendable que la información de los partes se pudiera rellenar aún si estamos sin señal. Así, aunque estuvieran trabajando en el sótano, podrían terminar todas sus tareas con la seguridad de que la información no se perdería.

Podemos ver otro ejemplo en una aplicación para aprender idiomas. ¿Realmente necesitamos conexión cada vez que queremos dar una lección? Si mantenemos actualizada la base de datos en el dispositivo del usuario, éste podrá aprender sin tener que estar online.

También podemos usar el modo offline como una «funcionalidad premium». En «Youtube» no podemos ver videos sin conexión, al contrario de lo que pasa con «Youtube Premium» . Es una funcionalidad tan interesante que muchos usuarios están dispuestos a pagar por ella.

Informando al usuario

Nuestros usuarios deben saber en todo momento qué está pasando en la app, debemos informarles si se pierde la conexión, qué pasará con ese mensaje que acaban de enviar offline o cuándo se actualizaron por última vez los datos que están viendo. Pongamos un ejemplo: entramos a la app de nuestra tienda de ropa favorita, vemos una prenda que nos gusta y hacemos un pedido offline de nuestra talla, que en ese momento está en stock. Horas después recuperamos la conexión y se intenta completar el pedido, pero ya se han vendido todas las existencias de nuestra talla. Tenemos que avisar al respecto al usuario.

Sincronizando datos offline

Dotar a nuestras apps de funcionalidades offline es muy beneficioso, pero también nos plantea algunos retos. Nuestro objetivo es identificar los usos offline de nuestra aplicación y decidir qué haremos con datos antiguos o que presentan conflictos. Vamos a verlo mejor con ejemplos:

Si estamos haciendo un chat en el que tenemos varias conversaciones, ¿Qué pasa si enviamos un mensaje offline a una conversación que cuando volvemos a tener conexión ya no existe? ¿Cómo funciona la app si el mismo usuario utiliza varios dispositivos?

¿Qué pasa si un técnico indica a las 14:00 que una tarea esta «completada» pero otro técnico la había «completado» a las 13:30? ¿Descartamos esa última información? ¿Qué fecha mostramos como «fecha completada», las 13:30 o las 14:00?

Si tenemos una aplicación como Google Docs y alguien borra un párrafo pero luego nosotros lo subrayamos (ya que en nuestra última versión offline todavía no estaba borrado), ¿Qué pasa? ¿Se queda el párrafo borrado, sin subrayar o subrayado?

Estas son decisiones que tenemos que tomar en base a nuestro negocio y nuestros intereses.

Añadiendo soporte offline a nuestras webs: PWAs

La principal tecnología que podemos utilizar son las PWAs de las que hemos hablado en otras ocasiones. La filosofía de las Progressive Web Applications gira entorno a la idea de construir una app básica que va utilizando progresivamente las funcionalidades disponibles, pero también funciona si éstas no están. Por ejemplo, en un marketplace podemos dejar que el usuario escriba su dirección y, además, dar la opción de usar la geolocalización.

Si el usuario tiene la ubicación activada y nos da permisos para leerla, perfecto. Cargamos esa dirección directamente. Si el usuario no tiene ubicación o no nos da permisos no pasa nada, sigue pudiendo utilizar el campo de texto para indicar la dirección.

Con el modo offline pasa lo mismo. Si el usuario no tiene internet podrá guardar este mensaje recién «enviado» en una cola y cuando vuelva a tener conexión se procesa  y se envía. Si el usuario tiene Internet el mensaje se enviará directamente.

Desarrollo de aplicaciones

Los usuarios se vuelven cada día más exigentes y no ven el modo offline como algo opcional, es una funcionalidad que esperan que esté disponible en sus apps.

 

Hiberus Mobile es el departamento específico dedicado al desarrollo de aplicaciones para dispositivos móviles. Ofrecemos soluciones a medida para todo tipo de plataformas: Android, iOS, aplicaciones híbridas, desarrollo multiplataforma, aplicaciones web, quioscos digitales, desarrollo de sistemas IOT, desarrollos en Alexa/Google… y creamos equipos dedicados para nuestros clientes a través de nuestros Agile Centers. Contáctanos para más información.

 

1 posts

Sobre el autor
Desarrollador frontend en el equipo de Retail de Hiberus. Trabajo con ReactJS y vivo en Asturias.
Artículos

Hiberus Mobile, desarrollo de aplicaciones para dispositivos móviles

Hiberus Mobile es el departamento específico dedicado al desarrollo de aplicaciones para dispositivos móviles. Abordamos el proceso completo, desde la conceptualización y desarrollo de la aplicación móvil hasta su implantación y mantenimiento, así como el asesoramiento para nuevas oportunidades de crecimiento.

¿Te ayudamos?

Artículos relacionados
Next Tech

Los estándares de calidad del software más importantes

6 Mins de lectura
El objetivo de todas las empresas y profesionales es ofrecer productos y servicios de calidad que se ajusten a las expectativas de…
DigitalNext Tech

Tipos de pruebas de software según la Pirámide de Cohn

4 Mins de lectura
Las pruebas son una parte integral del ciclo de vida del desarrollo de software (Software Development Lifecycle) y son la forma de…
Next Tech

Cómo aplicar las variables de ODI en el procesamiento de ficheros

6 Mins de lectura
Las variables de ODI (Oracle Data Integrator) se utilizan para manejar parámetros ETL (extracción, carga y transformación). Se trata de una característica muy…

Deja una respuesta

Tu dirección de correo electrónico no será publicada.