La lógica es sencilla: un objeto Emisor actúa como lanzador de cierto Evento, mientras que otro objeto Receptor escucha cierto Evento lanzado por un Emisor para hacer cualquier cosa. Tras muchas peleas ésta es la solución para ActionScript 2 que me ha proporcionado Zárate. En este ejemplo uso la librería GDispatcher de Grant Skinner, que añade a la de Flash varias funcionalidades para hacer más sencilla y potente la comunicación mediante eventos.
Por un lado tenemos el Emisor, que a los 2000 ms de ser instanciado crea el evento de tipo “miEvento” y lo lanza:
/**
* @author jmaestre
* @description Objeto Emisor, una vez instanciado lanza el evento "miEvento"
*/
import com.gskinner.events.GDispatcher;
class tests.events.Emisor {
public var addEventListener:Function;
public var removeEventListener:Function;
private var dispatchEvent:Function;
private var myInterval:Number;
function Emisor(){
GDispatcher.initialize(this);
// Lanza el evento a los dos segundos
this.myInterval = setInterval(this,"lanzaEvento",2000);
}
function lanzaEvento(){
// Creación del objeto evento
var ev:Object = new Object();
ev.type = "miEvento";
ev.msg = "Zarate rocks!"
// Evento lanzado para quien los escuche...
dispatchEvent(ev);
trace('Evento lanzado...');
// Soy muy limpito y cancelo en intervalo
clearInterval(this.myInterval);
}
}
Por otro lado tenemos al Receptor, que se pone a escuchar los eventos de tipo “miEvento” que lance el Emisor:
/**
* @author jmaestre
* @description Objeto Receptor, una vez instanciado se pone a escuchar el evento
* "miEvento" sobre el obj_emisor
*/
import tests.events.Emisor;
class tests.events.Receptor {
function Receptor(obj_emisor:Emisor){
// Me pongo a escuchar el evento 'mievento' al objeto emisor:obj_emisor,
// y al recibirlo invoco a mi método 'handler'
obj_emisor.addEventListener("miEvento",this,"handler");
}
function handler(ev:Object){
trace("Mensaje recibido: > " + ev.msg);
}
}
Y finalmente, la función principal que instancia ambos y le indica al Receptor a quien tiene que escuchar:
/**
* @author jmaestre
* @description Objeto de prueba, instancia Emisor y Receptor
* y le indica al Receptor a quien tiene que escuchar
*/
import tests.events.Emisor;
import tests.events.Receptor;
class tests.events.TestEventModel {
static public function main(){
trace(Flashout.DEBUG +"Flashout.DEBUG" ); //Necesaria para Flashout
//Creo Emisor
var obj_emisor:Emisor = new Emisor();
//Creo Receptor, diciéndole el Emisor al que tiene que escuchar
var obj_receptor:Receptor = new Receptor(obj_emisor);
}
}
Leo en Retiario de Pepe Cerverá, Las hojas del Rábano, la estupidez de la Administración por obcecarse con cosas como la posibilidad de que los nombres de dominios .es contengan eñes. Tal y como dice Pepe esto no va a beneficiar a nadie, de hecho no hará más que traer complicaciones. Supongo que resulta pintón, y es fácilmente vendible, cuyo único objetivo es ocultar las necesarias actuaciones que no se han tomado.
Si se quiere fomentar la cultura española en internet es necesario, a parte de no caer en el cerrojazo y de facilitar el acceso de banda ancha de calidad en todos los hogares, crear contenido de calidad en español, catalán, vasco, gallego o andaluz. Buen contenido para que la gente se sienta atraída, para que resulte útil y de verdad internet sea usada por la mayoría de la población como la herramienta útil que es.
Se me ocurre como primer paso que la RAE y el resto de academias podrían colaborar con la Wikipedia cediéndole todas sus entradas para difundir el español y el resto de lenguas nacionales. Así, podríamos pasar de esas decepcionantes 162.000 entradas disponibles en español, frente a las 1.445.000 en inglés, 190.000 en portugués o 307.000 en polaco. Al fin y al cabo su principal cometido es difundir dichas lenguas y culturas.
Es curioso cómo algunos anuncios televisivos pueden tener el efecto contrario al deseado. Por ejemplo, han conseguido que odie a ING Direct y a Matías Prats por ser “responsables” de los cortes de las series o programas que habitualmente veo, al emitirse justo al principio y/o final del intervalo publicitario; consiguien así que materialize en el anunciante mi frustración por la interrupción de mi serie favorita; encima pagan más por emitirse justo ahí.
Además, seguro que pertenezco a un perfil de consumidor televisivo que vee un conjunto de programas identificados por los publicistas, como segmento de público objetivo, lo que permite borbardearme siempre con los mismos anuncios. Seguro que alguien ya ha estudiado los efectos negativos de esto. ¿O no? Lo que es cierto que no voy a abrir una cuenta en ese banco, mi pequeña venganza personal, es lo único que nos queda. O eso, o servicios tipo TiVo para eliminar la publicidad.

Revver es algo más que un YouTube por dos cosas:
- Premia a los usuarios con dinero obtenido por publicidad en función a la popularidad de los videos que suban. No son los primeros, pero parece un buen modelo.
- Es abierto, tan abierto que es posible subir vídeos mediante el API disponible en su centro para desarrolladores. Esto si es novedoso, hasta ahora, las pocas APIs abiertas sólo permitían usarlas como fuente de vídeo, pero no que otras aplicaciones subiesen videos a sus servidores sin pasar por su portal o herramientas. De esta manera delegan el interfaz a cualquier mash-up que se le ocurra a la gente, centrándose en el hospedaje de los videos y en el conteo de la popularidad de los mismos a cambio de insertar publicidad.
Es de esperar que el resto de jugadores se muevan en este sentido, más aun con la compra de YouTube por parte de G$$gle (GreedTube?). Su negocio es la publicidad, y para ello necesitan tener controlado qué se sirve y cuantas veces se sirve, pero les debiera de importar poco con que aspecto lo ve el usuario. Mientras tanto a ver que se nos ocurre hacer con esto…
[Actualización]

Acabo de descubrir VideoEgg, otra empresa que hace hospedaje de videos y, mediante un programa de partners, permite subir videos desde cualquier página web, gratuítamente si les dejas insertar publicidad, o mediante pago si no insertan publicidad. Está más orientada a integrarse en otros sitios web que Revver, y la herramienta que proveen parece muy sencilla de usar y con grandes posibilidades, como subir desde una cámara directamente, en múltiples formatos, para iPod, etc. La proveen en PHP, ASP, JSP, ColdFusion y .NET de manera que resulte sencillo integrarla en cualquier plataforma.