A principios de mayo publiqué una aplicación que llevaba rondando mi cabeza durante meses. Se trata de CalQ, un juego multiplataforma (iOS y Android) que reta tus habilidades matemáticas. El objetivo del juego es bastante sencillo: tienes que combinar celdas numéricas para conseguir el resultado que te indican.


Existen dos modos de juego: 
  • Modo normal: Consigue la mayor puntuación posible en 90 segundos
  • Modo time attack: A medida que vas haciendo combinaciones, vas ganando tiempo. El objetivo es aguantar el máximo tiempo que puedas
El resultado es fantástico: en tan sólo 2 meses lo han descargado 47.000 personas (de las cuales 37.000 son de Android y 10.000 de iOS). Se han jugado cerca de 350.000 partidas, con una media de 7 partidas por usuario. 

La forma de generar ingresos con la aplicación es con publicidad. Al finalizar la partida, aparece un banner intersticial que muestra un anuncio. Teniendo en cuenta que las redes de anuncios con las que he trabajado pagan 1$ por cada 1000 impresiones (aprox.), los ingresos rondan los 300-350$. 

Teniendo en cuenta que han sido varios meses de trabajo duro tanto mío como de mi compañero Eulogi Bordas, la sensación es agridulce: esperábamos obtener más ingresos con este modelo. 

Hace dos semanas desarrollamos un evolutivo (compras In-App para comprar una versión premium sin publicidad). En las dos primeras semanas, hemos obtenido unos 25$ de ingresos. 

Las conclusiones que extraigo de todo el proceso son las siguientes:
  • El modelo de ingresos con publicidad sólo funciona con aplicaciones de muchísima repercusión. En el resto de casos, es mejor combinarlo con compras In-App
  • Cometimos el error de no tener compras In-App desde el primer momento: Durante las 4 primeras semanas la actividad fue muy superior a las dos últimas. Perdimos la oportunidad inicial para generar más ingresos
  • Traduce tu aplicación: los mercados que mejor han funcionado son aquellos a los que hemos traducido la aplicación. El coste de traducción es muy inferior al beneficio obtenido
  • El trabajo de marketing es más importante que el de desarrollo. De nada sirve hacer una aplicación muy interesante si no tienes buen trabajo de marketing. Nadie conocerá tu trabajo sin alguien que lo promocione. 
  • Escucha a tus usuarios, ellos son los que juegan. El roadmap de tu producto debe ir dirigido a sus peticiones

Para poder instalar una aplicación de Windows 8 que no está publicada en Windows Store, debemos registrar el dispositivo para poder utilizarlo como dispositivo de desarrollo.


Recientemente caducó la licencia de una de las tablets Windows que utilizo. Al final encontré la forma de renovar la licencia de desarrollo. 
  • Debemos ejecutar PowerShell con privilegios de administrador. Para ello, vamos a la barra de búsqueda lateral y escribimos "PowerShell". Seleccionamos la aplicación haciendo swipe hacia abajo y clicamos en "Run as administrator" del menú contextual. 
  • Una vez abierto PowerShell ejecutamos el comando: show-WindowsDeveloperLicenseRegistration
  • Introducimos nuestro usuario y password de desarrolladores de Windows 8 
Y ya está, ya tenemos nuestro dispositivo listo para desarrollar. 

Gestionar traducciones en un proyecto grande es complicado. Generalmente cuando terminamos un proyecto que requiere que esté en varios idiomas, enviamos a traducir los ficheros de strings.xml a alguien y una vez traducidos los añadimos a nuestro proyecto.


El problema surge cuando hacemos evolutivos sobre el proyecto: en ocasiones el programador se descuida y olvida apuntarse que faltan traducciones en uno u otro idioma. Esto supone un problema cuando el proyecto es grande, puesto que comprobar qué falta en cada idioma es una ardua tarea.

Buscando soluciones por GitHub, encontré el siguiente proyecto:


Este proyecto nos permite comparar todos los ficheros de traducciones de nuestro proyecto Android y nos devuelve qué claves faltan en cada uno de ellos respecto los demás.

Ejemplo de uso:
$git clone git://github.com/4e6/android-localization-helper.git
$cd android-localization-helper
$./bin/alh.sh /path/to/android/project
Ejemplo de salida:

[filename]
 *[resource type]
  *[T] [resource name]
  *[O] [resource name]

Hello World

Me presento ante todos vosotros y os presento mi blog, un lugar dirigido a desarrolladores que pretende ofrecer tutoriales sencillos para iniciarse en ciertas tecnologías.

¿Cuál es el motivo por el cual he decidido abrir el sitio? Muchas veces me enfrento a problemas nuevos y consigo resolverlos. Dicen que el ser humano es la única especie en tropezar dos veces en la misma piedra, por lo que pasado un tiempo me olvido de cómo lo solucioné y vuelvo a perder el mismo tiempo.

Para solventarlo, explicaré paso a paso cómo resolver los problemas que me voy encontrando. Así puedo ayudar a mi yo del futuro y a otros que se encuentren con las mismas piedras.



Blogger news

Blogroll