| Artículos | 01 MAR 2007

Desarrollando aplicaciones Mobile Web 2.0

Tags: Histórico
Ricardo Varela.
En el artículo anterior comentábamos que Mobile Web 2.0 representa el concepto de utilizar los terminales móviles como plataforma de desarrollo que dará lugar a nuevos usos de la información, y que estos desarrollos pueden aprovechar parte de las ideas utilizadas en el modelo Web 2.0 (aunque no tienen por qué ser exactamente iguales). Vamos a revisar estas ideas con un poco más de profundidad, comentando distintos problemas que pueden aparecer en el desarrollo de nuestra aplicación Mobile Web 2.
La idea que queríamos dejar clara desde un principio, es que las aplicaciones móviles van a ser un factor diferenciador para determinar cuáles de los servicios que ofrecen las distintas compañías prevalecen sobre los demás. Ejemplos que empiezan a darse en grandes empresas pueden verse en casos como las aplicaciones ofrecidas por Google y Yahoo en los nuevos terminales de Samsung, Sony Ericsson o el mismo Apple iPhone. Al mismo tiempo, la existencia de usuarios móviles nos ofrece la posibilidad de acceder a un nicho de mercado que puede que nuestro servicio no cubra de otro modo. Hemos de tener en cuenta que hay más usuarios con acceso a un terminal móvil que con acceso a un ordenador. En el recuadro Notas sobre el mercado móvil en España podemos observar algunos datos sobre el estado de los terminales móviles en nuestro país.
Las bases del desarrollo de aplicaciones “marca Web 2.0”, son, a día de hoy, bien conocidas por la mayoría de compañías y empresas de desarrollo: diseño en n-capas, modelo cliente-servidor con comunicación mediante servicios web (desde SOAP a REST), frontends en un modelo de cliente ligero o mediante web utilizando AJAX, o el uso de estándares como XHTML y CSS para maximizar la interoperabilidad entre distintos tipos de navegadores, entre otros. Existe una miríada de tecnologías que podemos utilizar en este tipo de aplicaciones, pero, ¿cuánto de este conocimiento podremos reciclar para el desarrollo de nuestras nuevas aplicaciones móviles?
Además, entre otros problemas que nos podemos encontrar en el desarrollo de estas aplicaciones no encontramos con varias cuestiones: ¿cuál es nuestro objetivo de distribución?, ¿es nuestro desarrollo una aplicación que complementa otro servicio que ofrecemos (por ejemplo, permitir acceso a un vendedor itinerante a nuestro almacén para cursar pedidos)?, ¿es un servicio en sí mismo que pretendemos publicitar mediante plataformas de publicación como Handango, o mediante negociación con fabricantes o operadores?

Las fases del desarrollo mobile Web 2.0
En el diagrama adjunto podemos ver las fases comunes de desarrollo de una aplicación Web 2.0/Mobile Web 2.0. Cada una de estas fases presenta una serie de problemas que pueden frenar completamente nuestro proyecto. Veamos algunos ejemplos:
La primera fase es la que parece más simple, y que a menudo es la más complicada: tener una buena idea. Una de las ventajas de las aplicaciones móviles es que hay múltiples ejemplos en los que, simplemente trasladar parte de una aplicación web o de escritorio al móvil ya es de por sí una buena idea en muchos casos. Así, por ejemplo, aplicaciones como Google Mobile Maps, o sitios como Flickr mobile, son la traducción de aplicaciones o servicios ya existentes en la web de escritorio al mundo móvil. Otra opción es aprovechar las ventajas que los terminales móviles nos ofrecen, como las capacidades multimedia (reproducción y grabación de audio, video e imágenes), o las comunicaciones “casi continuas” (mediante servicios de datos o SMS). Servicios como los canales de noticias de Yahoo Go, que ofrecen en el terminal un listado actualizado de noticias y eventos en la localización introducida por el usuario, o MXit, un servicio de mensajería instantánea que ofrece conectividad con MSN o ICQ a través de SMS (y que cuenta con unos 30 millones de usuarios en Sudáfrica), son ejemplos de esta opción.
Eso sí, como mencionábamos en el artículo del mes pasado, a la hora de dar forma a nuestra idea hay que tener en cuenta que las necesidades y el estilo de interacción de un usuario móvil no es el mismo que el de un usuario de escritorio. Conviene recordar que el usuario móvil, por lo general:
• utiliza un dispositivo de características "reducidas": menor tamaño de pantalla, sin un teclado completo, o sin dispositivo apuntador.
• tiene una necesidad de información puntual: evitar la sobrecarga de datos, facilitar la búsqueda.
• tiene un estilo de navegación distinto: es más difícil detectar la estructura de una aplicación móvil, con lo que facilitamos que el usuario "se pierda". Disponer de mecanismos sencillos de navegación y opciones de "vuelta atrás".
Una vez hemos definido una idea, conviene que realicemos un pequeño prototipo de la misma. En desarrollo móvil, es importante intentar que ese prototipo se haga sobre una plataforma lo más parecida posible a la final. Esto, no sólo responde a la necesidad de obtener datos sobre el comportamiento de la plataforma, sino que sirve para determinar si el modelo de interacción elegido es apropiado. Los terminales móviles son muy diversos en cuanto al tipo de interfaces que ofrecen al usuario. Como ejemplo de esto, no sólo existen varios modelos de teclado (como T9, QWERTY simple o con dos letras por tecla), sino que los nombres de las teclas utilizadas para las distintas operaciones tienen nombres distintos y varían en su localización entre los distintos modelos. Esto puede hacer que las operaciones con nuestra aplicación resulten variopintas. En ocasiones, nuestra plataforma destino puede resultar un tanto compleja para realizar un prototipado rápido. Lamentablemente, el desarrollo en dispositivos móviles necesita de cierto grado de especialización, y a menudo, incluso los primeros pasos requieren aprender un gran número de detalles sobre las plataformas, lo que redunda en una curva de aprendizaje más que apreciable. Ejemplos de esto pueden ser las aplicaciones en Symbian, BREW o Windows CE. En este tipo de casos, una posibilidad es utilizar plataformas alternativas para simplificar el desarrollo. Para sistemas Symbian, como Nokia o Sony Ericsson, dos de las alternativas más potentes al respecto son Python Mobile (en sus versiones para la S60 de Nokia y algunos terminales de Ericsson) y Adobe Flash Lite (que está disponible también para BREW y Windows Mobile). En sistemas Windows Mobile, una buena opción es hacer el prototipo utilizando .NET Compact Framework, que ofrece parte de la potencia del entorno Microsoft .NET en un entorno móvil. Otra opción similar, disponible en múltiples sistemas, es utilizar J2ME, la plataforma Java para dispositivos móviles.
En todos estos casos, una ventaja evidente es que nuestro equipo de desarrollo puede reciclar parte de sus conocimientos en otras plataformas (el entorno de desarrollo de .NET Compact Framework o Python Mobile, por ejemplo, es altamente similar al que estamos acostumbrados a encontrar en sus contrapartidas de escritorio). Una segunda ventaja es que es posible que parte de los componentes generados durante el prototipo puedan adaptarse para su uso en el modelo final.
En el caso que nuestro objetivo sea una aplicación web, existen básicamente dos alternativas: realizar el prototipo para el mínimo común denominador de los dispositivos (utilizando WML), o bien utilizar las caracter

Contenidos recomendados...

Comentar
Para comentar, es necesario iniciar sesión
Se muestran 0 comentarios
X

Uso de cookies

Esta web utiliza cookies técnicas, de personalización y análisis, propias y de terceros, para facilitarle la navegación de forma anónima y analizar estadísticas del uso de la web. Consideramos que si continúa navegando, acepta su uso. Obtener más información