La continuación, compartiendo datos – Ekaitz Zárraga – Periodo: Julio – Diciembre 2018
Tal y como dije en el post anterior, mi trabajo en esta residencia es «hacer una aplicación para compartir datos».
En este momento ese objetivo está cumplido sin lugar a dudas. Ahora lo que hace falta probar es si se ha cumplido según las pautas marcadas en su momento.
La aplicación es completamente funcional pero, ahora mismo, necesito recibir las opiniones de Gorka (Urbanbat) y Paula (Sarean) para saber si es necesario hacer algún cambio y, también, para enriquecer la aplicación gracias a su experiencia como usuarios.
Trabajo, el pasado
Según mi criterio, la aplicación cumple con las condiciones mínimas, pero puede ser que algo se me haya pasado.
Siguiendo lo que se comentó en el artículo anterior:
1. Tendrá roles diferentes: Editor, Administrador y Lector:
En este momento los tres roles están en marcha.
Lector: Sólo puede ver los contactos.
Editor: Puede leer, editar, crear y borrar contactos.
Administrador: Además de tener los permisos de un editor, también puede crear, eliminar y editar usuarios.
Pantalla de usuarios. Los nombres y los emails son fruto de mi desorbitada creatividad
2. La aplicación tiene que ser bonita. Pero no hortera:
Este punto es realmente difícil de conseguir y no puedo tener realmente claro si se ha conseguido. Que las imágenes adjuntadas sirvan para que el lector se forme una opinión al respecto. Por mi parte, a pesar de no ser un experto, he hecho lo que estaba en mi mano y estoy bastante contento con el resultado hasta el momento.
3. Debe ser flexible para permitir añadir nuevos tipos de contacto en el futuro:
Este punto ha complicado el diseño bastante ya que es muy difícil crear software sencillo y flexible al mismo tiempo. Para poder cumplir este punto muchas cosas se han dejado en manos del usuario. Por ejemplo, las categorías que se pueden ver en la foto del apartado de contactos son completamente configurables y se pueden añadir y borrar de forma sencilla sin complicar el diseño en exceso.
Pantalla de contactos. Los nombres, como es lógico, se han borrado para respetar la privacidad de las personas que los utilizan para identificarse
Por otro lado, he mediante un pequeño script en Python he volcado los datos a la aplicación partiendo de los datos que se me entregaron en Google Docs.
Más que entrar en detalles técnicos, en este momento me parece más importante explicar el impacto que mi filosofía de trabajo ha tenido en el diseño:
Para empezar, considero fundamental que la aplicación no consuma muchos recursos. Esto encaja con mi visión sobre la soberanía tecnológica, que entiende que todo el mundo no es capaz de contratar o comprar equipos potentes donde ejecutar sus aplicaciones. En este momento la aplicación está en funcionamiento, junto a otras aplicaciones, en un servidor de poca potencia que tengo contratado y funciona sin problemas.
Por otro lado, mi pensamiento es que la aplicación ha de ser sencilla de ejecutar y de mantener. Para eso elegí utilizar el lenguaje de programación Clojure, en concreto con el framework Luminus, ya que una vez compilado el programa se ejecuta con un simple comando. Además, la elección de SQLite para la base de datos simplifica aún más la gestión: no es necesario disponer de más servicios y hacer copias de seguridad es tan simple como copiar un fichero.
Seguramente, estas elecciones no son adecuadas en otros entornos. En entornos con muchos usuarios, muchas consultas o grandes cantidades de datos esta aplicación tendría problemas para funcionar. Por suerte, nuestra base de datos actualmente no supera los 60 kiloBytes y no creo que crezca en exceso, los usuarios se limitan a los miembros de Wikitoki y Sarean y los contactos no son un tipo de dato que se consulte con demasiada frecuencia.
Al fin y al cabo, todas las decisiones que tomamos tienen una parte mala y una buena y es nuestra responsabilidad elegir con cuales nos queremos quedar.
¿Y mi opinión personal?
Haciendo referencia a lo mencionado en el artículo anterior, he aprendido mucho con este proyecto. He creado algo que nunca antes había hecho utilizando tecnologías que nunca había utilizado. Al fin y al cabo, a pesar de que no era estrictamente necesario en este proyecto, mi trabajo diario como ingeniero de I+D se basa exactamente en eso.
Como dije en el post anterior, publicar la aplicación como software libre también me alegra sobremanera, esto significa que cualquiera puede tener su propio Wikilist (así le llamé en un alarde de creatividad).
Tengo claro que la aplicación puede mejorarse, pero de momento estoy bastante contento con el trabajo realizado y espero que la aplicación sea útil para Wikitoki una vez esté terminada y en marcha.
Trabajo, el futuro
En lo que al futuro se refiere, después de recibir opiniones y comentarios será momento de hacer cambios. Al acabar todo escribiré un pequeño manual de usuario y pondremos en marcha la aplicación en los servidores de Wikitoki.
Puede que cuando todo esté terminado sea un buen momento para escribir un post. Ya veremos.
Un fuerte abrazo,
Ekaitz