Ayudamos a un líder tecnológico a crear una aplicación de salud automatizada
Evrone tiene como objetivo el uso de tecnologías de eficacia demostrada para completar complicados proyectos de alto rendimiento para grandes empresas y ayudar a las empresas emergentes a lanzar rápidamente sus productos. Nuestros ingenieros están al tanto de los últimos avances en tecnología y aplican aquellas innovaciones que ofrecen los resultados más convincentes. Este método llevó a Evrone a expandir nuestra pila tecnológica para incluir el lenguaje de programación Dart y el marco de Flutter, y usamos ambos en el desarrollo de una aplicación móvil de salud para nuestro cliente.
El reto
El cliente de Evrone, David Weekly, es un veterano de Silicon Valley experto en tecnología. Posee más de 5 años de experiencia técnica como líder de gestión de productos en Google y Facebook, es asesor galardonado para empresas emergentes, y fundador y miembro del consejo de Hacker Dojo. Inspirado por su propia experiencia personal, encargó el desarrollo de una aplicación para mejorar la calidad de las interacciones entre médico y paciente.
Cuando el padre de Weekly sufrió una enfermedad grave, su familia recibió un aluvión de información sobre las distintas opciones de tratamientos disponibles. Al igual que muchos pacientes y sus familiares, a la familia de Weekly le resultó complicado procesar todos los detalles y recomendaciones de los tratamientos, así como transmitirlos de forma precisa al resto de los miembros de la familia. Preocupados por si acaso perdían datos importantes, empezaron a registrar las conversaciones que tenían con los médicos. A continuación, enviaban por correo electrónico las grabaciones a los miembros de la familia con el fin de tomar una decisión sobre el tratamiento. Este método de equipo de asistencia familiar demostró ser extraordinariamente eficiente. Así que a Weekly se le ocurrió una idea que, con la ayuda del equipo de ingeniería de Evrone, se convertiría en Medcorder, una aplicación diseñada para automatizar los métodos usados por la familia de Weekly.
La solución
Evrone desarrolló el concepto de Medcorder, su diseño y un producto mínimo viable. Como experimentado líder tecnológico, el cliente tenía claro que quería crear la aplicación con la pila de Google (Google Cloud, Google Firebase, Google Cloud Storage y Google Speech-to-Text), complementada con un innovador marco multiplataforma para el desarrollo de aplicaciones móviles: Google Flutter. El equipo de Evrone posee amplia experiencia en el desarrollo con React Native y estaba entusiasmado con la idea de crear un producto con un marco multiplataforma. El cliente hizo especial hincapié en la importancia de una rápida adaptación y flexibilidad en relación con los cambios, por lo que un marco como este era justo lo que necesitaban.
Aprender a usar Flutter
Flutter es un SDK de código abierto diseñado por Google para el desarrollo de aplicaciones de Android y iOS. Usa el lenguaje de programación Dart, que se compila en código binario específico de cada plataforma para garantizar un alto rendimiento de todas las aplicaciones desarrolladas. Al iniciar el proyecto de Medcorder, Flutter aún estaba en la fase prealfa. Esto implicó determinados riesgos y retos, pero Evrone estaba comprometido a probar esta nueva tecnología y dar vida a la idea.
A medida que el proyecto progresaba, Flutter creció y cambió de una forma muy dinámica. Mantener el kit de herramientas actualizado acabó por convertirse en una auténtica proeza. Por suerte, el objetivo de los ingenieros de Google era conseguir que la curva de aprendizaje de la plataforma fuera gradual y proporcionó a los desarrolladores documentación extensa y una amplia variedad de recursos. La documentación cuenta con secciones específicas donde los usuarios pueden conocer los conceptos básicos de la plataforma de una manera adaptada a su área de conocimientos concreta.
Interfaz y marco
Flutter admite dos opciones básicas de forma predefinida: los widgets de Material Design y los widgets de Cupertino (widgets al estilo de iOS), y los usuarios siempre pueden desarrollar una interfaz de usuario personalizada. El equipo de Evrone usó la opción de Material Design como punto de referencia para desarrollar una interfaz de usuario personalizada para Medcorder. Nos dimos cuenta de que, a no ser que los desarrolladores se centren en aspectos secundarios como el desplazamiento personalizado, el desarrollo de la interfaz de usuario es rápido con este marco. Como Flutter es un marco de código abierto, ya existe un número creciente de soluciones listas para usar en cualquier proyecto. Sin embargo, en el momento en que realizamos el desarrollo de Medcorder, no había complementos listos para usar para la grabación y reproducción de audio. Así que al cliente se le ocurrió la idea de desarrollar el complemento de grabación de audio como una contribución de código abierto y Evrone lo creó mediante Objective C para iOS y Java para Android. El complemento de audio personalizado ahora está disponible públicamente.
Ventajas de usar Flutter
Basándonos en nuestra experiencia, Evrone recomienda usar Flutter en empresas emergentes para productos mínimos viables en los que sea imprescindible determinar la viabilidad del modelo de negocio. Las opciones de diseño están limitadas si los desarrolladores solo usan las predeterminadas (Material Design o widgets de Cupertino). Sin embargo, Flutter permite experimentar fácilmente con la interfaz, por lo que se invierte menos tiempo en soluciones sin futuro. Además, Flutter también proporciona lo siguiente:
- Mayor velocidad de las aplicaciones gracias al renderizado de alta velocidad ofrecido por Google.
- Una única base de código para iOS y Android, por lo que se elimina la necesidad de realizar las mismas modificaciones dos veces.
- Interfaces idénticas en Android y iOS, por lo que no es necesario realizar pruebas separadas en escenarios de usuario para cada plataforma. Sin embargo, también pueden crearse interfaces distintas para cada plataforma.
- Integración sencilla de las aplicaciones con Servicios de Google Play y Google Cloud.
- Herramientas avanzadas basadas en Android Studio y Visual Studio Code, así como extensa documentación.
Al igual que otras herramientas multiplataforma, Flutter no gestiona tareas específicas del sistema, como la administración de contactos, Bluetooth, ajustes de sonido o mensajes de texto. Es necesario usar complementos externos o desarrollarlos para estas tareas. Sin embargo, la comunidad de desarrolladores que usa Flutter es cada vez mayor y continuamente se publican proyectos de código abierto, así que seguro que muchas de estas tareas podrán realizarse próximamente.
Solución de problemas
Mientras Medcorder estaba en desarrollo, Flutter pasó de la versión prealfa a la versión lanzamiento estable y, finalmente, vio la luz a principios de diciembre de 2018. Las actualizaciones a las versiones más recientes del kit de herramientas fueron complicadas, pero la amplia experiencia de Evrone en el desarrollo de aplicaciones móviles nativas resultó muy útil. Solucionar determinadas dependencias hubiera sido imposible sin conocer bien Gradle para Android y CocoaPods para iOS. Sin embargo, a medida que se publicaron nuevos módulos y complementos, los problemas resultaron más fáciles de solucionar.
Fases de desarrollo
El equipo de Evrone desarrolló varias iteraciones de Medcorder, primero para idear un diseño y, después, para crear la aplicación y la arquitectura sin servidor de back-end. Algunas de las iteraciones se publicaron debido a las frecuentes actualizaciones de Flutter a medida que crecía el marco. El primer producto mínimo viable se parecía a un bloc de notas inteligente que permitía al usuario grabar el audio de la visita a un médico, obtener una transcripción de la conversación, añadir notas y comentarios, y adjuntar fotos de los resultados de las pruebas. Después, se determinó que los equipos de asistencia serían los usuarios más indicados de la aplicación, por lo que se añadió una función social, así como una nueva identidad y diseño que permitió a los usuarios chatear desde la aplicación.
El resultado final
Después de varias iteraciones y adiciones, Medcorder se transformó en una plataforma para la interacción entre el paciente, el médico y los familiares del paciente. En junio de 2018, la aplicación se publicó como un recurso gratuito que podía descargarse y usarse. Medcorder tuvo tal éxito que el cliente dejó su trabajo con Google para centrarse en el desarrollo de la aplicación y obtuvo fondos importantes para el proyecto con una ronda de financiación de 2,5 millones de dólares. Una crisis sanitaria puede ser difícil para los pacientes y sus familiares, pero Medcorder facilita el proceso al ayudar a los pacientes y sus equipos de asistencia a comprender mejor las opciones de tratamientos y tomar decisiones más fundamentadas.
Evrone ha demostrado ser un importante aliado para las empresas emergentes que quieren hacer realidad rápidamente sus ideas. El equipo de Evrone usa las soluciones tecnológicas más eficaces para convertir la visión del cliente en un producto mínimo viable funcional, acortando el plazo de comercialización y ofreciendo una importante oportunidad para determinar el público más adecuado para el producto. Haga clic aquí para conocer lo que Evrone puede hacer para garantizar el éxito de su empresa emergente.