Feng-GUI es una aplicación online que simula la detección de las zonas más llamativas para un usuario, ya sea de tu página web o diseño.
Mediante inteligencia artificial simular la percepción humana y mediante un mapa de calor resalta las zonas más llamativas.
Se puede enviar una imagen o una URL, a mà no me ha funcionado con una URL, pero si se captura la imagen de la web se puede hacer de la misma manera. Feg-GUI
La verdad es que Firefox4 está de lujo, y las demos que ofrece Mozilla son increíbles. De una de ellas he sacado cómo hacer clipping en vídeos usando HTML5 y la posibilidad de incrustar SVG (sólo funciona en Firefox4).
El método es sencillo, tengo un SVG que muestra el contorno y los botones de play y pausa, además tiene un clipPath que se usará para el estilo clip-path del vídeo:
SVG
Vídeo
Javascript
var play = document.getElementById('play');
var pause = document.getElementById('pause');
var video = document.getElementById('video');
play.addEventListener('click', function() {
play.style.display = 'none';
pause.style.display = 'block';
video.play();
}, true);
pause.addEventListener('click', function() {
play.style.display = 'block';
pause.style.display = 'none';
video.pause();
}, true);
video.addEventListener("ended", function() {
play.style.display = 'block';
pause.style.display = 'none';
video.pause();
}, true);
El vídeo es el mismo que el de la demo de Mozilla, he puesto el borde semi-transparente para que se vea el clipping como va.
Si el otro día salía Open Graph de Facebook, ahora hay que ponerse a hacer aplicaciones para hacer uso de esta API, porque nos guste o no, Facebook nos puede aportar mucho a nuestra aplicación.
La verdad es que la API es muy sencilla: llamada http que devuelve JSON. Siendo la URL de la llamada de esta forma:
https://graph.facebook.com/ID[/CONNECTION_TYPE]
Lo bueno es que el ID puede ser cualquiera: un usuario, una página, un status, una aplicación, … Y luego se le puede añadir el tipo de conexión para obtener los amigos, los vídeos, … de un usuario.
El eBay Distinguished Architect, Randy Shoup, ofreción una presentación sobre la escalabilidad de eBay que es bastante interesante. Lógicamente, pocos de nosotros nos vamos a encontrar con una décima parte de lo que ellos tienen:
89 millones de usuarios activos en el mundo
190 millones de elementos en 50.000 categorías
8.000 millones de URLs solicitadas cada día
70.000 millones de operaciones de lectura/escritura cada día
50TB de datos nuevos cada día
50PB de datos analizados cada día
Pero las lecciones que nos ofrece son bastante interesantes, de las cuales me gustaría destacar:
Particionalo todo: si no puedes dividirlo no puedes escalarlo. Divídelo todo en elementos manejables separados por funcionalidad y tipo de datos.
Asincronismo: conecta componentes independientes mediante una cola de eventos.
Todo falla: monitorizalo todo, porque seguro que falla
Siempre hay cambios: diseña de forma que puedan añadirse nuevas funcionalidades
Automatízalo todo: aunque en este caso el autor se refiere a procesos de aprendizaje, yo lo enfocaría a que se eviten procesos manuales
Una de los grandes problemas con los que nos podemos enfrentar a la hora de desarrollar una aplicación web es que el rendimiento en las etapas iniciales no es similar a cuando hay muchos datos y muchos usuarios concurrentes. Para los usuarios se pueden hacer pruebas de estrés, pero para el volumen de datos que debe manejar la base de datos hay que rellenar las tablas con datos de prueba. Para ello, este listado puede sernos bastante útil:
GenerateData: para mí uno de los mejores, y del que ya hablé hace tiempo.
DBMonster: para generar datos aleatorios en la base de datos. Muy completo pero algo más complejo.
Datagenerator: este me ha gustado bastante, es sencillo y no por ello simple. Permite introducir datos en Mysql, Firebird, Interbase, MSSQL, Oracle, SQLite y PostgreSQL.
En el post original mencionan otros, pero no me han llegado a gustar.
Facebook es una aplicación que está muy de moda en estos momentos (no entiendo por qué) y aunque su desarrollo no es muy complicado, obtener la información de cómo hacer las cosas y encontrar algo en su documentación puede ser algo difícil. Su Wiki es un horror, los ejemplos escasos y los foros no muy útiles. Por ello, quien necesite encontrar ejemplos y tutoriales puede venirle bien esta lista: