|

Como utilizar uploaders Flash con PHP

No soy muy amigo de Flash, no soy enemigo, pero sinceramente, prefiero hacer las cosas en HTML, CSS y Javascript, tampoco voy a entrar en la polémica HTML vs Flash. Pero sí es cierto, que subir ficheros desde la web puede ser un poco desesperante, sobre todo para aplicaciones web tipo galerías de imágenes en donde se suelen subir varios ficheros simultáneamente.

Subir ficheros mediante Flash nos aporta varias ventajas frente a el HTML normal: puedes poner filtros de archivos, tratar los ficheros previamente, subidas multiples, indicador de progreso, … Y aunque nos pese, el cliente/usuario siempre tiene la razón, y estas comodidades son muy bien valoradas por los usuarios.

El tutorial que os paso explica cómo crear el uploader Flash y como realizar la parte PHP, a mi me va a venir de perlas.

How to Use Flash for File Upload with PHP

|

Laboratorio: marcadores en los vídeos de YouTube

Una de las cosas que diferencia a YouTube de los demás es su API, la cual nos permite trabajar con los vídeos de forma muy sencilla. Y algo que echo en falta cuando me pasan videos de YouTube, ya sea en la propia web o en un videoblog, es tener que esperar a que llegue el momento destacado que querían que viera o tener que “jugar” con el controlador hasta que doy con el tiempo adecuado.

Por eso se me ha ocurrido que mediante la API se podría evitar esta situación facilmente, tan solo habría que indicar mediante un anchor la posición que queremos que se cargue el vídeo, ya sea mediante enlaces en la propia web o mediante la propia URL.

Se trata de un script muy sencillo, el cual he realizado sin frameworks como jQuery, porque a parte de intentar no olvidar el javascript normal, tampoco era necesario meterle jQuery o parecido. Eso sí, he utilizado swfobject porque es más sencillo trabajar con esta librería.

El script consta de dos partes: modificar los enlaces con anchors a partes del vídeo y acceder a una posición concreta del vídeo si se indica en la URL. Para ello es necesaria la función onYouTubePlayerReady, que es la que se ejecuta cuando el player de YouTube se carga y la API de javascript está activada.

var params = { allowScriptAccess: "always", bgcolor: "#cccccc" };
var atts = { id: "myytplayer" };
swfobject.embedSWF("http://www.youtube.com/v/AaO1FzE6J9I&border=0&enablejsapi=1&playerapiid=ytplayer",
"ytapiplayer", "425", "344", "8", null, null, params, atts);
function onYouTubePlayerReady() {
// Calcula los segundos de un tiempo
var segundos = function(tiempo) {
var fact = 1;
var segs = 0;
for(var j=tiempo.length-1; j>=0; j--) {
segs += tiempo[j]*fact;
fact *= 60;
}
return segs;
}
// Modifico los anchors del video
var enlaces = document.getElementById('marcadores').getElementsByTagName('a');
for(var i=0; i<enlaces.length; i++) {
enlaces[i].addEventListener('click', function() {
var tiempo=this.href.substring(this.href.indexOf('#')+1).split(':');
var player = document.getElementById('myytplayer');
player.seekTo(segundos(tiempo), true);
player.playVideo();
return false;
}, true);
}
// Accedo al tiempo específico de la URL
var href = document.location.href;
if ((pos = href.indexOf('#')+1)) {
var player = document.getElementById('myytplayer');
player.seekTo(segundos(href.substring(pos).split(':')));
player.playVideo();
}
}

El formato del marcador tiene que ser #HH:MM:SS o #MM:SS o #SS

Yo creo que este script puede ser muy útil para los videoblogs para marcar momentos específicos y para que los visitantes puedan enviar a sus amigos los momentos que más le interesan.

Ejemplo

“Se leer pero no tan de cerca”

“Segundas partes nunca fueron buenas”

|

jQuery File Upload Plugin: subir archivos con jQuery y Flash

jQuery File Upload Plugin es un plugin para jQuery que usando Flash nos permite subir archivos a nuestro servidor con opciones ampliadas respecto a la ventana de selección de archivos que ofrece el navegador, ya que, entre otras cosas, permite indicar el tipo de archivos que se permiten subir o subir varios archivos de una sola vez.
Yo estoy en contra de este tipo de controles, ya que no es lo que viene por defecto en el navegador, pero siendo realistas, muchos clientes, sobre todo cuando se desarrolla para empresas y su visión de una aplicación web es que haga lo mismo que una aplicación de escritorio, siempre piden que al subir un archivo se pueda indicar el tipo de archivo que se permite subir.
jQuery File Upload Plugin
Vía / @benjarriola

Razones por las que Flash no es bueno para el SEO

No soy un experto en SEO (casi todo lo contrario), por lo que este artículo me ha parecido bastante interesante. Se trata de algunos motivos por los que crear sitios en Flash no es bueno para el SEO, aun cuando ahora Google lo indexa:

  • Diferente contenido no son diferentes URLs: al igual que pasa con algunas aplicaciones basadas en Ajax, diferentes contenidos pueden estar dentro de un mismo Flash.
  • Problemas con el texto: debido a la realización de efectos o de la disposición de este, en muchas ocasiones el texto se divide en líneas, objectos o en letras (por ejemplo para animaciones).
  • Animaciones incrustadas: es típico que unas animaciones estén dentro de otras, lo cual, al no haber URLs que referencien, indica que va a tener poco PageRank o similar.
  • No se sabe cómo Google indexa: al ser un método propietario, no se sabe qué y cómo indexa Google los contenidos Flash, por lo que se va un poco a ciegas en este sentido.
  • Faltan las bases para el SEO: en Flash no hay enlaces (<a>), negritas (<strong>), o cabeceras (<h1> .. <h6>).
  • No se indexa todo: Google dice que ni ejecuta Javascript ni indexa contenidos externos llamados desde Flash, algo que es muy común.

Flash and SEO – Compelling Reasons Why Search Engines & Flash Still Don’t Mix

Vía / CSS Globe

iTunes Cover Flow con Flash

Los usuarios de iTunes o del iPhon/iPod Touch disponen de un visor de carátulas muy dinámico que permite recorrerlas todas con un efecto muy atractivo.
itunesalbum.png
Los datos sobre los álbumes y los artistas se mandan mediante un XML y enlazan mediante texto a las respectivas páginas.
Echo en falta un efecto de scroll mediante el movimiento del ratón, pero bueno, supongo que vendrá en versiones posteriores.
El código está diponible para Flash CS3 y Flash 8.
Flash iTunes Cover Flow – Version 2
Vía / WebAppers

|

PHP/SWF Charts: gráficas mediante PHP y Flash

PHP/SWF Charts es una librería PHP que nos permite generar gráficas a partir de datos dinámicos. Los datos se obtienen mediante PHP y luego se genera la gráfica en formato Flash. Se puede usar otro lenguaje como ASP o Perl si se usa XML/SWF Charts, la versión XML de la misma herramienta.

charts.png

Entre las características que nos ofrece encontramos:

  • Datos actualizables sin necesidad de recargar la página
  • Gráficas clicables
  • Transiciones animadas
  • Gráficas imprimibles
  • Generación de gráficas sencilla y flexible
  • Soporte para PHP 3, 4 y 5
  • Soporte para texto unicode
  • 20 tipos de gráficas

PHP/SWF Charts

Vía / WebAppers

Papervision3D: motor 3D para Flash

papervision3d2.pngPapervision3D es un motor 3D para Flash, el cual acaba salir de una beta privada. Los ejemplos que nos muestran son bastante espectaculares y seguro que alguno ya está pensando mil cosas que le sacarán partido a esta librería.
papervision3d.png
Válido para ActionScript 8 y 9, aunque algunas características necesitará de la versión 9 debido a su mayor rapidez de procesamiento. Se trata de un proyecto opensource bajo licencia MIT.
Estoy deseando ver qué resultados se obtienen con esta librería.
Papervision3D
Vía / dzone

Nueva versión de FlowPlayer

FlowPlayer es un visor de vídeos en formato FLV, del que ya hablamos en otra ocasión. Desde entonces, hace casi un año, esta aplicación ha sacado nuevas versiones.

El punto actual de desarrollo es el siguiente:

  • Amplia configuración: permite varias opciones de configuración. Es sencillo de empezar con valores por defecto.
  • Listas: combina varios vídeos en un solo stream, incluso puedes añadir imágenes.
  • Descarga progresiva: la forma más sencilla de proporcionar un vídeo Flash a los usuarios, como en YouTube.
  • Streaming: soporta servidores de streaming como Flash Media Server.
  • Thumbnails: acceso rápido a capítulos específicos en el último vídeo.
  • API de scripts: controla el visor desde Javascript y otras películas Flash.
  • Protección contra hotlinking: previene accesos directos a vídeos o imágenes.
  • Soporte para publicidad: permite añadir publicidad antes de un vídeo.
  • Modo pantalla completa.

FlowPlayer

|

Combinar Flex y PHP mediante Zend Framework

Muy buen tutorial que nos explica como combinar PHP y Flex usando el Zend Framework para crear aplicaciones más completas.
En el ejemplo usarán PHP (mediante el Zend Framework) para llevar la lógica de la aplicación, mientras que Flex se usará para la presentación. Se trata de leer los feeds de DevZone y añadir imágenes de Flickr para cada entrada. Lo primero será pasar el contenido de cada entrada por el Content Analyzer de Yahoo, el cual nos devolverá las palabras clave. Con estas etiquetas accederemos a Flickr y mostraremos la imágen.
flexphp.png
Aunque en este caso se usa el Zend Framework, está claro que se puede hacer con otro framework o directamente desarrollando nosotros todo el código.
En Zend Developer Zone cada día nos sorprenden con algo nuevo.
Flex and PHP: Party in the Front, Business in the Back

|

Amfphp: llamadas remotas desde PHP

amfphp.pngAmfphp es un RPC que nos permite comunicar datos entre el cliente (Flash, Flex, …) y el servidor (PHP).

Se trata de llamar a un método de un objeto local con varios parámetros y una función de vuelta y recibir los resultados. No hay que preocuparse de cómo se envian o reciben los datos, el cliente y el servidor (Flash y PHP) están sincornizados para ello. Te permite preocuparte sobre las características de tu aplicación más que por como se implementa, a parte de ofrecer un navegador que permite realizar los servicios y probrarlos antes de que se empiece a desarrollar el cliente.

Permite conectar PHP con: Flash y Flex con Remoting, JavaScript y Ajax con JSON y clientes XML con XML-RPC. Y entre las características que nos ofrece, nos encontramos con que es compatible con PHP4 y PHP5, sin necesidades de extensiones, es rápido y ligero, ofrece herramientas para ayudarnos en el desarrollo y es posible incluirlo en el framework que usemos.

Ejemplos de desarrollo usando Amfphp que nos pueden ayudar:

Amfphp