 
"RECUADRO GRIS EN TORNO A MI FLASH"... premio a la popularidad de los últimos meses
¿Cuántas veces hemos leído la famosa pregunta sobre el recuadro gris en torno a las películas flash? Unas cuantas. ¿Cuantas veces se ha respondido? Otras tantas. Pero ya se está notando el "tono" de aburrimiento incluso para decir "eso ya está preguntado, usa el buscador"... Así es que antes de que se produzca alguna "pelea" por algún mal comentario, respuesta irónica o simplemente un mal día, este artículo viene al recate de la paz mmugdial y pretende (muy pretenciosamente) acabar con la famosa pregunta que, a estas alturas, nos hace aparecer el recuadro gris en nuestro ceño fruncido.
Capítulo 1: El comienzo del fin
(Título alternativo del capítulo: el nacimiento de cuadrito-gris)
Cuando MS Internet Explorer 7 salió a la luz pública, muchos usuarios se dieron cuenta de algo extraño. Cuando colocaban el cursor sobre ciertos elementos insertados en una página web (por ejemplo peliculas Flash), el browser les mostraba un mensaje como el siguiente: "Haga click aquí para activar y usar este control", además de insertar un marco gris alrededor del elemento. Esto significaba que para interactuar con dicho elemento el usuario debía hacer un click sobre él para activarlo.
Como la historia lo ha demostrado, al chileno (bueno, dejémoslo en "ser humano" y hagamos un artículo cosmopolita) no le gustan los cambios, y el hacer click venía a mover todo el universo conocido causando un desajuste que trajo consigo guerras, pestes, hambrunas y el calentamiento global. Mmmmm... creo que cuadrito-gris no fue el causante de todo ello, pero al menos si produjo molestias a más de alguno.
Luego del nacimiento de cuadrito-gris, comenzaron las búsquedas para dar con la manera de acabar con su vida.
Capítulo 0: The Begining
(Titulo alternativo del capítulo: Si Star Wars está desordenada, ¿por qué este artículo no?)
A long time ago, in a galaxy far, far away, la Universidad de California patentó una técnica que permitía insertar elementos en un documento HTML que se conectaban con programas externos para funcionar (un original ejemplo: el plugin de Flash), técnica que incluía además los procedimientos necesarios para que dicho elemento se activara inmediatamente, sin necesidad de una activación manual por parte de los usuarios. Los browsers utilizaban esta técnica con todos los elementos insertados en un documento HTML mediante las etiquetas OBJECT, EMBED y APPLET. Esto incluye -entre otros- películas Flash, películas Shockwave, archivos de video, archivos de audio, applets de Java, documentos PDF, etc.
Darth Gray Vader, dueño de la empresa Eolas Technologies Inc. (que tenía la única licencia para utilizar esta técnica) llevó a juicio a Microsoft por vulnerar la patente en su navegador Internet Explorer. Eolas ganó este juicio, lo que obligó a Microsoft eliminar esta técnica a partir de la versión 7 de Internet Explorer (ya que no quiso pagar por la licencia), afectando también a algunas actualizaciones de la versión 6. Posteriormente el navegador Ópera también sucumbió ante la patente, obligando a los usuarios a activar manualmente estos elementos a partir de la versión 9 del browser.
Como verán, cuadrito-gris(ocultando su real apellido "gray") es hijo de Eolas.
Capítulo 2: A new hope
(Título alternativo del capítulo: La esperanza de matar a cuadrito-gris. Opciones y Técnicas.)
Una solución que surgió para los usuarios de MS Windows era desinstalar el parche que obligaba a esta activación manual, pero luego se volvía a instalar con cada actualización que se hacía del sistema operativo mediante Windows Update.
Una segunda solución surgió para los webmasters: insertar los elementos OBJECT, EMBED y APPLET en los sitios web mediante Javascript, de esta manera se conseguía su activación automática, pasándose la patente de eolas por el... lado oscuro... de la fuerza.
Ante esto, varios desarrolladores se pusieron manos a la obra y se crearon diversos scripts para que los webmasters los pudieran incorporar a sus trabajos.
A continuación revisaremos 3 de las opciones más conocidas (yo no voy a decir que la tercera es la mejor... sería feo interferir en la decisión de ustedes... y a Raspu le daba pudor escribir un artículo tan auto-referente... pero, definitivamente, la tercera opción es la mejor... perdón, no trato de interferir, pero al momento de tomar la decisión, recuerden que la tercera es la mejor):
Opción 1: En esta esquina, pesando pocos kilobytes, luciendo un cinturon por su fama mundial, llega SWFObject (http://blog.deconcept.com/swfobject)
Es un pequeño Javascript creado por Geoff Stearns (¿Y este quién es?). En sus orígenes se conoció como FlashObject, pero su autor tuvo que cambiarle el nombre para evitar problemas legales con Macromedia, propietaria en ese entonces de la marca Flash.
Este script permite no sólo insertar las películas flash en un documento HTML, sino también detectar la versión de Flash Player requerida, avisándole al usuario que debía actualizar el plugin instalado en su browser.
Opción 2: En la otra esquina, pesando algunos kilobytes (pero con un sobrepeso gigante ya que debes tener dreamweaver y la licencia ufff! no es liviana) y de la mano de su promotor Macromedia/Adobe, llega ActiveContent Script (http://www.adobe.com/es/devnet/activecontent/articles/devletter.html)
Utiliza una metodología muy similar a la de SWFObject. Posteriormente se publicó una extensión para Macromedia Flash que incorporaba estos scripts; lo mismo ocurrió con Dreamweaver a partir de la versión 8.0.2; esto permitió a los webmasters delegar en estos programas el trabajo sucio de insertar los flash mediante Javascripts.
¡¡Comienza la pelea!!... golpes van, golpes vienen... durante la pelea podemos sacar algunas conclusiones:
Si bien las soluciones de Geoff Stearns y Macromedia/Adobe gozan de gran fama y popularidad, adolecen de ciertos inconvenientes que podrían convertirse en un dolor de cabeza para quienes los usan:
- SWFObject soluciona el problema sólo para las películas Flash.
- El acceso a las películas Flash está sujeto a la disponibilidad de Javascript en el navegador del usuario. Se puede meter mano, pero implica duplicar código innecesariamente. (Aprovechando la oportunidad: ¿Les dice algo la palabra accesibilidad?)
- Su uso implica necesariamente mezclar código Javascript entre el código HTML del documento, haciendo difícil y más laboriosa su mantención o posteriores modificaciones.
- Estos scripts no tienen efecto cuando se utilizan sobre documentos servidos como XML (que es la forma correcta de utilizar XHTML) debido al uso de document.write() en el código Javascript. Si bien esta forma de utilizar XHTML no se encuentra muy extendida, se prevé una mayor popularidad cuando mejore su soporte en los browsers debido a sus grandes beneficios.
¡¡¡Y atención!!! Aparece un tercer contrincante en la pelea...
Opción 3: JS Embedded Content
El promotor de este contrincante, el mmugriento Raspu, vio los defectos de los 2 peleadores y decidió salir a la pelea con este script que está desarrollando desde el año 2006. Sus principales características son:
- Es muy sencillo de utilizar, ya que todo el código Javascript necesario se encuentra disponible en un archivo externo, lo que permite un documento HTML más limpio y fácil de mantener.
- Trabaja sobre todos los elementos OBJECT, EMBED y APPLET insertados en un documento HTML.
- La visualización de estos elementos no se verá afectada si el usuario no dispone de Javascript en su navegador.
- A partir de la próxima actualización del script será compatible también con documentos servidos como XML (al momento de escribir este artículo la última versión era la 1.1.0).
Se encuentra disponible en:
http://jactivating.sourceforge.net
Epílogo:
Como desarrollador web, he probado el JS Embedded Content y ha funcionado a las mil maravillas. Lo uso en conjunto con la manera "correcta" de insertar un elemento flash que se describe en el artículo http://www.mmug.cl/articulos.php?id=278
Así logro que el código quede muy limpio, que sea html válido y que si alguien no tiene JavaScript, simplemente tendrá que hacer click en el objeto a petición de su navegador favorito y podrá seguir todo funcionando con normalidad.
Sección de Créditos y tiradas de flores
El artículo lo escribí yo porque Raspu encontraba muy autoreferente escribir el artículo sobre un script que él había desarrollado. Nada, con tanta corrupción dando vuelta, la autoreferencia es un pecado perdonable ¿no? Bueno, igual oficialmente voy a firmar yo, pero los aplausos se los dirigen a Raspu. A mi me pueden dejar felicitaciones por la gramática, la ortografía o por la idiotez (creatividad le dicen otros) metida en el hilo conductor del artículo.
Escrito por LESTER FIBLA SAAVEDRA www.lesterfibla.com
Aplausos para DAVID MUÑOZ, alias Raspu.
P/D: Recuerden, el mejor consejo del día: inserten su flash usando el código descrito en el artículo http://www.mmug.cl/articulos.php?id=278 y luego agreguen el script que está en http://jactivating.sourceforge.net y habrán hecho desaparecer a cuadrito-gris sin provocar daños a terceros.
www.lesterfibla.com
lesterfibla( )
14/03/2007

|