Continuación de: Droidcon en Londres. Día uno.
Por suerte el día dos fue mucho más organizado. Desde el hotel había elegido a qué charlas tenía ganas de ir así que tenía todo anotado en la app de android de la conf. Schedule aquí.
Driving Downloads via Intents
La charla la dio Sean Owen, autor de la librería zxing usada en la aplicación Barcode Scanner. Creería que toda persona con Android tiene instalada esta aplicación.
Sean explicó cómo usar los intents para proveer una librería al resto de las aplicaciones. Gracias a la arquitectura de Intents que tiene android una aplicación puede ofrecer una api para que el resto la use. En el caso de Barcode Scanner, la aplicación ofrece un intent para que nuestra aplicación pueda capturar códigos de QR. ¿Qué genera esto? Que Barcode Scanner tenga muchas más descargas.
Se mostró un código interesante para resolver las dependencias de otras aplicaciones mandando al usuario al market para descargarla. Link al código.
Sean concluyó que el hecho de que Barcode Scanner sea usada tanto por otras aplicaciones logra que nadie la borre y que genere muchas más descargas. El dev debería pensar qué en su app es reutilizable por otras aplicaciones y publicar su API en lugares como openintents.
Excellence in the Android user Experience
Romain Nurik fue el orador de esta charla. Romain es un google developer advocate para la parte de UI y UX. Sus slides aquí. Algunos puntos interesantes de la charla:
- La UX del usuario no empieza en la primera pantalla, empieza en le primer review que ven, en la pantalla del market, en el ícono de la app.
- El usuario no se va a poner a leer documentación para usar la app. La app tiene que ser simple e intuitiva.
- Testear con usuarios reales y ver cómo interactúan con la aplicación.
- Hacer betas para conocer la opinión del usuario.
He vivido el último punto con Swiftkey. Desde la primera versión del teclado se armó una lista de correo donde distintos usuarios fueron probando la app y pidiendo features. El día que salió en el market ese leal grupo de usuarios fue y descargó la app, llevándola a featured en poco tiempo.
Romain también tiene una página interesante con herramientas que está haciendo.
Android Reuse Models
Nuevamente Mark Murphy con otra charla interesante.
Mark explica que existen formas de agregar dependencias por medio de jars, src code, api por intent en android pero que existe un gran problema. ¿Qué pasa cuando necesitamos usar resources?
Mostró código del ejemplo que tiene subido a su repo de github.
Colormixer es una activity para que el usuario pueda elegir un color. Tiene como dependencia cwac-parcel para el correcto manejo de dependencias.
Este es un problema que estamos teniendo en el trabajo. Implementamos código para hacer action bars de manera fácil, pero venimos copiando el src de proyecto en proyecto. Estaría bueno utilizar este formado de librería y que encima lo pueda poner como dependencia en mi pom.xml
Me comuniqué con la gente de maven-android-plugin y lo hablé en un post en su lista de correo. Ya existe el issue y Hugo le puso prioridad alta. Plz entren y pónganle una estrella :)
Android and CouchDB
Tenía ganas de que esta sea una charla increíble la cual me de el puntapie inicial para empezar a usar CouchDB en Android pero no lo logró.
Aaron Miller explicó que hoy en día CouchDB funciona como un android service. Si tu aplicación necesita usar couchDB el usuario tiene que bajar CouchDB. Sé que existen formas de llevar al usuario al market para descargar pero sólo las usaría para funcionalidades extra no para el core de mi app. Cuando le preguntaron si había forma de embeber en la app dijo que todavía no está hecho y que si se hace como está hoy son como 8MB. También tuvo la gentileza de avisar que no es su prioridad.
Mi conclusión:
Todo muy lindo, pero si Google no permite instalar apps como dependencias al instalar mi propia app CouchDB va a mantenerse sentado en el sillón.
Después de esta charla se lanzó el almuerzo.
Mañana escribiré algo de las charlas de la tarde.
Muy interesante.
ReplyDeleteTodo un tema lo de CouchDB, me gustaría ver alternativas NoSQL en Android. db4o ocupa ~1 mbyte, pero sigue estando el problemita de su licencia para apps comerciales.