miércoles, 22 de mayo de 2013

Seminario Developers Windows 8

Hace algo más de un mes, estuve en el Seminario para Desarrolladores de Windows 8, organizado por Movilforum en las oficinas de Microsoft Ibérica. Aunque ya ha pasado bastante tiempo, no está de más dejar por aquí las impresiones para comparaciones o reflexiones futuras.

El semiario

El Seminario Developers Windows 8 se desarrolló en uno de los ya familiares salones de eventos de Microsoft Ibérica, esta vez reducido a un tercio de su capacidad. El seminario se dividió en varias charlas que pasaron desde ser teóricas a prácticas, comerciales y finalmente de prospección.


Experiencia de usuario en aplicaciones Windows 8 para desarrolladores


Fue un acierto abrir con temas de diseño de interfaces y usabilidad, con una exposición más bien teórica para explicar los conceptos subyacentes en la nueva filosofía de la interfaz Modern UI, la antiguamente llamada Metro –mal llamada Metro, según el expositor-.

En una presentación atractiva se habló de la estructura de la interfaz, su simplicidad y los principios de diseño subyacentes, inspirados en la escuela de diseño alemana Bauhaus.

Como la mayoría de los presentes no éramos diseñadores, el ponente (diseñador) recalcó lo imprescindible de poner un diseñador en cada equipo de desarrollo alegando que:


  1. Los usuarios no quieren aplicaciones “feas” como las que hacemos los programadores que sabemos poco o nada de diseño.
  2. Las normas del Market de Microsoft son tan estrictas que te pueden rechazar una aplicación que no cumpla con las normas de diseño de interfaz. Tanto así, que un desajuste en el número de píxeles de distancia entre 2 botones puede ser señalado como una falta.


Desarrollo de Aplicaciones Modern UI para Windows 8


En esta sección el conferenciante (un desarrollador) comenzó con una demostración práctica, generando una aplicación para Windows 8, partiendo de dos plantillas de aplicación para el Market: C++ con XAML, y C# con XAML.

Luego de la demostración en vivo, se repitió el tema de lo estricto del proceso validación de las aplicaciones para el Market, esta vez desde el punto de vista del tiempo de ejecución, consumo de memoria y recursos en general.

Una nota curiosa es que la versión de C++ utilizada fue C++0x que ya incluye varias características más modernas que lo acercan a las facilidades de programar con C# y, por primera vez, programar en C++ no me pareció un recuerdo penoso, de mis tiempos de estudiante en la UCLV.

Por otra parte, la información más útil no vino de la exposición, sino al terminar ésta e ir a conversar con el ponente. De esta charla podría extraerse que Microsoft no tiene ahora, ni tendrá en un futuro inmediato, ningún producto que remplace u ofrezca las oportunidades de control de dispositivos móviles como lo hacía Windows Mobile. Según entendí, Microsoft está ahora enfocado en el desarrollo de aplicaciones de consumo o para las grandes masas, estando el sector empresarial un poco aparcado pues la prioridad son las aplicaciones para dispositivos móviles con muy bajo consumo energético y una respuesta rápida en la interactividad, condicionando todo lo demás a esos dos requisitos.

En este sentido y para garantizar esos criterios, según dijo, las aplicaciones desarrolladas en el modelo del market tienen un número bastante limitado de procesos que pueden ejecutarse en background, que tienen un tiempo muy limitado de CPU que le es asignado en intervalos periódicos de tiempo y que, en última instancia, están en manos del usuario que define si se ejecutarán o no. Por lo que, con las herramientas y los marcos de trabajo actuales no es posible desarrollar aplicaciones que se ejecuten en background de forma continua, en un dispositivo móvil, con cierta prioridad y control sobre parámetros del hardware, como el GPS para hacer geofencing o un acelerómetro para detectar una caída –casos por los que pregunté explícitamente y que negó pudieran ser controlados, salvo por una aplicación que estuviera en ejecución activa en el front-.

Herramientas de desarrollo para la Modernización de Aplicaciones


Esta fue la menos interesante de las exposiciones pues fue una charla bastante comercial, orientada a informar sobre las bondades de los productos de desarrollo de Microsoft y los beneficios de suscribirse al MSDN; pero como la mayoría de los que estábamos presentes debíamos ser consumidores de dichos productos fue un tiempo mal invertido, por parte del expositor y de los oyentes.

Experiencias únicas móviles con RA y comunicación en proximidad


Esta charla versó sobre las plataformas de Qualcomm para el desarrollo de aplicaciones en dispositivos móviles. (Qualcomm es el fabricante de los procesadores Snapdragon y, en general, de los procesadores utilizados por fabricantes como HTC, Samsung y Sony.)

De modo que ésta prometía ser una de las exposiciones más interesantes; pero terminó siendo la más rápida y condensada de todas porque, lamentablemente, cuando comenzó había una hora de retraso en el programa y la gente estaba intranquila por pasar tanto tiempo sentada sin pausas entre charlas y por la cercanía de la hora de comida.

No obstante, el mensaje llegó claro: en la QDevNet (Qualcomm Developer Network) tenemos una plataforma para desarrolladores donde se dan muchísimos recursos gratuitos para hacer desarrollos de aplicaciones móviles que aprovechan mejor el hardware y que simplifican algunas tareas, usualmente costosas.

En concreto se hizo hincapié en el SDK AllJoyn, enfocada a simplificar las comunicaciones peer-to-peer para la interconexión directa de dispositivos por Bluetooth, Wifi o cualquier otro medio que permita establecer un enlace P2P. Pero también se mencionaron SDKs para la facilitar el procesamiento de imágenes o la construcción de aplicaciones con realidad aumentada.

Lo cierto es que, a pesar de haber sido la más corta, creo que esta fue la charla que más ideas de oportunidades e información nueva aportó. Solo con entrar en la Web del QDevNet y echar un vistazo puede verse todas las plataformas soportadas, las SDKs disponibles y los recursos de información que se ofrecen.

Conclusiones

En Windows Phone y Windows 8, Microsoft se ha trabajado una interfaz de usuario atractiva y diferente, con unos conceptos de interacción interesantes que, apoyados en sus excelentes herramientas de desarrollo podrían ser una muy buena opción para desarrolladores y consumidores. Sin embargo, en los desarrollos para dispositivos móviles, su persistente falta de soporte a algunas características básicas para aplicaciones cuya funcionalidad recae más en el trabajo en el background, lo limitan significativamente y lo hacen que aún no llegue a ofrecer las funcionalidades que sí daba su ya vetusto predecesor Windows Mobile. De modo que, a los efectos de ciertos tipos de aplicaciones de uso empresarial y parafraseando un antiguo post Windows Mobile ya es historia; pero sigue sin sucesor.