Esta publicación va dirigida a todas las personas interesadas en conocer un poco más sobre los motivos y el proceso de la creación de las apps para el sitio, así como algunos datos técnicos de las herramientas utilizadas y cuál es mi propuesta de hoja de ruta para el proyecto.
En principio
Desde la creación de los primeros tutoriales para descargar el repositorio en el celular, me nació la inquietud de poder crear alguna manera más directa para que las personas pudieran escuchar las radios. Al principio pensé en que tal vez se podría hacer un fork de Transistor (una app de F-Droid que uso para escuchar las radios) e incluir el repositorio en esta. Estuve leyendo documentación y estudiando un poco sobre el desarrollo en Android, pero me parecía que todavía era muy avanzado para mí, así que desistí y pensé en dejarlo para otra ocasión.
Luego, mientras estaba haciendo la actualización del sitio web, estaba trabajando en el reproductor de la radio en un servidor local y se me ocurrió subirlo como una prueba al servidor oficial, para ver que todo funcionara correctamente. Ahí me di cuenta de que un puñado de radios no se escuchaban; al revisar la consola del navegador noté que eran específicamente las HTTP y caí en cuenta de algo que ya sabía pero había olvidado: el bloqueo del contenido mixto.
Por eso pensé: ¿Y si hubiera alguna manera de que las personas escucharan las radios localmente, como lo hago yo en mi servidor local? Y ahí fue cuando recordé que hace un tiempo había hecho una web app simple en Electron para revisar los comentarios subidos a una base de datos de manera más cómoda. Entonces fue cuando decidí que era hora de trasladar esa idea al proyecto de Voces Resonantes.
Sobre el desarrollo
Como en el proyecto también quería incluir Android, me puse a investigar si había una manera similar de generar una app a partir de código web como lo hace Electron Builder pero en Android, y encontré dos opciones: Cordova y Capacitor. En cuanto a PC, quise buscar otras alternativas y encontré que en muchos sitios recomendaban Tauri sobre Electron en cuanto a ahorro de espacios và recursos del procesador, así que decidí darle una oportunidad.
Mi experiencia con Tauri en cuanto a la construcción de las apps fue buena; es una herramienta sencilla y fácil de instalar y usar. Sin embargo, a la hora de probar las apps (en Linux y Windows) me daban glitches gráficos que no logré solucionar a pesar de mis búsquedas por los foros. La segunda razón que me hizo desistir en usarlo es que a la hora de ejecutarlo en Linux, siempre me faltaban dependencias que había que instalar extra para su funcionamiento (y eso que lo probé en varias distros, a cada cual una dependencia diferente). Lo que buscaba era una AppImage "Plug and Play", o sea, que la persona que la descargara no tuviera que estar batallando con dependencias para poder usarla. Por eso al final me decanté por Electron Builder, ya que la había usado antes y me había funcionado a la primera. Tomé el mismo proyecto que ya había montado con Tauri y no tuve ningún error con las dependencias, ni glitches gráficos. Quizás después con más paciencia y tiempo vuelva a dar una oportunidad a Tauri, pero por el momento me quedo con Electron Builder.
En cuanto a las aplicaciones de Android, me decidí por Capacitor a la primera y me funcionó de manera correcta, así que por el momento queda pendiente Cordova. Solo quisiera añadir que en Android todo fue un poco más difícil en temas de configuración; sobre todo tuve que batallar con los permisos para que Android dejara a la app reproducir las fuentes HTTP. Para mi fortuna, existe mucha documentación en internet y muchos foros donde pude aclarar mis dudas y por fin hacerla funcionar.
En síntesis
Herramientas utilizadas en la construcción de las apps:
- Node.js
- Electron (Linux y Windows)
- Capacitor (Android)
- OpenJDK (Para hacer la Build de la APK)
Lenguajes utilizados:
- HTML
- CSS
- JavaScript

Repositorio en Codeberg
Decidí hacer el repositorio de las apps en Codeberg, porque me pareció que era el que mejor se adaptaba a las características del proyecto: libre, sin fines de lucro y con un enfoque comunitario.
Uno de los motivos por los cuales decidí hacerlo público es para poder darle seguridad a las personas que las usan, de que sus aplicaciones son seguras. Porque a pesar de que muchas no tendrán los conocimientos técnicos para comprobarlo, el hecho de que el código esté abierto da la garantía de que si hubiera algo incorrecto, alguien de la comunidad lo reportaría.
La otra razón por la cual quise hacerlo público es para abrirlo a la participación de la comunidad, ya que creo que el apoyo mutuo es esencial en el desarrollo de software y que mediante el trabajo en conjunto podremos mejorar la pequeña semilla que decidí plantar.
En cuanto a las implementaciones futuras, todavía no tengo una ruta marcada, pero sí varias ideas que sé que le vendrían bien a las apps. Por ejemplo, que la de Android use el audio nativo y no el HTML5, además de que se muestre en el área de notificaciones la radio que se está escuchando con los controles. En general para todas las apps, integrar un sistema de favoritos y quizás alguna manera de poder grabar la música y los programas. Sin embargo, todavía son solo ideas y creo que solo el tiempo y la retroalimentación por parte de la comunidad definirán la ruta más correcta para el proyecto.
Espero no haberme extendido mucho con el texto, pero quería ser lo más transparente posible y que tuvieran la oportunidad de profundizar más en mi proceso. Para terminar, les invito a que si quieren participar en el proyecto o tienen alguna sugerencia, me pueden escribir a mi correo o a la cuenta de Mastodon.
Les dejo el enlace del repositorio de las apps:
