lunes, 7 de marzo de 2005

10 Tips para el Desarrollo de Aplicaciones Móviles (Parte 2)

6. Prueba a Fondo tu Aplicación y Después: Pruébala De Nuevo

Aplica todo lo que sabes de pruebas formales y agrega: prueba tu aplicación sobre el dispositivo real que vas a desplegar. El emulador sólo es aceptable en etapas iniciales de tu proyecto (aunque va mejorando la tecnología de emulación). Exige un laboratorio de pruebas idéntico a la infraestructura de despliegue en todas las variables relevantes. Prueba la sincronización de datos simultánea conforme a tu carga máxima esperada.

Considera un etapa de prueba piloto siempre con pocos usuarios (combinando entusiastas y rejegos) para que pulas tu aplicación antes de liberarla a todos. No voy a repetir aquí las mejores prácticas de pruebas para desarrollo de aplicaciones en general. Sólo considera que en aplicaciones móviles muchas veces debes cuidar la calidad y mitigar tus riesgos algo más de lo que haces normalmente.


7. Utiliza el Principio KISS (Variante Francesa)

KEEP IT SIMPLE, STUPID. Variante Francesa porque en aplicaciones móviles esto es todavía más intenso. Todas las veces (¡TODAS!) que he participado en una aplicación móvil se le quita funcionalidad entre la primera y la segunda versión para simplificar su uso. Libera la mínima unidad funcional posible primero y estudia el efecto en el campo. Este principio aplícalo en todos los aspectos de tu aplicación. Buenas preguntas son: ¿Realmente necesitamos capturar este dato? ¿Necesitamos desplegar esta información? ¿Es indispensable bajar este elemento del sistema central? ¿Vale la pena automatizar este caso excepcional?


8. Considera las Limitaciones de Memoria y Velocidad de Proceso

Establece como requerimientos formales los volúmenes de información que debes manejar y los tiempos de respuesta máximos aceptables de tu aplicación para cada caso de uso. Separa tiempo en tu proyecto durante la etapa de análisis para hacer algunas pruebas de concepto que te permitan saber con certeza si es posible y de que forma. No asumas nada. “Si, seguro cabe el catálogo de 20,000 productos en 64MB.” Haz un pequeño programa de usar y tirar para validar esto antes de abrir la bocota. O vas a acabar teniendo que justificar (y quizá absorber) el costo de expansiones de memoria para todos tus usuarios. Bueno, para sus dispositivos móviles al menos.


9. Elige el Tipo de Dispositivo Adecuado

No todos los dispositivos móviles son iguales. De hecho, en este campo la variabilidad es mucho mayor que en el caso de PCs. Con o sin: Teclado, touch screen, wi-fi, bluetooth, cámara. De uso rudo, semirudo o estándar. Con diferentes capacidades de memoria, procesadores, opciones de expansión, etc. Incluso puedes mandar a hacer tu propio dispositivo si vas a requerir un volumen importante.

Con base en lo que encuentres en el campo, estudia tus opciones de tal forma que maximices tu retorno de inversión. Llévate las opciones a la calle en operación real y pruébalas con algún prototipo sencillo. Mantén abiertas tus opciones de software para el equipo. Es fácil caer en la tentación de que “el proveedor de la handheld de $3,000 dolares cada una nos va a regalar el software”. Mantén tus opciones abiertas como en el caso de tu infraestructura de PCs. Elije equipo al que le puedas poner la aplicación que se te de la gana cuando se te de la gana.


10. Planea Pruebas de Concepto para Areas Nuevas o de Alto Riesgo

Es altamente probable que conforme desarrolles experiencia tus aplicaciones móviles vayan aumentando de complejidad. Una de las áreas más comunes es la integración a otros dispositivos como impresoras, escáners, cámaras, etc. Es muy importante que dejes tiempo en tu etapa de análisis para hacer pruebas de concepto de las áreas nuevas que no hayas usado antes.

Una prueba de concepto es normalmente un pequeño programa de código que luego tirarás a la basura pero que te sirve para conocer si lo que tienes en mente es válido. En realidad este concepto aplica para todo tipo de aplicaciones, pero en las móviles puede ser más frecuente necesitarlas.