Archive for Noviembre, 2008

¿Para qué dispositivo móvil programo?

Martes, Noviembre 11th, 2008

En el ámbito de los teléfonos móviles, podemos distinguir entre los los teléfonos móviles de toda la vida y los smartphones (que se pueden definir, simplificando mucho, como la suma de PDA + Teléfono). Si se ha decidido realizar una aplicación para un smartphone, es porque el usuario destinatario de la aplicación está “controlado” y se sabe el dispositivo que usa. Entonces la cosa está clara. Actualmente, y de forma aproximada, el tema de los smartphones está así:

Siendo el S.O. Symbian el más extendido (por ejemplo, los Nokia de la serie N son Symbian), y sin perder de vista el aumento explosivo de los nuevos (Mac OS X = iphone).

Ahora, si lo que vamos a desarrollar es una aplicación para teléfonos móviles (o sea, con la pretensión de llegar a casi todo el mundo), hay dos opciones bastante claras: J2ME o Flash Lite. El más extendido (con diferencia) es J2ME.

De todas formas, todos los grandes fabricantes de teléfonos del mundo disponen de terminales con Flash Lite, incluyendo LG, Motorola, Nokia, Samsung, Sony Ericsson y muchos otros. Nuevos dispositivos de gran nivel de ventas como el Nokia N95 o N96, La serie C de Sony Ericsson, los NTT DoCoMo 905i, o el nuevo Sony Mylo, están preparados para su uso. Actualmente se estima que existen más de 300 millones de dispositivos móviles en todo el mundo que lo soportan, que puede parecer poco ante los más de 1.200 millones de dispositivos J2ME, pero al menos hay que considerarlo.

Si queremos verlo de una forma más global, Flash Lite se ejecuta en múltiples plataformas, incluyendo Windows Mobile, Symbian S60, Qualcomm BREW y próximamente el iphone, entre otros sistemas operativos integrados.

Claro está que hay que tener en cuenta otras cosas, como resoluciones de pantalla, versiones de Flash Lite, o librerias disponibles de J2ME en los dispositivos, lo cual nos empuja a tener que considerar una colección de dispositivos concretos en los que el desarrollo funcionará.

Opciones en el desarrollo para móviles

Lunes, Noviembre 10th, 2008

smartphones-varios

Con la llegada del Iphone y su cada vez más larga lista de competidores se plantea un nuevo problema para los desarrolladores de aplicaciones móviles.

Hasta ahora las complicaciones estaban relacionadas con las diferencias entre las implementaciones que cada fabricante hacía de las especificaciones de java, lo cual obligaba a realizar variaciones en el código de la aplicación según el modelo o marca del teléfono sobre el que ésta se ejecutaba.

Actualmente estamos en un periodo de cambios en la telefonía móvil, junto con los modelos “clásicos” empiezan a convivir cada vez en mayor número dispositivos con pantallas de mayor tamaño y resolución, distintos tipos de teclado y sobre todo diferentes sistemas operativos.

Esto hace que a la hora de abordar el desarrollo de una aplicación para móvil debamos decidir si nos interesa abarcar el mayor número de dispositivos posible  o bien centrarnos en uno o varios modelos concretos. La decisión dependerá evidentemente del tipo de usuario al que queramos llegar, pero también debemos tener en cuenta los costes de realizar la aplicación para distintos sistemas operativos, lo cual implica distintos lenguajes de programación así como el pago de posibles licencias de desarrollo y también diferentes formas de distribución (como el App Store de Apple).

En las siguientes entradas intentaremos dar un pequeño repaso a las distintas opciones que hay hoy día en el desarrollo para móviles desde el punto de vista del programador, centrándonos en las plataformas de desarrollo disponibles, las formas de distribución de aplicaciones y las características especiales de cada dispositivo.

Alérgicos a las interfaces de usuario, ¡convertíos!

Miércoles, Noviembre 5th, 2008

En este mi primer post y me gustaría llamar la atención de los programadores de proyectos pequeños y medianos, sobre un tema que suele caer en el olvido: el DiSeÑo previo de la Interfaz de Usuario. Los beneficios de perder dedicar un tiempo en la fase inicial del proyecto planeando el aspecto de la interfaz e incluso la distribución de todas las opciones y funcionalidades, no son sólo para el cliente, creedme, también lo son para el equipo de desarrollo.

Os pondré un ejemplo sencillo. A ningún director de cine se le ocurriría empezar a rodar una peli sin un buen storyboard , ¿cierto?. Lo que es más, qué productor invertiría en un guión sin diseño de secuencias convincente. Pues sí chicos, a veces los programadores pecamos de visionarios, o quizá de optimistas o simplemente infravaloramos los proyectos…

Pues bien, yo solo quería recodar que un buen diseño de la Interfaz de Usuario previo básicamente nos permitirá:

  • Ofrecer al cliente una idea fiel del producto final, no creando falsas expectativas.
  • Detectar en la fase previa necesidades de ajustar el diseño de clases y de la base de datos, que de otro modo sólo aparecerían demasiado tarde.
  • Crear aplicaciones más coherentes, más sencillas, y más estéticas, con lo cual serán sin duda más amigables y útiles.

Satisfecho el usuario final > satisfecho el cliente > satisfecha la empresa > felices todos  ;)