Hace algún tiempo, con Bloom hemos estado trabajando junto al Núcleo de Accesibilidad e Inclusión de la PUCV en el desarrollo PICTOS, un servicio de navegación y evaluación para la accesibilidad cognitiva.
Herbert Spencer, uno de los investigadores que lidera el proyecto nos invitó a una clase de su Taller de Diseño de Interacción 2021 en la e[ad] para presentar a sus estudiantes sobre algunas de las decisiones técnicas y de arquitectura que tomamos en el proyecto y conversar sobre sus distintos componentes y relaciones.
Algunos puntos relevantes:
- Tomamos una aproximación “API First” para el desarrollo del servicio, ya que esto nos permitió centralizar todo el trabajo con los datos en una sola parte del proyecto y con esto, evitar trabajar por duplicado y organizar mejor el equipo de trabajo — tanto la aplicación cliente como la administración intercambian JSON con esa API.
- Presentamos las ventajas que nos hicieron decidirnos por una aplicación web progresiva en lugar de desarrollar aplicaciones nativas, entre ellas, la posibilidad de instalar una PWA con un ícono de acceso sin necesidad de descargar o acaparar espacio en el dispositivo de los usuarios, como también la disponibilidad de APIs para integrarse con el dispositivo, tales como geolocalización y capacidades de texto-a-voz.
- Les comentamos sobre el stack LEMP y sus distintos componentes: Linux, nginx, MySQL/MariaDB, PHP; y cómo su popularidad y compatibilidad con la plataforma disponible nos hicieron inclinarnos en su favor.
- En cuanto a frameworks utilizados, hablamos sobre Laravel y Vue y los múltiples criterios que sopesamos para seleccionarlos: popularidad, licencias, la calidad de su documentación y especialmente su enfoque en productividad y curvas de aprendizaje elevadas.
- También revisamos cómo están organizados los distintos repositorios del proyecto y sobre la publicación y gestión de dependencias como método para permitir la reutilización de los pictogramas.
- Finalmente, también planteamos algunas consideraciones importantes para la publicación de proyectos de código abierto, tales como la selección de licencia, y la importancia de la documentación para fomentar la participación.
Más información en: