Archive for the ‘mobile’ Category

Android, ahora me toca a mi

Sunday, November 18th, 2007

A estas alturas la mayoría ya ha hablado de Android, lo que se suponía iba a ser el gPhone. Con este tema he querido evitar dar la primicia y esperar a que la gente hable sobre ello para así poder copiar utilizar sus ideas para elaborar la mía.

En principio la cosa pinta muy bien. Un SDK libre para el desarrollo de aplicaciones para móviles suena espectacular. Además muchas de las grandes está en el ajo, incluyendo a Google, claro. Ahora, hay importantes ausencias como Nokia o Vodafone, lo que a mi me parece bien, así habrá más competencia.

Lo que me gusta también es que la barrera de entrada para el desarrollo para móviles ha bajado considerablemente siendo ahora mismo accesible a casi cualquiera. Disponer de un framework y reusar código va a permitir a muchos dedicarse a lo que importa :) Y lo que importa es hacer aplicaciones molonas.

Una de las cosas que me preocupa es que no parece que haya contenido Flash dentro del navegador:

During Q&A he said he hadn’t “heard” if Android will support Flash Lite, but he did say the Webkit would support Netscape style plugins.

El navegador es Webkit, el mismo que el hay en el iPhone (y en Safari o en el navegador de aplicaciones dentro de AIR, viva el código abierto) así que puede que tengamos Flash en el iPhone y en Android al mismo tiempo, pero Raúl no lo ve tan claro.

Otra cosa bastante interesante es que todas la empresas que utilicen Android están obligadas a usar la misma máquina virtual. Como bien saben los que desarrollan Java para móviles, el que cada fabricante haga unos pequeños cambios en la máquina virtual se convierte en un infierno para el desarrollador. Y digo yo, la mayoría de los que se oponen a que Adobe libere el player de Flash se basan en que acabaríamos con distintas versiones del player y con el mismo problema que tienen ahora mismo los que desarrollan HTML y estándares: cada fabricante interpreta el estándar como quiere. Bueno, pues parece que Google tiene la receta. ¿Quieres usar mi máquina virtual? Perfecto, aquí tienes el código, míralo todo lo que quieras y si encuentras un bug o quieres añadir algo, me lo dices y lo añadimos en la próxima release. Es decir, una máquina virtual supervisada por miles de empresas y no por una sóla. Golazo por la escuadra a mi entender.

Me ha dado mucho que pensar este post sobre cómo Google se las ha apañado para “saltarse” la licencia de Java para móviles. A día de hoy los fabricantes que quieren Java en sus móviles le pagan una pasta importante a SUN, así que ¿cómo es que Android es libre? La respuesta se llama Dalvik. Y es que la máquina virtual de Android NO es JavaME, es Dalvik. Y como ha sido creada desde cero y por Google, pues no tienen nada que pagar. Google 2, Sun 0.

Así que se programa en Java pero se compila a un bytecode distinto…. ummmm, suena bien. ¿No molaría que te cagas que alguien hiciera lo mismo con Flash? ¿Programar en AS3 y compilar para por ejemplo un player libre de SVG? Sin mover un dedo ganas a toda la base de programadores existentes, incluyendo todos los frameworks y librerías. Además no fuerzas a los programadores a buscar otro IDE, otros foros, comprar otros libros…. jugada maestra.

Y para acabar, un poco de dudas. Al principio yo estaba muy feliz en cuanto oí libre y móvil juntos en la misma frase. En seguida pensé que, como usuario, podría hacer lo que me diera la gana con mi móvil basado en Android. Añadir y quitar aplicaciones, tener menús inteligentes, etc.

Ahora no lo tengo tan claro. Parece que Android le va a dar mucha flexibilidad a las empresas, pero nadie ha dicho aún que esa flexibilidad le llegue a los usuarios. La licencia permite a los fabricantes cerrar los terminales a modificaciones. Veremos en qué queda todo. Habrá que seguir con los ojitos OpenMoko y Ubuntu Mobile por si acaso.

Y para terminar de verdad de la buena. Android está basado en el núcleo Linux, El SDK y la máquina virtual serán abiertos, la mayoría de los desarrolladores lo harán sobre Eclipse que también es libre….

¡VIVA EL CÓDIGO ABIERTO!

:D

pd: El análisis más a fondo que he encontrado está en Linux Hispano: Android vs Otras plataformas. Especificaciones.

Toshiba Portégé G900

Wednesday, August 8th, 2007

En mi empresa hacemos aplicaciones para móviles por lo que muchas veces compramos directamente al fabricante, instalamos nuestras cositas y vendemos nosotros al cliente. Por eso de vez en cuando los fabricantes nos prestan chucherías para que las probemos. Así que tengo una Toshiba Portégé G900 encima de la mesa. Y no me gusta NADA.

La cosa empezó bien, la caja y el diseño del bicho realmente están bien. Aunque es un poco pesada, da sensación de robusta. Cuando la abres para sacar el teclado al principio “se resiste” pero luego da el saltito hasta el final, es agradable de manejar, incluidos los botones.

Ahora, comparada con mi “vieja” PDA (Vodafone v1620) es LENTA. Pero lenta, lenta. Lo gracioso es que tiene más memoria y mejor procesador…. Entonces ¿por qué va mas lenta? Pues yo diría que la culpa se llama Windows Mobile 6. La vieja PDA tiene Windows Mobile 2003 y va mucho, mucho más rápida en cualquier tipo de tarea. Desde abrir el menú de inicio, el navegador, otros programas… lo que sea. La Toshiba se arrastra.

Aunque la pantalla tiene muy buena calidad, como han aumentado la resolución, todo es más difícil de manejar, necesitas mucha más precisión. Ahora cuando voy a la vieja me da la sensación de estar ante un monitor de 800×600. Pero es que lo prefiero. La vieja se maneja prácticamente con el dedo porque los botones son grandes. En la nueva tienes que usar casi siempre el lápiz.

Así que en lugar de dar pasos para adelante, los damos para atrás. En este caso un modelo nuevo va peor que el viejo. ¿Qué más me da que tenga instalado Live Messenger u Opera si no es usable en práctica? No sé si será culpa de Toshiba o de Windows Mobile 6, pero yo diría que en último lugar de Toshiba por meter en un dispositivo una aplicación (Windows) con la que no puede.

Y todo esto me hace recordar mi teoría de no comprar JAMÁS un móvil, PDA u ordenador sin haberlo tocado y probado antes. Los anuncios son muuuuuuuy bonitos, pero la realidad es tozuda :)

¿Y nuestras aplicaciones? Pues funcionar funcionan, pero como el sistema va lento, pues lentas van tambien : |

Flash en la PSP ¿quieres las buenas o las malas noticias?

Thursday, October 12th, 2006

Buenas,

Tengo la suerte/desgracia/reto de hacer algunas aplicaciones para dispositivos móviles, la mayoría PDAs con Windows Mobile 5. No soy ningún freak que se mata por tener el último modelo, no le he instalado Linux a mi Nokia y no reinicio servidores através de SMS. Con esto vengo a decir que sé le justo tanto de cacharros como de desarrollar para ellos. También aclarar que el tiempo de pruebas con la PSP ha sido poco más de un día.

Bueno, pues después de la chapa inicial, os cuento que este lunes me calló una PSP blanquita y reluciente junto con el encargo de hacer funcionar algunas de nuestras actuales aplicaciones en ella. Bien, vamos a darle caña a Google. Lo primero que necesitas es tener como mínimo la versión 2.7 del firmware. En caso contrario, a la web de Sony a por ello. Lo siguiente es que actives el Player de Flash, ya que viene deshabilitado por defecto. Está en las opciones del sistema (lo siento, pero ahora no tengo a mano el bicho), por lo que es bastante sencillo de hacer. Cooooooorrecto, vamos bien, esto está chupado.

Malas noticias

No tan rápido. Básicamente, el player de la PSP es una versión 6, pero no es un player 6 completo. Que yo sepa le falta:

  • Context Menu
  • Video
  • Printing
  • Live Connect (comunicación JS <-> Flash)
  • La comunicación con FlashMediaServer o derivados
  • XMLSockets
  • alguna cosilla más…

Eso oficialmente. Luego le sumamos los bugs que ya se conocen:

  • A mi me ha pasado, y por lo visto a más gente, que al fallar la carga de un XML el evento onLoad no saltara llegándole false como parámetro, la aplicación simplemente se paró. A mi esto me parece bastante grave ya que no se trata de que una característica del player se implemente o no, sino que está implementada a medias y rompe claramente compatibilidad hacia atrás. Por supuesto no hay una lista oficial al respecto.
  • setMask no hace máscara sobre un campo de texto con fondo (sí sobre el texto, no sobre el fondo)
  • Parece que los SharedObjects sólo funcionan durante la sesión
  • Si el usuario presiona el botón de Home o el de Select pero no sale finalmente del navegador, dejan de funcionar las funciones de red (loadMovie, xml load, etc). Parece que cambiando a otra pagina distinta y volviendo, la cosa vuelve a funcionar, pero necesitaría hacer más pruebas
  • He visto como salía la mano de enlace en elementos que no tenían acciones asignadas, puede que sea porque alguno de los clips que contenía sí que tuviera acciones. Se necesita más investigación

A lo que sumamos algunas “peculiaridades”:

  • Hay que hacer por lo menos un click sobre el contenido para “activarlo” (se incluya el objeto Flash con JS o directamente)
  • No tiene relación con Flash, pero para conectar la PSP al PC necesitas ir explícitamente a un menú. Cuando sales de ese menú, la conexión con el PC se cierra automáticamente. Con lo que el ciclo compilar, actualizar, probar es un poco coñazo
  • Se necesita mucho control sobre el joystick del cursor, lo cual hace un poco complicado el uso de las aplicaciones. Especialmente si los botones no son bien grandes. También hay que reconocer que no soy un jugón habitual.
  • Las rutas para la carga de elementos externos deben ser absolutas. Son algo del estilo “file:/psp/carpeta1/carpeta2/wadus.swf”. Depende de lo espabilado que hayas estado a la hora de picar tu aplicación, esto puede ser algo muy complicado o no. Yo lo solucioné ańadiendo la etiqueta base a la página HTML que incluye la película Flash. Fiiiiiiiiiiiiiiiiu

Buenas noticias

Jeje, pensábais que no iban a llegar ¿eh? Pues las buenas noticias son que, sabiendo todo lo previamente dicho, las cosas funcionan más o menos a la primera. Nosotros tenemos un pequeńo framework para aplicaciones que incluye XPath, carga de XMLs, Delegates, EventDispatcher y alguna otra cosilla y funcionó casi a la primera (después de solucionar todo lo anterior, claro).

Estamos haciendo funcionar antiguas aplicaciones hechas en AS1 + player 6 sin problemas, incluyendo animaciones por línea de tiempo. La velocidad y fluidez del cacharro yo creo que es comparable al del resto de PDAs que usamos normalmente en mi empresa.

Andaba en un dilema sobre si poner o no alguna captura de pantalla (temas de empresas, you know) cuando justo me entero que mi jefe ha abierto hace poco un blog sobre dispositivos móviles y ha colgado él mismo un post sobre ello: Make your own Playstation (PSP) resources!

Conclusiones

Esto es más o menos todo para el primer round friki vs PSP. Luces y sombras, aunque no pinta mal del todo. Si alguien ha hecho más pruebas y no está encontrando los mismos resultados que yo, estaría encantado de que dejara comentarios sobre ello, ya que son necesarias muuuuuuuuchos más tests.

Salud :)

[Actualización]

mrdoob apunta que tampoco se puede esconder el puntero del ratón, cosa bastante útil para juegos y tal. También que la diferencia de rendimiento entre un PC y la PSP es bastante notable y sí, es verdad. Eso sí, la diferencia de rendimiento comparado con otros dispositivos móviles es menor.

[/Actualización]

Links con más info:
Sony PSP & Flash Player 6: Supported Features
Flash on the PSP - some issues and details
Viewing Flash on PSP