Resumen para vagos: el código liberado de la app SpokenPic está en Github. Punto 😉

Hace unos días fue la presentación del Galaxy S4, entre otras cosas mostraron su «novedosa» y «exclusiva» aplicación para poner voz a las fotos, muy similar al SpokenPic (prometo que sonreía, no hay mejor halago que una gran multinacional tecnológica haga algo igual casi un año después, y que lo presenten en un gran cutre show como una «innovación»). Eso me hizo acordar que habíamos prometido liberar el código,  que estaba prácticamente abandonado.

7415952232_95b203182b_cEl SpokenPic fue un fracaso, sin paliativos[*]. Aunque tiene buenas críticas y estrellitas en Google Play, sólo tuvo 2.000 descargas, y ahora hay sólo 600 instalaciones activas. Aunque nos llevó dos meses de trabajo a tope (no sé cómo sobreviví haber pasado tantos días durmiendo sólo 4 horas, y dándome de hostias con el Java, el API de Android, y hasta la documentación oficial errónea de la cámara), hasta con lanzamiento grupal emocionado (foto de la derecha), lo cierto es que no caló, y que no tuvimos tiempo para mejorarlo, ni siquiera en las funcionalidades que teníamos previstas (como la de clips con múltiples fotos). Visto en retrospectiva, fue el desánimo que nos desmotivó.

Aún así, es una app compleja. Tuvimos que incluir codificación Vorbis en código C, un API de conexión con el servidor que está muy bien diseñado (mérito de Antoni Aloy), y gestión de cámara y audio bastante completo y muy optimizado. Para que sea compatible con versiones anteriores a la 4.0 de Android tuvimos que usar las librerías Sherlock, que además de complicarnos y limitarnos con el código, también lo hizo en la estética (era muy difícil hacer que se vea igual en Android 2.3, 3, y 4.x).

Era una pena que el código estuviese «muerto», y casi olvidado. Hasta que el anuncio de Samsung me hizo recordar que hay gente que lo considera interesante, que quizás sea útil para probar otras cosas, que alguien quiera limpiar el código haciendo que sólo funcione más eficientemente (usando Fragments) con Android 4.0 en adelante, o incluso que algunas clases puedan servidor para aplicaciones diferentes.

No había más excusas, le agregué al código las notas legales y licencias (GPL3 para el código, CC-SA para los gráficos), y lo subí a GitHub. El proyecto publicado debería compilar correctamente, creo que no falta nada. Si es así, avisadme en un comentario, o mejor, pasadme el parche (en diff) para lo aplique. Lo único que os pido: si hacéis un «clon» de la app, usad otro nombre diferente, y dejad claro que no es el original, no quiero quejas por problemas o fallos de apps de terceros. Por supuesto, no os olvidéis de publicar el código con la misma licencia.

En cuanto tenga tiempo prepararé documentación en inglés con la estructura básica del programa. Mientras, espero que sea útil para alguien.

[*] No me arrepiento, sin probarlo no lo hubiésemos sabido. Los programas exitosos, además de requerir suerte, son minoritarias entre multitud de fracasos. Además, una de las motivaciones era aprender, vaya si he aprendido.

PS: Los chicos de APSL fueron los que desarrollaron toda la parte del servidor. Quizás también sea liberado, pero necesitan tiempo para revisarlo y prepararlo.