Archive for the ‘ Flash ’ Category

Cuando usar Flash para hacer un sitio web?

flashLas ventajas y desventajas de usar Flash para hacer un sitio web son ampliamente conocidas. Sin embargo, muchas veces no se hace un buen uso de esta aplicacion de Adobe. Esto sucede porque no se sabe cuando usarla o por lo que se cree saber, es decir algunos mitos:

Un sitio en Flash es contraproducente para el posicionamiento (SEO)

Esto no es siempre así. Google ya puede leer muy bien el contenido estático de un archivo .swf y lo indexa sin problemas. Por otra parte, se puede compensar la indexación con otras técnicas como link building. Existen muchas páginas hechas en flash que rankean mejor que las hechas en HTML.

Para tener animaciones hay que hacer la página en Flash

En principio dependerá del tipo de animación que se quiera lograr. En muchos casos, transiciones o animaciones disparadas por eventos del mouse pueden ser logradas utilizando javascript. Incluso, se pueden lograr muy fácilmente si se usa alguna librería o framework como jQuery.

Entonces, derribados estos mitos, estos son, a mi entender, los criterios a tener en cuenta para decidir sobre la utilización de Flash:

Manejo de vectores

Una de las caracteristicas más importantes de Flash es su capacidad de manejar vectores. Todo dibujo o animación hecha en vectores tendrá mucha mejor calidad y menor tamaño que el uso de imágenes con mapas de bits.

Animaciones complejas

Cualquier animación que requiera técnicas complejas no será fácilmente lograda con Javascript. De hecho, tal vez es imposible hacerlo. En estos casos, es necesario el uso de Flash para construir la página web.

Dispositivos móviles

Si se apunta a un público que navega utilizando dispositivos móviles como el iPhone, hay que tener en cuenta que estos no tienen el plugin de Flash y, por lo tanto, no podrán ver la página.

Así, si un sitio no tiene animaciones complejas ni imágenes vectoriales, no hay necesidad de usar Flash y tal vez sea mucho más ventajoso hacer la página en HTML.

Instalar Adobe AIR 1.5 en Linux de 64-bit

adobe-airFinalmente, Adobe sacó de beta a la versión de Adobe AIR para Linux. Adobe AIR permite instalar en la computadora aplicaciones web y ejecutarlas como si fueran de escritorio.

El instalador en un .bin y, en sistemas 32-bit, con bajarlo, hacerlo ejecutable y ejecutarlo alcanza para que funcione. Sin embargo, en sistemas 64-bit hay que seguir una serie de pasos. Por suerte, los pasos se encuentran bien documentados por Adobe y, más allá de ser engorrosos no traen complicaciones y permiten ejecutar Adobe AIR correctamente.

Una vez instalado, se pueden buscar aplicaciones para instalar en el directorio de Adobe.

Google mejora su algoritmo de búsqueda para archivos Flash

Google anunció que, gracias al aporte de Adobe, podrá simular interacciones de usuario dentro de los archivos .swf para poder indexar más texto desde el mismo.

Así, Google (y Yahoo) indexará texto que antes permanecía oculto para el buscador y URLs dentro del archivo Flash, las cuales serán seguidas como cualquier URL de otra página. Las nuevas URLs descubiertas ayudarán a encontrar nuevas páginas y, seguramente, les pasarán algo de link juice.

Sin embargo, el contenido de estos archivos no es absolutamente indexable. Los buscadores no encontrarán el contenido cargado dinamicamente desde un archivo XML o PHP, por lo que, para páginas con contenido dinámico, la mejor solución sigue siendo el HTML.

La recomendación SEO por parte de Google es reemplazar el texto que no se quiera indexar por irrelevante dentro del Flash por imágenes, ya que Google tampoco podrá rastrear las mismas.

Posts Relacionados:

Google saltea intro en Flash

Intro en Flash, por qué no?

SEO en Flash

Google saltea intro en Flash

Vía adseok me entero que Google añade a las páginas con intro en Flash un boton al lado del título que permite saltear la presentación e ir directamente a la página de inicio propiamente dicha.

Google saltea presentaciones en Flash

Ya escribí en un post anterior sobre por qué no es conveniente una intro en Flash. Añadiendo este [Skip Intro], Google da la posibilidad al usuario de evitar esta “molestia” e ir directamente a la información, lo importante de una página.

gotAPI, un buscador de funciones en distintos lenguajes

gotAPI.com es un buscador muy interesante que permite buscar documentación sobre propiedades, funciones, métodos, etc. de distintos lenguajes de programación, librerías o APIs.

Algunos ejemplos son:

  • HTML
  • CSS
  • PHP
  • JAVASCRIPT
  • ACTIONSCRIPT
  • CakePHP
  • jQUERY
  • Flicker API
  • Drupal
  • JAVA (J2SE, J2EE)
  • XML/XSL
  • C/C++
  • ORACLE
  • MySQL

En la página de inicio se seleccionan los lenguajes en los que se desea buscar. Mientras más lenguajes estén seleccionados, más tardará en dar los resultados.

La caja de búsqueda cuenta con un suggest, en el que se van mostrando las distintas funciones o propiedades que coinciden con la búsqueda a medida que se escribe.

Adobe CS4 Beta disponible

Leo en Incubaweb que Adobe lanzó la beta de algunos productos de su Creative Suite 4. Desde Adobe Labs se pueden bajar estas nuevas versiones de Dreamweaver CS4, Fireworks CS4 y Soundbooth CS4.

Entre las nuevas funciones de Dreamweaver CS4 se encuentran, entre otros, la integración con subversion, el manejo de archivos relacionados (PHP, XML, JS, etc) y un Live View que permite ver dentro del programa la página como en un browser, utilizando WebKit para hacer el rendering.

La versión beta tiene un periodo de prueba de 2 días, aunque para usuarios de CS3 se podrá usar el programa hasta que salga la versión definitiva de CS4.

Las descargas están disponibles tanto para Windows como para Mac. Sería muy interesante que Adobe sacase una versión de su Creative Suite para los usuarios de Linux, que hasta ahora sólo pueden usarlo con Wine o dentro de una máquina virtual con Windows.

Nueva API de Google Maps para Flash

Recién leo en el blog oficial de Google Code en español que se lanzó un API de Google Maps para Flash. Según se explica, esta nueva API tiene una funcionalidad similar a la versión para Javascript. Sin embargo, se aprovechan las posibilidades que da Flash para hacer las animaciones más suaves y con mejoras en los gráficos (sombras, por ejemplo).

Como siempre, se encuentra bien documentada, con tutoriales y ejemplos. Para empezar a usarla, hay que conseguir una llave para los API de Google Maps (la misma llave funciona para ambas versiones) y, luego, bajar el SDK.

Ya existen algunos ejemplos sobre su implementación.

Intro en Flash, por qué no?

Resulta muy común que un cliente pida una intro en Flash a la hora de encargar un sitio web. Sin embargo, la mayoría de la gente no sabe que esta intro inutil útil solamente a efectos de “belleza” (siempre que esté bien hecha) puede perjudicar su página.

En primer lugar, una intro en Flash perjudica la usabilidad y accesibilidad de la página. Esto se basa en dos cuestiones. La primera, que no todas las computadoras tienen el Flash Player instalado o no todas las computadoras tienen el ancho de banda necesario como para bajar la presentación, aunque es cierto que este porcentaje es muy bajo y cada vez menor. La segunda, que el usuario está a un click más (clickeando en “Saltar Intro”, sino será más tiempo) de la información que vino a buscar al sitio. Una frase de Jared Spool del User Interface Engineering en Macromedia (ahora parte de Adobe), resulta útil para graficar esto:

“Cuando tenemos clientes que están pensando en presentaciones en flash, les decimos que vayan a su supermercado y que se lleven un mimo con ellos. Hagan que el mimo se pare delante del supermercado, y que, a cada cliente que intente entrar, les haga un pequeño show que dure dos minutos, dándoles la bienvenida por haber visitado el supermercado e intentando explicar que el pan está en el pasillo 6 y que la leche está en oferta hoy.”

Por otra parte, está presente el problema SEO. La presentación en Flash es el único contenido de la página de inicio del sitio, está alojada en el root del dominio. Esto hace que se pierda un espacio muy importante que podría estar siendo utilizado para ubicar keywords y ayudar a Google a indexar mejor la página en cuestión. Más allá de que el archivo Flash puede ser optimizado para SEO, no tiene los mismos resultados que utilizar HTML.

Por estas razones, es recomendable ofrecer al cliente la posibilidad de integrar la animación a la Home del sitio, evitando los problemas de usabilidad y SEO.

Prototype – Creando métodos a objetos integrados en el lenguaje

Muchas veces, al programar en actionscript o javascript, se necesita utilizar metodos que no estan declarados en los objetos que estan integrados en el lenguaje. Por ejemplo:

  • un método trim para los strings en javascript que permita eliminar los espacios en blanco al final de una linea;
  • un método tint para un color en flash que permita asignar tinte a los movie clips mediante actionscript.

Para esto se usa la propiedad prototype (Prototype tambien es un framework para javascript – AJAX). Esta propiedad permite crear métodos nuevos a objetos, ya sea declarados por el programador o integrados en el lenguaje.

Su uso es bastante simple:

String.prototype.trim = function(){
val = this;
while (val.substr(val.length - 6) == " "){
val = val.substr(0,val.length-6);
}
return val;
}

Ahi se está creando en javascript un método trim para los Stings. Para utilizarlo sólo hay que usarlo como cualquier otro método: mi_cadena.trim();

en Flash:

Color.prototype.setTint = function(r, g, b, amount) {
var percent = 100-amount;
var trans = new Object();
trans.ra = trans.ga=trans.ba=percent;
var ratio = amount/100;
trans.rb = r*ratio;
trans.gb = g*ratio;
trans.bb = b*ratio;
this.setTransform(trans);
};

Así, se puede crear un objeto color, asociado a un movie clip, para luego poder darle el tinte correspondiente:

nuevoColor = new Color (mi_MC);
nuevoColor.setTint(159,202,1,34);

Asignar valor a variable dinamicamente

Suponiendo que se tienen distintas variables de la forma variable1, variable2, variable3, etc.. existe una forma en Flash de asignarles valores a todas dentro de un bucle.

Lo primero a lo que se suele recurrir es a la funcion eval(“variable”+i), pero esta solo se puede usar del lado derecho del igual (como valor a asignar).

Otra forma sería: this["variable"+i], pero si se esta dentro de una función, tal vez de esta forma no se haga referencia directa, ya que el this sería la función.

Para esto, se usa la funcion set(“variable”+i, valor). De esta forma, se evitan los problemas mencionados con eval() o this[].

for (var j = 0; j<10; j++){
set("variable"+i, valor);
}