Sin conexión

Todo nuestro software móvil debería funcionar sin conexión, y lo sabes.

Siempre conectados

Desarrollamos muchas aplicaciones que comparten una arquitectura similar. Un servidor, con su muy al día API RESTful, mantiene algunos recursos de interés. Una app nativa solicita y pinta maravillosamente la información obtenida a través de la API, y entonces el usuario puede navegar por ella y actualizarla… siempre y cuando el servidor siga disponible. Cualquier cambio que el usuario haga se envía inmediatamente al servidor y nuestra alegre aplicación simplemente espera a que la operación se complete y dibuja otra vez la información actualizada en la pantalla.

Apps ligeras por todas partes. Navegadores web dedicados.

Estamos cómodos con esta aproximación porque en nuestras oficinas, con Internet de banda ancha y acceso WiFi permanente, el peor problema de red que podemos encontrar es convencer a nuestros compañeros de que desactiven la alta resolución en Youtube. Paco, cuando vuelvas a casa ya disfrutarás del Full HD. Al día siguiente lo mismo, y el mundo sigue girando.

¿Siempre conectados?

El Mundo Real™ no funciona así para nuestros usuarios. Hay multitud de puntos de acceso de mala calidad en hoteles, parques y aeropuertos; montones de vecindarios sin señal 4G o incluso 3G; páramos enteros sin ningún tipo de cobertura de radio. La vida está llena de espacios abiertos donde tu dispositivo A-GPS no localizará ni un solo Pokémon, ni siquiera un maldito Zubat.

Always connected?

Tan acostumbrados estamos a la comodidad de nuestra vida friki que ignoramos alegremente las restricciones de fábricas, bancos, y tantos tipos de organizaciones donde el acceso a la red no es un derecho, sino un raro privilegio. Hasta que conseguimos un proyecto en una de ellas. O peor, hasta que tenemos que desplegar en una de ellas.

Por no mencionar las limitaciones de los planes de datos. En serio, no hurguemos en esa herida.

Las expectativas de los usuarios sobre nuestro software móvil incluyen que simplemente funcione, donde quiera que vayan, cuando quieran que vayan. Usar una caché local es una solución simple para seguir mostrando información mientras estamos sin conexión, pero no es suficiente para garantizar el funcionamiento cuando necesitamos recopilar datos sobre la marcha.

Seamos serios: el hombre llegó a la Luna en un cohete controlado por un procesador más lento que una Gameboy, ¿por qué no podemos hacer nuestras tareas en un iDroid 3000 que ejecuta sin esfuerzo el GTA 10? ¿Por qué no pueden los datos nuevos y las operaciones pendientes sincronizarse en silencio con el servidor de la compañía sin que nos vibre el bolsillo reclamando nuestra atención cuando vamos al servicio?

¿Cuándo vamos a arreglar esto?

Los desarrolladores de verdad lo hacen sin conexión

La verdadera movilidad requiere independencia de la red.Sin conexión

La verdadera movilidad requiere independencia de la red.

La verdadera movilidad requiere independencia de la red.

Eso no ha sido un error, sino un mantra. Necesitamos aprender este principio, asimilarlo y llevarlo al corazón de nuestro desarrollo móvil.

Hagamos que ocurra, gestionémoslo. Usemos toda la capacidad de nuestros móviles, pongámosla al servicio de los usuarios y dejémosles volar en sus smartphones. Hagamos de sus dispositivos móviles los nuevos PC, los auténticos PC, los Most Personal Computer (Ordenadores Más Personales) jamás existentes. Cojamos un trozo de la nube y llevémosla siempre en nuestras mochilas.

Volvamos a pensar nuestras apps, a ordenar nuestros flujos de trabajo, reescribamos nuestro código.

Y empecemos aquí mismo, en este blog.

Deja un comentario

¿Necesitas una estimación?

Calcula ahora

Centro de preferencias de privacidad

Cookies propias

__unam, gdpr 1P_JAR, DV, NID, _icl_current_language

Cookies de analítica

Estas cookies nos ayudan a comprender cómo los usuarios interactúan con nuestra página web.

_ga, _gat_UA-42883984-1, _gid, _hjIncludedInSample,

Cookies de suscripción

Estas cookies se utilizan para ejecutar funciones de la Web, como no mostrar el banner publicitario y / o recordar la configuración del usuario dentro de la sesión.

tl_3832_3832_2 tl_5886_5886_12 tve_leads_unique

Otra