Soluciones de aplicaciones móviles
Una aplicación móvil no es una versión reducida de una interfaz de escritorio. Se espera que funcione cuando se corta la conexión, se agota la batería o las manos están ocupadas.
- Inicio
- /
- Soluciones
- /
- Aplicación móvil
Lo que suele determinar si una aplicación móvil es utilizable en campo no es el diseño de pantallas. Qué ocurre al perder la conexión, cuándo se sincronizan los datos y qué dispositivo prevalece cuando dos modifican el mismo registro resulta mucho más decisivo.
La plataforma y la tecnología de desarrollo se definen según el caso de uso. Una aplicación de campo que requiere acceso profundo al hardware del dispositivo y una aplicación centrada en mostrar datos no tienen la misma respuesta correcta.
Las aplicaciones que asumen la conexión como requisito previo terminan siendo inutilizables en el terreno.
¿Somos el interlocutor adecuado?
Una aplicación móvil no es la respuesta a toda necesidad. Si el usuario está sentado en su escritorio y el trabajo funciona en un navegador, una aplicación aparte solo añade carga de mantenimiento y versiones, sin aportar nada a cambio.
Sí, hablemos
- El trabajo se realiza en campo, de pie y a menudo con una sola mano
- Se necesita acceso al hardware del dispositivo, como cámara, ubicación, código de barras o NFC
- Debe poder registrarse información incluso donde no hay conexión
No, alguien más lo hace mejor
- La aplicación solo reduciría una interfaz web ya existente
- El número de usuarios y la frecuencia de uso no justifican la carga de tienda y versiones
- La verdadera necesidad es el reporting, y suele resolverse de forma más económica del lado web
Qué hacemos
- Elección de plataforma y tecnología según el caso de uso
- Funcionamiento sin conexión y almacenamiento local de datos
- Sincronización de datos y resolución de conflictos
- Diseño de API del lado del servidor
- Acceso al hardware del dispositivo — cámara, ubicación, código de barras, NFC, Bluetooth
- Infraestructura de notificaciones push
- Diseño de usabilidad para condiciones de campo
- Publicación en tiendas de aplicaciones y gestión de versiones
Cómo procedemos
Casos de uso
Determinamos dónde, en qué condiciones y con qué frecuencia se usará la aplicación. Las condiciones de campo definen desde el inicio la mayoría de las decisiones de interfaz.
Diseño del flujo de datos
Aquí decidimos qué datos permanecen en el dispositivo, cuándo se sincronizan y cómo se resuelven los conflictos.
Contrato de API
Escribimos la interfaz del lado del servidor antes de comenzar el desarrollo de la aplicación. Así ambos equipos avanzan en paralelo.
Desarrollo y prueba en campo
Probamos la aplicación en dispositivos reales y en condiciones de uso reales. No consideramos suficientes las pruebas en emulador por sí solas.
Publicación y versiones
Gestionamos los trámites de las tiendas de aplicaciones y definimos la política de versiones junto con usted. Mantenemos la compatibilidad de versiones anteriores con el servidor durante un período de transición.
Nuestras decisiones técnicas
- La aplicación se diseña para seguir siendo útil incluso sin conexión de red. El personal de campo puede registrar datos donde no hay conexión, y estos se sincronizan en cuanto vuelve a haberla. Las aplicaciones que asumen la conexión como requisito previo terminan siendo inutilizables en el terreno.
- Qué ocurre cuando dos dispositivos modifican el mismo registro se decide en la fase de diseño. Si esa regla se añade más tarde, parte de los datos acumulados hasta entonces ya se ha vuelto inconsistente.
- No todos los usuarios actualizan la aplicación al mismo tiempo. La interfaz del servidor se desarrolla para mantener funcionando las versiones anteriores; de lo contrario, los usuarios que no actualizan quedan fuera del sistema.
- El seguimiento de ubicación, la sincronización en segundo plano y la frecuencia de notificaciones se ajustan teniendo en cuenta la duración de la batería. Una aplicación que consume la batería rápido termina siendo desactivada por el usuario, aunque funcione correctamente en lo técnico.