Laboratorio Andaluz de Android
La semana pasada, el día 28 de Octubre tuvo lugar el primer laboratorio andaluz de android.
Las distintas ponencias estuvieron muy muy interesantes, ya que no fueron sólo técnicas, sino que tocaron varias áreas como la usabilidad y la rentabilidad de las aplicaciones android.
Hoy he encontrado un hueco para rescribir las notas que tomé, he apuntado lo más interesante desde mi punto de vista, seguramente me deje muchas cosas en el tintero.
Previa presentación de Dª. Laura Martín (Directora del Centro de Formación en Comunicaciones y Tecnologías de la Información), la jornada empezó con la ponencia de Antonio Carabantes CEO de androisis.com. Lo primero que comentó fueron las desventajas que actualmente sufre android:
- Las distintas versiones de las sdk provocan incompatibilidades hacia atrás, hacen que las apps no estén disponibles para todos los dispositivos. Cada uno puede tener versiones de android distintas, y además algunas operadoras modifican las interfaces haciéndolas más incompatibles.
- El buscador del market deja mucho que desear, tienes que poner exactamente el nombre de la aplicación para encontrarla.
- La instalación de las aplicaciones se realizan en la memoria interna en lugar de la sd card que es menos limitada. Sin embargo parece que esto está solucionado en la versión 2.2
- No hay un buen feedback de reporte de errores de las aplicaciones a sus desarrolladores, por lo que la aplicación puede estar fallando y su creador no se entera.
- La única forma de pagar las aplicaciones es mediante google checkout. Parece que se está resolviendo y en breve se podrá pagar mediante paypal.
También habló de las ventajas (algunas por comparación con otras plataformas):
- Los desarrolladores pagan 25 dólares una sola vez para poder subir sus aplicaciones al market.
- El lenguaje de programación es java, la curva de aprendizaje para un programador con conocimientos medios en este lenguaje es baja.
- El usuario que compra una aplicación tiene 24 horas para devolverla con su correspondiente reembolso. Esto, sin embargo, no es una ventaja para el desarrollador.
- El 70% de los beneficios son para el desarrollador.
- Acceso a las herramientas de desarrollo nativas ndk.
- El flujo para subir una aplicación al market es más rápido y menos restrictivo.
- Aunque no llega a ser abierto del todo, es uno de los menos restrictivos.
- Es un sistema que permite integrarse en muchos tipos de dispositivos: televisiones, lavadoras, microndas, etc.
Antonio citó varios modelos de negocio para rentabilizar las aplicaciones:
- Aplicaciones gratuitas con publicidad.
- Aplicaciones de pago.
- Aplicaciones gratuitas para versiones reducidas y de pago con funcionalidades adicionales.
El modelo menos interesante es el de pago, ya que sólo se pueden vender en 32 países, mientras que con la app store de apple se puede vender en 90. Por ello Rovio, la empresa creadora del exitoso juego "angry birds" ha decidido usar en el market de android el modelo de aplicación gratuita con publicidad.
Llegó el turno de Juan Carlos Viota CEO de Inizziativa Networks:
- Hizo un repaso del crecimiento emergente de android, mostrando finalmente una estadística predictiva de un crecimiento del 325% para el 2014 convirtiéndose en la plataforma número 1.
- Destacó que gran parte de la culpa del crecimiento en general de los dispositivos móviles, la tenían las redes sociales.
- Las aplicaciones no sólo muestran información sino que ahora pueden jugar con el entorno para crear realidad aumentada. Puso como ejemplos la aplicación de ikea que coloca cualquier elemento de su catálogo en el salón de tu casa y navigator de google.
- Cita también los modelos de negocio, añadiendo a los ya comentados por Antonio, el desarrollo de aplicaciones corporativas personalizadas que no pasan por el market.
- Recalcó la dependencia que antes sufría el desarrollador, que tenía que realizar n desarrollos para n dispositivos y ahora sólo realiza un desarrollo que puede desplegar en distintos dispositivos.
- Antes el desarrollador necesitaba estar en una gran empresa para poder distribuir el software en paquetes en las grandes superficies. Ahora, el solo puede crear una aplicación en su casa y por medio de las apps stores puede venderla en multitud de países, sin moverse del sitio.
- El desarrollo en dispositivos móviles no es un desarrollo en una resolución menor, hay que buscar las posibilidades que ofrece el dispositivo al interactuar con el entorno.
- Hablando de respetar el entorno, no tiene sentido hacer una aplicación para registrar ejercicio físico en el ipad.
- Regla del pulgar: no colocar el menú arriba, mejor abajo, cuesta trabajo llegar cuando se coge el móvil con una sola mano. En el caso del ipad aprovechar los laterales para introducir botones y menús, ya que la forma de cogerlo hace más fácil acceder a ellos.
- En la aplicación GolfPlay hicieron los botones grandes para que la gente cuando esté jugando al golf pueda usar la app con guantes.
- Usar los servicios de la nube. Los usuarios tienen muchos dispositivos y no quieren estar continuamente replicando la información.
- Hacer un buen uso de la caché. En el caso de una aplicación de golf, el móvil no tiene espacio para guardar todos los campos, cachea solo 3 o 4 y los vas sustituyendo.
- Dar prioridad al feedback del usuario. El 40% de las novedades de SweetDreams vinieron de las sugerencias de los usuarios.
- Promoción. La aplicación por muy buena que sea no sirve para nada si no la das a conocer.
Termina la charla con dos puntos muy interesantes:
- Es muy difícil pronosticar si realmente android o cualquier otro sistema será el sistema para dispositivos móviles del futuro. Gartner siempre se equivoca en sus estimaciones.
- El futuro está en html5, es la piedra rosetta que será capaz de hablar con todo.
La siguiente ponencia fue de Jose Emilio Villena, CEO de Alea Technology. Fue más técnica, explicó la estructura básica que debe tener un proyecto android y los componentes a partir de los cuales se construye una aplicación. Muy resumidamente (perdonadme si cometo algún error) algunos de los componentes más importantes son:
- Activities: cada pantalla que se muestra en una app es una activity, sólo puede mostrarse una a la vez. Al llamarlas pasan al primer plano, y van apilándose de forma que puedas volver hacia atrás.
- Intents: son los encargados de encadenar las activities y realizar el paso de información entre ellas.
- ContentProviders: como su nombre indica son proveedores de contenidos a los que puede acceder la aplicación, un ejemplo puede ser la lista de contactos.
- Services: son procesos que se ejecutan en background.
Después habló de algunas herramientas para desarrollar como Eclipse + ADT, DroidDraw para generar las interfaces xml, AppInventor para crear aplicaciones sin necesidad de programar o SQLite Database Browser para gestionar las bases de datos que usan las aplicaciones.
Finalmente Juan Carlos volvió para cerrar la jornada explicando en detalle el código de dos aplicaciones.
El nivel de las preguntas de los asistentes fue muy bueno, algunos ejemplos:
- ¿Cómo se controlan las aplicaciones maliciosas que quieren hacer un mal uso de los datos de los móviles? El market al ser un sistema menos restrictivo es más fácil que ocurran estás cosas, la mejor forma de detectar estas aplicaciones maliciosas es por el feedback de los usuarios.
- ¿Cúal es la mejor modelo de negocio? No hay uno mejor ni peor, todo depende de la aplicación y de la empresa. Inizziativa a hecho uso de I+D para crear SweetDreams y subirlo al market gratis y sin publicidad, el beneficio le ha venido por ganar un premio que ha publicitado la propia empresa.