Investigando un poco más sobre Android, hemos descubierto, que no solamente es posible trabajar con textos planos, sino que también, te permite insertar e interpretar cadenas html.
Si no vienes del post introductorio, quizás te gustaría leerlo.
Junio de 2010, una sesión cualquiera de la CAS2010, el vehemente speaker azuza a las masas de developers ansiosos de ser más ágiles que nadie:
Si no vienes del post introductorio, quizás te gustaría leerlo.
Hacía como mes y medio que quería escribir sobre este tema, pero me habría precipitado ya que desde esa fecha hasta ahora hemos aprendido mucho más sobre la optimización de una aplicación para android; aunque aún no quedan muchos conocimientos por adquirir.
Compra ya el cd de "Los desarrolladores de Frogtek cantan a los Beatles" con todos sus grandes éxitos:
Quizás todavía hemos hablado poco de Sonar, pero es necesario indicar que se trata una de las herramientas indispensables a la hora de crear código elegante. Básicamente, esta utilidad nos permite analizar nuestros proyectos en busca de código poco eficiente o mejorable, ordenando estas infracciones (suena mejor que violaciones) por su gravedad (blocker, critical, major, minor e info).
Leamos este pasaje y reflexionemos:
En Frogtek tenemos dos tablas de kanban distintas en paralelo, una para los Product Owners y otra para el equipo de Tecnología. Primero nació la de Tecnología, como una manera fácil y visual de controlar el trabajo, lo que queda pendiente, lo que está ya acabado o lo que está siendo programado en este momento. El proceso de desarrollo es lo suficientemente "complicado" (tampoco mucho) como para que sean necesarias varias columnas, pero ¿por qué necesitamos también una tabla de kanban para el proceso de diseño de una user story por parte de los Product Owners?. Principalmente, y esto es lo único que voy a contar al respecto antes de centrarme en la tabla de Tecnología, porque el proceso de definición de user stories se ha ido complicando conforme añadíamos técnicas como el Usability Testing y demás y ahora requiere de varias iteraciones antes de que una user story quede archivada y por lo tanto disponible para ir al Backlog de Tecnología, es decir, a la fase de producción.
[Leer Waterfall vs SCRUM vs Kanban (II)]
Gracias a la costumbre en Frogtek de fomentar la formación a través de la compra libros, he podido leer "The Pragmatic Programmer" magnífico libro recomendable para cualquier programdor con ganas de mejorar.
A la hora de realizar aplicaciones con multitud de datos, es conveniente saber que Android nos aporta recursos bastante potentes para integrar búsquedas dentro de nuestra aplicación. Como no podía ser de otra manera para Google, la consulta de datos esta muy presente en este tipo de terminales: simplemente haciendo clic en la barra de búsqueda del escritorio o pulsando la tecla de la lupa en el dispositivo, nos aparece una interfaz con teclado mediante la que podemos escribir cualquier palabra y nos devuelve una lista de sugerencias en función de las letras introducidas. Esta funcionalidad es, precisamente, la que podemos añadir a nuestra aplicación Android de forma bastante sencilla (bueno, una vez sabes cómo, ya que en la red no hay mucha información al respecto).
Hoy me ha pasado algo mientras programaba una nueva pantalla, que me ha traído a la cabeza recuerdos de toda la vida de la UI de la aplicación. La verdad, ha cambiado y mejorado mucho desde su inicio. Cuando comenzamos hace mucho tiempo el desarrollo de nuestro producto, nos centramos únicamente en una versión para teléfonos android, sin pensar en otro tipo de dispositivos (no había más gadgets con este sistema que el HTC G1). Desde ese momento con menor atractivo que funcionalidad, el diseño de nuestra interfaz gráfica se basaba en pantallas con layouts verticales. Obviamente, trabajábamos en el emulador que venía en las primeras versiones del SDK de android y aún no teníamos a varios clientes reales dando feedback sobre la usabilidad. Por aquel entonces, era más importante el ir implementando funcionalidad que hacer la aplicación preciosa; ya habría tiempo para ello más tarde.
"... el Ibón de IP"
¿Cuáles son las herramientas básicas para que un desarrollador software realice su trabajo?
[Leer Waterfall vs SCRUM vs Kanban (I)]
Nuestra elección a la hora de subir datos a la nube fue Google App Engine, el servicio que permite ejecutar aplicaciones web en la infraestructura de Google. El desarrollo en esta plataforma presenta ciertas características que obligan a cambiar el chip desde un primer momento y que nos fuerzan implícitamente a tener en cuenta la eficiencia y, sobretodo, la escalabilidad. Dicho esto, siempre hay momentos a lo largo del camino en los que uno se plantea revisar la eficiencia global de la aplicación para mejorar su tiempo de respuesta, reducir los consumos de cpu y, de paso, reducir la factura cobrada por Google.
En Android podemos definir nuestros propios arrays estáticos en xml y guardarlo en la carpeta res/values. De este modo lo tendremos siempre a mano (a través de la clase R) y soportará multi-idioma.
Continuamos con nuestro afán por tener una aplicación más eficiente e iremos escribiendo con lo que nos vamos encontrado: tenemos una tabla con datos para sincronizar y mientras se sincronizan actualizamos una barra de progreso en la status bar. Actualmente, actualizábamos la barra de progreso cada vez que se procesaba una fila, con lo cual, actualizábamos la barra de progreso tantas veces como filas teniamos.
Al programar aplicaciones en Android, resulta ineludible el hacer uso del recurso "strings.xml", un archivo en el que podemos escribir todas las cadenas de texto que aparecen en nuestra aplicación. Las ventajas son claras:
El API de Android nos permite varias maneras de requerir la atención del usuario. Lo que resulta realmente difícil es decidir qué tipo de notificación usar en cada momento. Os vamos a mostrar qué tipos de notificaciones usamos en Frogtek y para qué.
Ha llegado la hora de profundizar un poquito más en la pequeña historia de Frogtek.
Os presento a nuestro servidor de desarrollo: DarwinFrog.
"Pure-men groups tend to change into something like herd of hogs. Bringing a woman on board magically improves everyone’s manners and language. I mean hogs are nice but I wouldn’t like to work with them." Pawel Brodzinski - En su blog.