Archivo
SpokenPic liberado
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.
El 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ó.
«No intentes hacer lo que no dominas»
Hoy me decidí a hacer algo que deberia haber hecho hace años, leer y aprender de diseño gráfico. No es porque me quiera dedicar a eso, o porque piense que puedo hacer cosas maravillosas, sino porque llevo muchos años trabajando codo a codo con diseñadores, con frustración de no poder resolver poblemas básicos, de tomar malas decisiones, de ni siquiera saber comunicar los problemas, o proponer soluciones.
Qué complicado es mantener las cosas simples (SpokenPic, se acerca a beta)
A finales de junio esperamos lanzar la beta pública, es decir, habilitar la aplicación en Google Play. Ahora que está estabilizado (la app, la parte web, el API de interconexión, etc.) estamos poniendo los esfuerzos en el diseño y los iconos (la única decisión firme por ahora, es que lo haremos con un tema oscuro, favorece a las fotografías, que es lo fundamental).
Ya tenemos casi listo el servidor web para el lanzamiento (lo lleva Bernat), el de ahora es un pequeño VPS de 7 euros al mes (que aguantó perfectamente las pruebas). La web está enteramente desarrollado en Django y Python, la base de datos será PostgreSQL (sólo por gustos del sysadmin), para el reproductor de audio en la web usamos jPlayer, y por supuesto Java y C para la app.
Lo que más trabajo nos ha dado estos últimos días es integrar el compresor Vorbis en la aplicación. Durante este período de “pruebas de amigos y amigotes” hemos descubierto que no te puedes fiar de los compresores integrados en los teléfonos. Algunos son de muy mala calidad. Además, no hay forma de obtener información de sus características para intentar mejorarlo. Así que la solución fue compilar código C para los modelos de móviles e integrarlo con el código en Java. Seguramente esta parte del código la liberaré pronto… cuando se estabilice y descubra cómo hacerlo a partir de un macroproyecto en Java y Eclipse con el SDK de Android (todas nuevas para mí).
Novedades spokenpic
En pocas horas salgo hacia Barcelona-Zaragoza-Barcelona, así que hasta el miércoles a la noche no podré tocar nada de la app de SpokenPic. Pero en el mismo enlace que tenéis (los que lo tenéis porque nos habéis pedido, a mí o a @aaloy) tenéis una versión nueva, con muchos más controles y problema solucionados con los reportes que nos enviaron los que van probando.
El “grabador” de voz de Android tiene un problema de diseño de API importante: cada teléfono tiene diferentes modos de capturar, “samplear” y codificar, pero no todos admiten lo mismo, ni lo hacen con la misma calidad. Pero es imposible averiguar qué modos admite, ni siquiera cuál es el codificador por defecto (unos usan AAC, otros AMR, unos admiten diferentes samplings, otros no…). El de mejor calidad es el AAC, pero, por ejemplo, no todos los admiten, y en mi Samsung Galaxy Nexus da muy mala calidad, a menos que se ponga a 44.1 KHz, cosa que es imposible hacer en otros modelos. La solución temporal es que todo se pone por defecto, en algunos teléfonos genera muy buena calidad, en otros muy mala (y no tiene relación con el precio del cacharro, es independiente, por ejemplo el “barato” Sony Xperia va mucho mejor que mi Galaxy ).
Ya encontraré alguna forma de buscar la mejor solución a los modelos (debe existir, supongo). Sólo hay una mejora, en los ICS y tablets se solicita el dispositivo “VOICE”, que si existe, da más calidad de audio para voz, y mejor volumen).
Además de los controles para evitar cuelgues (la combinación de cámara y audio -de tamaños y capacidades muy variables, sobre pantallas de diferentes tamaños- en la misma “vista” es una pesadilla de programación pero ya está casi “rock solid”
). También me aseguré que cuando se cambia de aplicación todos los recursos queden liberados, así se consume menos batería y memoria (el grabador es puñetero en este sentido).
Nota: cuando se sube al web se convierte a MP3 para que el jPlayer lo reproduza en la mayoría de navegadores, eso es independiente del formato de salida del teléfono.
Actualización de SpokenPic
En el vídeo anterior mostraba (por pirmera vez) el proyecto en el que estamos embarcados, spokenpic. Después de una maratón de programación, hemos corregido bastantes bugs y la aplicación ya está casi “rock solid”. Todavía falta todo el diseño de la app (el diseño e iconos no tienen nada que con la versión beta que pubicaremos en Google Play), y bastante trabajo en el servidor, pero ya es usable. Es casi la versión “dogfood” (por “eat your own dog food”) que teniamos planificada para esta semana.
Algunos amigos ya lo están probando, podéis bajar del mismo enlace la versión que muestro en el vídeo. Los que queráis probarla (con todos los disclaimers obvios), enviadme un email (tomaros ese trabajo
), o un DM si os sigo en Twitter, os pasaré el enlace para bajar el .apk.
Gracias a los que ya la estáis probando y enviando sugerencias (insisto, la versión del web es muy de pruebas, sólo pusimos lo básico que teníamos para ir probando en público). Los requerimientos mínimos son, por ahora, Android 2.3 (Gingerbread) o superior. También funciona en las tablets (pero sólo hemos probado en dos). Por ahora asume que el teléfono tiene SDCard (interno o externo) para guadar las fotos y audios, sin él no funcionará, pero sí lo hará en pocos días.
Sobre las traducciones: la estamos programando en inglés, pero traducirlas es muy fácil (conociendo ambos idiomas), seguramente saldrá en inglés, castellano, catalán, y quizás hasta chino (una persona que lo conoce se ofreció a hacerlo, asegura que en China se usaría mucho).
El clip que hice durante el vídeo (sí, ya tengo asumido que soy más feo que pegarle a la madre).
SpokenPic: fotos relatadas
Hace un par de horas hice público en un tweet el proyecto en el que estamos metidos (con los amigos de apsl.net) hace algo menos de 2 meses. Se trata de un “scratch your own itch”, me molesta tener que escribir para explicar una foto que quiero compartir, sobre todo cuando se está bajo el sol y no se ve bien la pantalla. Así que… mejor ver el vídeo, que me da pereza escribir
Los clips que subí durante el vídeo son este y este otro.

![Blog [no] premiado](https://gallir.files.wordpress.com/2013/03/premio-no-premio.jpg?w=200&h=261)

Comentarios recientes