Por qué Flash?
No sé por qué razón tengo fama de “flashero”, es cierto que mi desarrollo profesional me ha llevado a trabajar con flash principalmente, en vez de con CSS, XHTML o librerías Javascript. Como director de proyectos entiendo perfectamente que cada perfil de proyecto, tiene unas tecnologías más adecuadas. No siempre hay que elegir entre unas y otras, de manera excluyente, pero en ocasiones sí.

Para mi los dos mundos son bonitos, pero me tengo que rendir ante cosas como estas:
Publics & Hal Riney
Y por cosas como éstas, y por muchísimas otras utilidades y prestaciones, Flash mola y lo que es capaz de hacer la gente con talento con esta herramienta aun más. Me lo he pasado pipa navegando con mis manos por este sitio…
A día de hoy criticar la herramienta y la plataforma, en vez del uso que se le da, para mi es ser un auténtico emponzoñador de la web.
Ya está disponible la web de los Talleres Subflash 2008

Pues ya ha arrancado oficialmente la web de los Talleres de Verano Subflash 2008, la web la hemos desarrollado desde el estudio, y estaba pendiente a falta de crear la cuenta para recibir los ingresos de las preinsicripciones, aun quedan algunas ponencias por definir en título, pero ya está todo en marcha!!
Nos vamos a Alicante!!
Aquí os dejamos algunas de las charlas que tendremos la oportunidad de disfrutar:
- Fundamentos SEO - Definición y Factores OnPage
Se hará una exposición en la que se tratarán conceptos fundamentales de Posicionamiento en Buscadores, técnicas de optimización de portales web, Flash vs Xhtml+CSS en cuanto a relevancia de contenidos en Internet, herramientas SEO… y se dejará tiempo para ronda de preguntas y debatir un poco sobre el tema de la Indexabilidad y Visibilidad en Buscadores vs Tendencias de Desarrollo Web.. Por Jorge Quintas - Del 2 al 3 en 45
Joan Garnet no ha retrocedido a Barrio Sésamo, simplemente hará un repaso a los cambios más importantes y destacables que han tenido lugar con la llegada del player 9 y Action Script 3. Después de este taller, tendremos más facil dar el salto a Action Script 3 y poder así aprovechar las importantes mejoras del flash player 9.Por Joan Garnet - Yo aquí he venido a hablar de mi blog.
Nuestro querido Armando está pensando qué nos va acontar, pero seguro que va a estar interesante! :). Por Armando Sotoca -
/*
-
Correctly handle PNG transparency in Win IE 5.5 & 6.
-
http://homepage.ntlworld.com/bobosola. Updated 18-Jan-2006.
-
Use in <HEAD> with DEFER keyword wrapped in conditional comments:
-
<!--[if lt IE 7]>
-
<script defer type="text/javascript" src="pngfix.js"></script>
-
<![endif]-->
-
*/
-
-
var arVersion = navigator.appVersion.split("MSIE")
-
var version = parseFloat(arVersion[1])
-
-
if ((version>= 5.5) && (document.body.filters))
-
{
-
for(var i=0; i<document.images.length; i++)
-
{
-
var img = document.images[i]
-
var imgName = img.src.toUpperCase()
-
if (imgName.substring(imgName.length-3, imgName.length) == "PNG")
-
{
-
var imgID = (img.id) ? "id='" + img.id + "' " : ""
-
var imgClass = (img.className) ? "class='" + img.className + "' " : ""
-
var imgTitle = (img.title) ? "title='" + img.title + "' " : "title='" + img.alt + "' "
-
var imgStyle = "display:inline-block;" + img.style.cssText
-
if (img.align == "left") imgStyle = "float:left;" + imgStyle
-
if (img.align == "right") imgStyle = "float:right;" + imgStyle
-
if (img.parentElement.href) imgStyle = "cursor:hand;" + imgStyle
-
var strNewHTML = "<span " + imgID + imgClass + imgTitle
-
+ " style=\"" + "width:" + img.width + "px; height:" + img.height + "px;" + imgStyle + ";"
-
+ "filter:progid:DXImageTransform.Microsoft.AlphaImageLoader"
-
+ "(src=\'" + img.src + "\', sizingMethod='scale');\"></span>"
-
img.outerHTML = strNewHTML
-
i = i-1
-
}
-
}
-
}
-
<!–[if lt IE 7]>
-
<script defer type=”text/javascript” src=”pngfix.js”></script>
-
<![endif]–>
-
package com.google.maps.examples {
-
-
import flash.events.Event;
-
import com.google.maps.Map;
-
import com.google.maps.MapEvent;
-
import com.google.maps.MapType;
-
import com.google.maps.LatLng;
-
-
public class HelloWorld extends Map {
-
-
public function HelloWorld() {
-
super();
-
addEventListener(MapEvent.MAP_READY, onMapReady);
-
}
-
-
private function onMapReady(event:MapEvent):void {
-
setCenter(new LatLng(40.736072,-73.992062), 14, MapType.NORMAL_MAP_TYPE);
-
}
-
}
-
-
}
- Efectos 3D
- Filtros y efectos personalizados
- Mejoras en el trabajo con textos
- Mejoras en la API de dibujo
- Mejoras de rendimiento
- Los swf cargan correctamente los FLV en el servidor A.
- Esos mismos SWF fallan en la carga de los FLV en el servidor B.
- En el servidor B, la barra de carga de streaming en firefox aparece desde el inicio al 100%.
- En el servidor B, la barra de carga de streaming en internet explorer no aparece, o aparece haciendo efectos de lo más variopinto.
- En el servidor B, la propiedad bytesTotal de la clase netStream falla estrepitosamente al devolver el mismo valor que la propiedad bytesLoaded.
- Adobe
- ARM
- BBC
- Chungwha Telecom
- Cisco
- Intel
- LG Electronics
- Marvell
- Motorola
- MTV Networks
- NBC Universal
- Nokia
- NTT DoCoMo
- Qualcomm
- Samsung Electronics
- Sony Ericsson
- Toshiba
- Verizon Wireless
Hay dos ponencias más pendientes de confirmar, pero básicamente se están optando por decidir entre AIR, JSFL, las Bases de Internet y experimentación visual y gráfica con Action Script.
Talleres de Verano Subflash 2008
Llega el veranito, y por estas fechas si hay algo que no puede faltar… no son las chicas morenas, el sol y la ropa de verano… o las terrazas para tomarse un refresquito…. sino los talleres de verano subflash!!

Visitando el foro de subflash me entero (por decir algo… XD) de que ya están en marcha, y que este año se van a realizar en Alicante!
Desde aquí agradezco personalmente la ayuda que nos ha prestado en esta ocasión Elad de Nitsnets, con todo lo que es la reserva del lugar e instalaciones necesarias para llevar a cabo un evento como este. Mil gracias Elad (y también a Andrés Karp, Andrés Cayón, Ramón Masip y mis queridos Jorge y Alberto, que siempre logran que tenga tiempo para dedicarme a esto a base de apurar un poco más su trabajo diario).

El evento tendrá lugar los días 29, 30 y 31 de Agosto de 2008, en la Villa Universitaria de San Vicente del Raspeig, Alicante, y por un precio que ronda los 100€, podremos disfrutar de 3 días inolvidables. Las instalaciones, este año prometen ser de lujo, y tambien las ponencias, que abarcarán más temas de los habituales y variados, como diseño, programación flash, posicionamiento en buscadores…
Aquí podéis ver todos los detalles del evento, plazas, precio, modalidades, direcciones, etc.
Aun no se ha terminado de desarrollar el microsite para este año, pero estad atentos, porque seguro que se pone en marcha en muy poco tiempo

Para los que no sepáis que son los talleres, aquí os dejo unos links a años anteriores, y también podéis ver videos en youtube, o fotos en flickr.
Yo me apunto desde ya!!!
De PNGs transparentes, navegadores y onLoads va la cosa
En el estudio he tenido que emplear PNGs transparentes, que como sabeís (y sino, deberíais) no son soportados por versiones de Internet Explorer 6 o anteriores, sino que vienen soportadas desde la versión 7 de nuestro amigo IE.
Hasta aqui no hay gran problema, porque empleando un pngfix de javascript se arregla el entuerto (bonito palabro).
El tema se complicó (no iba a ser todo tan sencillo...) cuando además metía un evento onLoad para el body con la intención de lanzar una función javascript, y paso a describir el caso porque puede ser de ayuda para quien se encuentre en la situación:
LO QUE QUEREMOS LOGRAR
Tenemos una imagen de fondo de un cierto peso en KB (ya que no es una trama, sino una imagen plena de faculades), y sobre esa imagen han de colocarse unos botones que a su vez son imágenes, y que para que quede medianamente bonito han de ser transparentes.
PRIMER PROBLEMA
El primer problema es que la imagen de fondo que se crea por CSS, pesa lo suficiente como para que se dé durante unos segundos la situación de aparecer los botones sin el fondo que les da "sentido", un efecto poco deseable.
SOLUCIÓN PRIMER PROBLEMA
Para solucionarlo buscamos si existía algun método mediante CSS o XHTML para forzar la carga de los elementos de la hoja de estilos antes que se renderizara el HTML, pero..... no lo hemos encontrado. Si algún alma caritativa sabe cómo lograrlo mediante CSS (o de una manera más limpia que la que hemos empleado nosotros) que no dude en contárnosla.
Jorge tuvo la feliz idea de poner la misma imagen con propiedad display:none en el comienzo del body, con lo que la imagen se carga como HTML impidiendo así que se muestre lo que va a continuacion hasta que se completa dicha carga, y luego el CSS no tarda nada de tiempo en cargarla porque está en caché. Mientras esto ocurre, el div con los botones transparentes, permanece oculto también con la propiedad display, para por javascript hacerlo visible en el onLoad de la página.
SEGUNDO PROBLEMA
Cuando ya estábamos pegando saltos de alegría con el trabajo terminado, vemos que nuestro querido IE 6 no muestra los botones, no así en IE 7 o en firefox....
SOLUCIÓN SEGUNDO PROBLEMA
El problema es debido a la mala compatibilidad del pngfix con métodos invocados en el onLoad. La solución pasa por usar una variante del pngfix (que ha salido a la luz porque también da problemas con el swfobject) y que permite mezclar estas dos necesiades: pngfix y onLoad. Lo que hicimos es "googlear" y emplear el citado pngfix adaptado además de colocar la llamada al mismo DESPUÉS (y ojo que esto es necesario para que se dispare el evento onLoad) de la etiqueta de apertura de BODY. Cuando decimos la llamada nos referimos a esto:
El resultado lo podéis ver aquí, por cierto, la web está recien salida del horno... diseño por takeone dsgn y programación flash y adaptación del blog por [Q].
Cheat Sheets: hazme la vida más sencilla…

Como todos los que me conocen saben, soy un gran defensor de la literatura técnica como medio de aprendizaje. Siempre que se pueda adquirir un buen libro, creo que es una buena inversión, porque muchas veces se encuentran en ellos cosas a las que en un futuro te puedes enfrentar, o lo que es mejor, cosas que no te esperabas aprender, visiones sobre determinados temas que enriquecen y complementan la propia, o incluso soluciones a planteamientos que no sabías hasta entonces abordar.
Con ésto no quiero decir que todos los libros son buenos ("malos, haberlos haylos") , pero sin duda si te tomas la molestia de hacer un análisis de lo que vas a comprar antes de adquirirlo y de ver la opinión que otros han dejado sobre él, las probabilidades de éxito son muy altas.
Pocos libros he leído últimamente que no me hayan aportado nuevas perlas (principalmente porque al que anda escaso, todo es nuevo...) sobre pequeños detalles y que en su mayoría no estaban directamente relacionados con la temática principal del libro. A veces a la vuelta de la esquina de un párrafo denso y tedioso, te encuentras una nota entre paréntesis, o una explicación adicional que te descubre algo en lo que nunca te habías fijado o no conocías su existencia.
Pero sin duda, un libro, por muy buena encuadernación y estructuración que tenga, no es la mejor herramienta a la hora de salir de dudas sobre un propiedad o la sintaxis de un método, un atajo de teclado o un repaso a las posibilidades que tienes frente a un efecto en javascript con jQuery. Para ello creo que de un tiempo a esta parte han ido apareciendo unos de los mejores aliados de los desarrolladores cuando se enfrentan a algo nuevo u olvidado en el pasado... las cheatsheets (si, si hojas para hacer trampas... y que!?). Sirva esta colección de ellas como prueba:
ILoveJackDaniels
Impresionante recurso para obtener cheatsheets de calidad: HTML, SQL Server, Expresiones Regulares, Microformatos, Ruby on Rails, ASP, Entidades HTML, Javascript, MySQL, Mod Rewrite, CSS, PHP...
ILoveJackDaniels Cheatsheets
Pete Freitag
Otra referencia para tener en cuenta, una recopilación de 30 cheatsheets para desarrolladores.
Cheat Sheet Roundup
Smashing Magazine
Estos gañanes no podían faltar, como siempre sacando recursos a paladas, y de buenísima calidad. Me arrepiento todos los días del momento en que un listo me los presentó en mi navegador junto a netvibes...
Cheat Sheet Round-Up
Designers Cheat Sheets
También hay cheat sheets para el mundo del diseño, que no solo de código vive el hombre...
Designer color Charts, y photoshop cheat sheets vía Scott Klarr
Fuzzy Opinions
Excelente recopilación categorizada por áreas temáticas: Bases de Datos, programación, sistemas operativos, desarrollo web, miscelánea...
The developer cheat sheet compilation
What is.com
Este recurso ya abarca más que las convencionales para desarrollo o diseño web, aunque algunas interesantes, como la de atajos de photoshop para windows o mac
Our favorite cheet sheets
Google Cheat Sheets
Pues si, también hay para el buscador más famoso del pueblo..., vía feedsforme.
Google Cheat Sheets
Web Developer List: eConsultant
Y aqui ya vamos al por mayor, con una recopilación de 119 hojas.
Top 119 Cheat Sheets
No podía despedirme sin dejar una de nuestro querido ActionScript, otra de nuestro nuevo amigo jQuery y otra que me ha sorprendido especialmente, dedicada al mundo del SEO
Y como yo no soy el primero que se da cuenta que esto es un gran invento, podemos encontrar incluso un MEGA DIRECTORIO, con dominio propio: cheat-sheets.org
Nos vamos a Nottingham! European Elearning Summit 2008
European eLearning Summit es un evento organizado a partir de las anteriores Conferencias EuroTAAC, y es considerada una de los eventos más importantes a nivel de eLearning.

Resulta que en relación al mLearning, que se basa en la movilidad en los procesos de aprendizaje, este año hemos sido invitados para estar alli participando en una ponencia y exponiendo uno de los trabajos basados en Flash Lite que hemos realizado en el estudio en colaboración con IBCmass, que también se ha hecho eco de tan fabulosa noticia en su blog.
IBCmass ha desarrollado y gestionado Bienvenido a Alcalá de Henares, un proyecto que se basa en una magnífica idea para facilitar la integración de los inmigrantes en dicha localidad, y en el que hemos participado adaptándolo a la plataforma móvil mediante Flash Lite 2.0 y mejorando el proceso de desarrollo y migración de la web al móvil.
El proyecto de Alcalá se empleará como canal en la ponencia para conocer el proceso que es necesario llevar a cabo al portar una aplicación web o de escritorio a la plataforma móvil, los conceptos basados en los contextos que requiere esta plataforma, y las soluciones que se pueden aportar hoy en día para lograr aplicaciones enriquecidas en los móviles.
Marcos González será el afortunado en esta ocasión para viajar a Nottingham, y preparar la sesión explicando todo el proceso que ha llevado a cabo [Q] interactiva para albergar en una aplicación móvil más de 1000 audios, más de 500 recursos gráficos y 9 unidades didácticas, a partir de la aplicación web, y cómo se han podido unificar procesos para hacer esta tarea más sencilla.
Esta oportunidad ha salido adelante gracias a la colaboración de Adobe (que es empresa organizador y patrocinadora del evento, junto con The eLearning UILD), y más personalmente a Steve Howard, al cual desde aquí le agradezco todo el apoyo que nos ha brindado en el proceso.
El Lugar será Nottingham, los días 19, 20 y 21 de Agosto de 2008, en la web podéis ver información del lugar y de los precios de asistencia, así como la lista completa de sesiones que están programadas hasta la fecha.
Intentaremos aprovechar un poco antes para ver a algunos amigos que tenemos por allí, como el gran zárate.
API de Google Maps para Flash
Imagino que no soy el único que se ha preguntado unas cuantas veces por que Google no decidía portar la API de Google maps a la plataforma flash... le veía muchas posibilidades y me parecía un paso bastante lógico, teniendo en cuenta las características innatas de la plataforma.

La viabilidad y resultados, estaban claros, solo había que ver la versión de una herramienta de esta clase que ofrece Yahoo.
Pues muy recientemente, Google ha sacado a la luz la API preparada para su uso en plataforma flash, es decir, en aplicaciones como Flash, Flex. De momento dejamos fuera las versiones de flash para móviles ya que esta API viene preparada para su uso con ActionScript y quien sabe si quizás pueda soportarlo un flash lite o flash para pocket pc
Un ejemplo de las bases de su uso:
Que refleja algo como esto.
Para los que no quieran meterse en algo como esto directamente, siempre quedará el genial componente Gmap, de Advanced Flash Components, que es gratuito y se puede emplear en desarrollos comerciales.
Se ve que la cosa podía haber llegado antes (solo hay que ver Gmap), pero con las mejoras introducidas en el Player 9 y la máquina virtual nueva para AS3, ya no habia escapatoria.
Astro: Adobe Flash Player 10 Beta

La nueva versión del player de flash, llamado momentáneamente "Astro" introduce nuevas características y funcionalidades realmente interesantes y que incrementan la dirección que toma la web en las experiencias creadas con Adobe Flash. Personalmente tuve la suerte de ver la presentación en vivo en el Adobe Max Chicago 2007, junto con Raúl a través de Blocketpc, y puedo decir que verlo en una pantalla gigante, con miles de americanos entusiasmados jadeando por Adobe... fue una "rich internet experience", pero en directo.
No solo trae mejoras en cuanto a funcionalidades, sino en cuanto a rendimiento. Las mejoras que se han llevado a cabo con la nueva máquina para AS3 y el player 9, siguen evolucionando en esta nueva versión.
Os citamos algunas de las nuevas características con las que contará el nuevo player:



Puedes ver todas las características nuevas y mejoras en este enlace.
Y algo de material para que podáis constatar lo que os comentamos:
Ver demostración
Ver todos los detalles y descargar Flash Player 10 en Adobe Labs
Read press release here
Cabe destacar que el diseño de la demo, me ha sorprendido, porque no me pega mucho para Adobe, y que para instalar el player 10 se ha de desinstalar previamente el player que tengamos. Para ello hay varias herramientas que Adobe pone a nuestra disposición... seguro que a más de uno le echa para atrás...
Flash Video (FLV) y compresión HTTP servidor - cliente
Esta entrada del blog representa a la perfección el momento en el que nos surgió la idea de crear este blog llamado (no sin razón) 2flash2furious. He aquí el proceso de calentamiento global en la oficina...
Flashero A. (itentando escurrir el bulto)
Oye B, estoy migrando una web de un alojamiento a otro y los videos FLV que tenía se han vuelto locos.
Flashero B. (concentrado)
Prueba a subir esto que estoy haciendo, que funciona bien a ver si también va mal.
Flashero A. (con rintintin)
También va mal, gañán.
Flashero B (incrédulo, o sea, es imposible de la muerte que vaya mal, te lo juro...).
va mal??????
Media hora después, con 3 versiones de swf distintas en el servidor los dos flasheros A y B deducen:
Aquí es cuando nos cagamos en acordamos de Flash, Adobe y la madre que trajo el desarrollo web a este mundo...
Lo bonito de la historia... siempre es el final...
Tras hablar con el proveedor en el que fallaba la aplicación con FLV (Hostalia), y tras arrasar la web de Adobe y Google buscando el problema que nos estaba traumatizando sin ningún fruto, empezamos a pensar que era imposible que un error tan EVIDENTE, no le hubiera pasado a nadie antes. Por suerte Jorge Solís acudió en nuestro rescate con su inmensa sabiduría y nos habló de la compresión HTTP que aplican algunos hostings para mejorar los tiempos de descarga de las webs (por ejemplo), y sus efectos nocivos sobre las cabeceras de los ficheros FLV donde casualmente se pasan los valores del bytesTotal, etc...
Tras contactar nuevamente con Hostalia, nos comunican que efectivamente tienen habilitada la compresión para el tráfico HTTP server - cliente, y muy diligentemente deciden que no es lógico aplicarla a ficheros FLV, con lo que actualizan TODOS sus servicios de hosting para evitar el problema (y aprovecho para felicitar públicamente a Hostalia por el magnífico servicio de atención al cliente del que disponen) y además lo hacen de forma inmediata, con lo que comprobamos que todo vuelve a la normalidad.
Moraleja:
"Si la precarga de un fichero FLV no te funciona correctamente, y has comprobado que todo está como debe ser, tracea por pantalla el valor de bytesTotal de la clase netStream. Si ocurre lo que hemos descrito... habla con tu proveedor de hosting sobre la compresión de tráfico HTTP para ficheros FLV".
Un capón a Adobe por no contemplar esta nota técnica (que por lo que hemos podido comprobar testeando en varios servidores con los que trabajamos, no es nada extraño cuando se habla de alojamientos compartidos...) en la documentación de la clase netStream, o de la propiedad bytesTotal.
The Open Screen Project
Pues aunque ya he marcado la noticia en blocketpc, no puedo dejar de hacerlo aquí también porque las repercusiones que pueden tener para la distribución del player de flash y para la expansión de la plataforma en el mercado de los dispositivos móviles pueden ser increibles.
Adobe anuncia Open Screen Project, que tratará de converger el desarrollo de PCs y dispositivos no-PCs mediante la plataforma Flash primero, y luego AIR. Si bien era algo que tarde o temprano tenía que ocurrir, personalmente no mes esperaba un anuncio oficial tan pronto. Aunque el anuncio es un inicio de proyecto, y no parece que sea algo inminente.

Las fuentes oficiales que han sacado este notición son Bill Perry para Mobile & Devices y Ryan Stewart para PCs.

El proyecto tiene detrás una lista muy importante de empresas del sector desde fabricantes de PCs y móviles a operadores, pasando por otro tipo de empresas.
El proyecto implica cambios en algunas decisiones de Adobe hasta la fecha, como eliminar las cuaotas de licencias para las siguientes versiones principales del player Flash y AIR (futuro) para dispositivos, lo que se traduce que los desarrolladores podremos distribuir el player sin tener que pagar a Adobe. Además se planea publicar la API de la capa de portabilidad del Flash Player. Estos dos elementos combinados, hacen que los desarrolladores entremos en juego como elementos clave a la hora de la distribución del player y de llevar el mismo a otros dispositivos importantes para nosotros. No es open source, pero el player se convertirá en un elemento mucho más ágil y con más capacidad de estar implantado en diferentes plataformas.
Otra de las novedades en la línea a seguir por Adobe es que se publicarán los protocolos de Flash Cast y AMF para obtener servicios de datos más robustos.
Según Bill, cuando esto ocurra, a los desarrolladores deberemos tomar parte en este movimiento,continuando con la creación de experiencias y contenido para dispositivos móviles, y la clave de este proyecto será que tendremos un entorno consistente a través de diferentes dispositivos incluyendo ordenadores personales llegando a poder desarrollar aplicaciones AIR.
En un futuro cercano, los desarrolladores tradicionales de Flash y Flex para escritorio podrán trabajar con flash y AIR para más que escritorio, lo que también implicará la irrupción en el mundo móvil de un grupo de desarrolladores que vienen de otros perfiles.
Bueno, para informaros al detalle de las dos vertienes:
Open Screen Project, visión para desarrolladores PC
Open Screen Project, visión para desarrolladores móviles
Web oficial en Adobe de Open Screen Project