jueves, 27 de octubre de 2011

Implicaciones del diseño actual en HTML5

Seguramente ya has oído hablar de la nueva versión del lenguaje de programación HTLM5, es la quinta versión de el lenguaje básico de la World Wide Web, regulado por el Consorcio W3C.

Para quienes no saben de que se trata, aquí les presento algunos datos

HTML5 (HyperText Markup Language, versión 5) es la nueva versión del lenguaje básico HTML, para presentar contenidos en la internet, todavía se encuentra en fase beta experimental.

HTML5 ofrecerá una mayor compatibilidad y mejor organización de contenidos por las nuevas etiquetas que incorpora para manejar la Web Semántica.

HTML5 traerá nuevas características para incorporar vídeos, audio, tipografías y animaciones, entre otras.

Por este último punto se ha hablado mucho en que será un sustituto para Flash Player, aunque sin duda no abarca la totalidad de características que ofrece Flash en el desarrollo de aplicaciones de alto impacto, si es favorable que sustituya los usos más simples de Flash.

Implicaciones del desarrollo actual en HTML5.

En este momento, que escribo esta nota, el desarrollo profesional en HTML5 para muchos es una imposibilidad, el hecho de que aún está en fase beta, lo cual implica que no todos los navegadores que utilizan los usuarios interpreten correctamente las nuevas funciones, puede traer más complicaciones que soluciones. Por mientras podemos ir experimentando y testando las nuevas características.

Los desarrolladores aún no contamos con herramientas específicas y profesionales para crear contenidos complejos en este lenguaje, si sabemos que contaremos con ellas en un futuro. Adobe ya tiene su software especializado en animaciones HTML5 y CSS3 también en fase beta, se llama Edge, similar a otros programas con línea de tiempo, como existe en la interface de Flash o After Effects.

Edge a diferencia de Flash aún no cuenta con opciones para manipular el código que genera, de una forma limpia. A quienes nos gusta animar con código en Action Script, porque sabemos que tenemos un mejor control y muchas más posibilidades en animaciones interactivas que en línea de tiempo, Edge no parece estar apuntado hacia nosotros, al menos por el momento. Por lo que debemos recurrir a utilizar programas de edición de texto, como Dreamweaver entre otros, pasando por una curva de aprendizaje y somos conscientes de que en los países de habla hispana, la información más completa y reciente no siempre esta a nuestro alcance en una primer instancia, lo que dificulta la creación de una comunidad en línea involucrada.

Siempre podemos contar con HTML para proseguir nuestros desarrollos, este no quedará obsoleto, HTML5 no lo elimina, simplemente le agrega nuevas características y funciones. Algunas de ellas sustituirán a librerías de javascript y algunos contenidos en Flash ya que en combinación HTML5 + CSS3 lograrán cosas que hasta ahora únicamente con javascript y/o Flash se conseguían.

The Expressive Web. link

Adobe lanza un sitio en HTML5 y

CSS3 donde muestra las principales nuevas características

y lo que se puede lograr con ellas, también muestra el porcentaje de usuarios que pueden, a la fecha, ver correctamente cada una de ellas (para muchas alrededor del 50%).

Flash Player 11. link

Hace algunos días Adobe ha lanzado la nueva versión de Flash Player 11, ésta trae mejoras en cuanto a compatibilidad con plataformas móviles y la codificación de vídeos.







Además trae nuevas características para soporte 3D muy impresionantes, sin duda esuna plataforma completísima para desarrollar juegos y aplicaciones de alto impacto, expresivas encuanto a animaciones, rendimiento y experiencia de usuario, donde en este punto difícilmente HTML5 lo supere.

Aquí se nota claramente el rumbo que van tomando estas tecnologías, HTML5 es una evolución del HTML, lenguaje creado para publicar contenidos en internet (aunque puede tener otros usos) y Flash se utiliza para crear contenidos de alto impacto, aplicaciones y juegos que pueden o no presentarse en internet.

Desarrollar sitios de impacto.

Actualmente, desarrollar un sitio de impacto con las libertades que estamos acostumbrados por Flash, muy difícilmente se puede lograr con HTML5, por las trabas que mencioné anteriormente, así que podemos morir en el intento y simplemente conseguir un sitio en HTML con alguna que otra característica nueva, si no queremos sacrificar a un gran porcentaje de usuarios.

Justamente esta libertad que nos hace pensar que todo es posible en Flash y que únicamente la creatividad es el límite, también pasa por encima de los estándares de la publicación de contenidos en la web, es un tema que los desarrolladores no debemos pasar por alto si pensamos utilizar esta tecnología para publicar contenido en la web y no abusar de ella para realizar tareas que fácilmente se logran con javascript y jquery.

Gracias a plataformas, como por ejemplo Gaia Flash Framework, solventamos muchos de estos inconvenientes y logramos producir sitios de impacto en Flash que cumplen estándares. Se generan páginas, se habilita el historial del navegador, se aplican técnicas SEO (Optimización de motores de búsqueda) de tipo White Hat, aceptadas por los motores de búsqueda como Google, para aplicar metadatos y para crear contenidos alternativos a Flash para móviles. Existe una optimización y organización que ofrece este tipo de plataformas para regularizar los inconvenientes que puede generar un sitio creado en Flash.

Como base para definir si crear un sitio en Flash o en HTML, tenemos que poner en la balanza nuestras prioridades, si el sitio a crear debe ser principalmente funcional o principalmente estético, si se busca generar una experiencia de usuario rica o nos interesa ofrecer la información abiertamente. En fin, si buscamos despertar sensaciones o preferimos ir a lo práctico.

Claro que el matiz del diseño y la creatividad van a jugar el principal papel y van a entremezclar estos términos, independientemente de la tecnología que utilicemos.

HTML5 vendrá para romper en algo este esquema y ofrecer la posibilidad de brindar contenidos ricos en experiencia basados en HTML, lo que lo hace muy prometedor de cara al futuro.

Vídeos en HTML5 y Flash.

HTML5 cuenta con soluciones alternativas a Flash para reproducir vídeos simples, este ha sido el punto que más ha motivado el uso de HTML5 en estos tiempos, por la gran cantidad de vídeos existentes en la web. Es una buena alternativa mas que nada para visualizaciones en dispositivos móviles que no cuentan con los plugins para ver Flash.

De todas formas los sitios más importantes de reproducción de vídeos continúan mostrando sus contenidos en Flash, para ofrecer una mejor experiencia de usuario, con características más avanzadas, como en el manejo del streaming, la protección de contenidos y fácil personalización de la experiencia de usuario. Exclusivamente para móviles ofrecen su versión en HTML5.


Dispositivos móviles y Flash.

Algunos de los dispositivos móviles aceptan plugins para visualizar Flash Player, otros como los de Apple han bloqueado estos plugins ya que consumirían más recursos de los que el dispositivo puede ofrecer, siendo dispositivos con bajas características en comparación con los equipos de cómputo.

Otros ven planes más oscuros por parte de Apple, ya que la app que ha sido la más vendida del AppStore para iOS iPad, que a propósito fue el juego Machinarium, esta creada en Flash, no podemos acceder a ella de otra manera que no sea pasando por la caja de Apple. En caso de que el dispositivo aceptara Flash Player podríamos ingresar a la aplicación en línea. En cierta forma Apple seguirá manteniendo el control de qué es lo que se usa en sus dispositivos móviles, aunque tenga que limitar sus propios equipos.

Flash no se utiliza exclusivamente para contenidos en internet, si no que es una excelente plataforma para desarrollar juegos y aplicaciones que luego podemos instalar en equipos tanto Windows, Mac OS, apps para iOS iPad y iPhone, Android, etc. por medio de AIR o por instaladores nativos.

A pesar de todo ciertamente Flash Player no es la mejor forma de visualizar contenidos web en un dispositivo móvil, y si queremos que nuestros sitios sean vistos de la mejor manera posible en estos dispositivos tenemos que generar contenidos alternativos a Flash y en caso de sitios en HTML también es bueno contar con un nuevo diseño con hojas de estilo CSS exclusivas para re- ordenar los contenidos para mayor comodidad en las pantallas pequeñas o utilizar soluciones como jQuery Mobile, en javascript.








En resumen.

Algunas de las ventajas del uso de HTML5 en este momento:

Mejor organización de los contenidos, manejando la Web Semántica.

Nuevas características para incorporar vídeos, audio, tipografías y animaciones.

Posibilita la visualización del sitio en dispositivos móviles.

Las desventajas:

Aún se encuentra en fase experimental, por lo que no tiene total compatibilidad con todos los navegadores de nuestros usuarios.

Falta de herramientas profesionales especializadas en sacar ventaja de todas las capacidades del nuevo lenguaje para lograr contenidos de calidad.

Falta de una comunidad de habla hispana de apoyo que este involucrada.

Para el desarrollo actual en Flash podemos encontrar las siguientes ventajas:

La posibilidad de hacer uso de características avanzadas para crear contenido de impacto, brindando mayor libertad creativa.

La buena compatibilidad para visualizar el contenido Flash en dispositivos que tienen instalado Flash Player.

La posibilidad de publicar nuestras aplicaciones y juegos como aplicaciones de escritorio, para diferentes sistemas.

Las desventajas:

La imposibilidad de visualizar contenido en Flash Player en dispositivos móviles, como los de Apple.

La mala indexación y seguimiento de un sitio en Flash si no se han tenido en cuenta puntos claves, como los que se encarga de resolver plataformas como Gaia.

Consumo de recursos superior al de un sitio web en HTML.

Mayor grado de dificultad para la integración con tecnologías de servidor como PHP.