visuse

VISUal Search Engine

Conclusiones del proyecto

El proyecto ha logrado cumplir todos los objetivos básicos que se habían propuesto y respetando las especificaciones planteadas.

Se han desarrollado buscadores para diferentes módulos que obtienen la información, la organizan y la puntúan según distintos clientes. Todo esto se realiza utilizando una estructura modular que permite una fácil extensibilidad de la aplicación, lo que ha permitido que terceras personas colaboren con el proyecto e implementen sus propios módulos para distintos buscadores y utilizando distintos sistema de comunicación con ellos, contando finalmente el proyecto con media docena de módulos. Esta estructura modular también permite que los errores en unos módulos no afecten al resto.

Por otra parte, del lado del cliente se ha creado una agradable a la par que simple interfaz que muestra los resultados de una forma paginada y que da la sensación de rapidez al ir mostrando los resultados conforme son recibidos del servidor. Esto permite que la experiencia del usuario sea satisfactoria, además de que se le permite que no tenga que abandonar el buscador para consultar los resultados.

El resultado ha sido probado en distintos navegadores modernos con satisfactorio resultado, gracias a que ha sido desarrollado empleando estándares y tecnologías abiertas. Además, independientemente del navegador utilizado, los resultados se ajustan al espacio dejado libre por la ventaja del navegador.

En cuanto a los métodos de disposición de los resultados en la pantalla se han estudiando distintas alternativas, consiguiendo grandes resultados con el algoritmo voraz implementado al ejecutarse en un tiempo muy reducido, que además permite representar los resultados más interesantes (mejor puntuados) a un tamaño mayor y en las primeras páginas. La aplicación del enfriamiento simulado no ha sido satisfactoria, pero su estudio ha permitido sacar interesantes conclusiones sobre la conveniencia de aplicar este tipo de búsqueda y sobre cómo aplicarla.

Por último, la madurez del software desarrollado ha permitido que sea publicado e instalado para el acceso público en http://visuse.com. El desarrollo del proyecto también ha supuesto una interesante contribución a la comunidad de software libre, que puede reutilizar este trabajo para cualquier otro fin relacionado y que ha reconocido dicha contribución. Todo el código del proyecto se encuentra disponible en https://forja.rediris.es/projects/cusl4-visuse/.

15 agosto 2010 Posted by | General | , , , , , , , , , , , , , | 2 comentarios

Proyectos de disposición de imágenes similares

Si consultamos cualquier lista de sitios más visitados de la red, encontramos que la clasificación está encabezada por buscadores, redes sociales y sitios de contenidos multimedia tal y como se puede apreciar en Alexa. Los buscadores llevan indexando la red y ayudando a los usuarios a encontrar recursos desde 1993 y en la última década, ayudado por el aumento de la velocidad de acceso de los usuarios, los contenidos multimedia han inundado la red.

Es lógico que en todo este tiempo hayan surgido distintos buscadores especializados en contenidos multimedia y los buscadores tradicionales también hayan desarrollados sus versiones centradas en dichos contenidos. Sin embargo, estos buscadores siguen mostrando los resultados de forma similar a los resultados de texto, organizándolos en páginas con muy pocos resultados y añadiéndoles pequeños thumbnails, haciendo la búsqueda del usuario lenta e incómoda.

Recientemente ha habido algunos intentos para mejorar estas interfaces:

Bing Visual Search

El buscador Bing añadió un servicio llamado Visual Search, cuyo objetivo es sustituir las tradicionales búsquedas de texto por búsquedas a través de imágenes clasificadas en categorías y subcategorías, para ello diseñaron una nueva interfaz utilizando Silverlight. Sin embargo, el objetivo de este servicio no es encontrar imágenes u otros contenidos multimedia, sino reemplazar las tradicionales búsquedas de texto por otras visuales.

oSkope

oSkope por su parte es otro buscador que permite, mediante Flash, visualizar de distintas maneras los resultados de otros buscadores como Google Images o Youtube. Sus principales desventajas son que no nos permite combinar los resultados de distintos buscadores, no ordena por puntuación los resultados en el mural y no permite visualizar los contenidos multimedia en el propio buscador.

Spezify

El servicio Spezify sí que permite combinar resultados de distintos buscadores multimedia y visualizarlos en el propio buscador, sin embargo, no realiza ninguna ordenación según la importancia de los resultados y su distribución en un gran mural por el que tenemos que ir desplazándonos y en el que hay grandes huecos; todo esto hace muy difícil encontrar los resultados que deseamos.

Como se puede apreciar, ninguno de los buscadores existentes ha trabajado la disposición de las imágenes en función de su importancia ni la disposición óptima de los resultados para formar un muro que no desaproveche espacios.

25 julio 2010 Posted by | General | , , , , , , , , , , , | Deja un comentario

Visuse y el software libre

Todo el software desarrollado está liberado, bajo la licencia GPLv3, al igual que toda la documentación sobre este proyecto. Esto significa que cualquiera puede usarlo para cualquier propósito, compartirlo, estudiar su funcionamiento, modificarlo y compartir esas modificaciones. Pero el software libre no significa únicamente una serie de libertades para el usuario, también es beneficioso para el propio proyecto: recibe visibilidad (publicidad), logra mejoras gracias a la retroalimentación de los usuarios y recibe la colaboración de otros usuarios.

La liberación del software y la documentación también permite la transferencia de conocimientos y la innovación tecnológica, haciendo que el proyecto no quede estancado una vez que finalice, sino que pueda servir para cubrir futuras necesidades continuando su desarrollo o integrándose en el de otro proyecto. Este proyecto, además, se basa completamente en estándares abiertos y herramientas libres, por lo que es también una obligación moral devolver a la comunidad lo recibido, además de que algunas licencias obligan a liberar los desarrollos derivados.

El proyecto no ha sido únicamente liberado, sino que ha sido desarrollado en un proceso completamente abierto, siendo accesibles todos los avances del desarrollo en una forja (https://forja.rediris.es/projects/cusl4-visuse/) y publicando información sobre él en este blog. El desarrollo ha permitido también la colaboración de los usuarios mediante el envío de sugerencias de mejoras y errores.

Por último, el proyecto ha participado Concurso Universitario de Software Libre en el que ha recibido el 2º premio al Mejor Proyecto Comunidad en el concurso nacional y Premio a la Difusión en el concurso granadino.

11 julio 2010 Posted by | General | , , , , , , , , , , , | Deja un comentario

Memoria del Proyecto Fin de Carrera

El pasado 1 de Julio presenté Visuse como mi proyecto fin de carrera en la ETSIIT de la UGR. Esta es la memoria (quizás mucho más escueta de lo que me hubiese gustado) que entregué para ello:

Durante este verano se publicarán entradas en este blog que son similares o iguales a partes de la memoria, pero un poco adaptadas al formato web.

Esta fue la presentación que empleé:

4 julio 2010 Posted by | General | , , , , , , | Deja un comentario

Visuse.com en pruebas

Compré el dominio Visuse.com y gracias al alojamiento de la Oficina de Software Libre de la UGR ya está una versión en pruebas de Visuse funcionando. En esta versión del software se están probando algunas funcionalidades nuevas de cara a la versión 0.3, por lo que es muy probable que haya errores. Notifícalos en la forja y te lo agradeceré.

www.visuse.com

10 mayo 2010 Posted by | General | , , , , , | Deja un comentario

Ejemplo de búsqueda con Visuse 0.2

En unos minutos voy a lanzar la versión 0.2 de Visuse, pero antes os dejo este vídeo en el que se prueba una búsqueda para que el que quiera pueda ver el software en funcionamiento sin tener que descargarlo:

El vídeo también está disponible para su descarga en un formato libre en la sección de Documentos de la forja del proyecto.

25 abril 2010 Posted by | General | , , , , , | 1 comentario

Instalar y ejecutar visuse

Para instalar Visuse necesitarás:

Es posible que se necesiten distintas bibliotecas para la comunicación de los distintos buscadores:

  • Para el módulo de Youtube, es posible que necesites la biblioteca Gdata.
  • Las librerias urllib, urlib2, json y minidom.

Una vez instalado todo, debes arrancar el servidor para lo cual debes situarte en la carpeta visuse/ y ejecutar: python manage.py runserver

Tras arrancar el servidor, accediendo a la dirección http://127.0.0.1:8000/prueba/sheldon podrás probar la evolución del proyecto. Puedes hacer otras búsquedas sustituye ‘sheldon’ de la dirección por la cadena de búsqueda que desees.

1 abril 2010 Posted by | General | , , , | 1 comentario

¿Cómo hacer un módulo para Visuse?

Aquí dejo esta presentación donde se explica cómo realizar un módulo para Visuse. Básicamente es una introducción a Python basada en el artículo “Learning Python in 20 minutes” y los pasos básicos para desarrollar el módulo.

Podéis descargar la presentación en PDF desde slideshare o en ODT desde la Forja de RedIRIS.

Actualización importante: El sistema de módulos de Visuse ha cambiado.

4 marzo 2010 Posted by | General | , , , | Deja un comentario

Buscadores interesantes para incorporar a Visuse

Con el motivo del I Hackathón de proyectos de software libre en el que participa Visuse, he realizado una lista de buscadores para los que sería interesante realizar un módulo. Estáis además todos invitados a sugerir más buscadores en los comentarios de esta entrada.

Audio

Goear.

Fliis

Fizy

12 sitios para música online.

Yahoo Music API.

Imágenes

Bancos de imágenes gratuitas.

Sprixi, licencias Creative Commons.

Picapp.

Más bancos de imágenes.

Axalead.

Flickr. Función en cuestión, pequeña explicación y cómo construir URLs.

Fotolia.

Imágenes libres.

Imágenes libres 2 (ver comentarios).

Picasa.

Photobucket

Imageshack.

Vídeos

MTV Música

MSN Vídeo.

Vimeo.

API de servicios de Vídeo.

Dialymotion.

Otros

Amazon.

Ebay.

Recopilación de distintos buscadores.

APIs de Google.

Last.FM.

MediaWiki.

APIs de Yahoo.

Slideshare y otros servicios de presentaciones online.

4 marzo 2010 Posted by | General | , , , , | Deja un comentario

¿Cómo funcionará Visuse?

¿Cuál es el proceso que se realiza desde que el usuario solicita una búsqueda hasta que se le muestran los resultados? Esta es la pregunta fundamental que me hice para poder comenzar a desarrollar el proyecto. Básicamente, y siempre sujetos a cambios, estos son los pasos básicos:

  • El usuario introduce un término en el cuadro de texto.
  • El cliente (JavaScript),  solicita al servidor de Visuse que busque un dicho término en una serie de buscador. Se trata de peticiones HTTP corrientes.
  • El servidor Visuse a su vez transmite a los distintos buscadores la petición del usuario y recibe la respuesta.
  • Conforme recibe las respuestas, determina el valor (importancia) de cada resultado y convierte los resultados al formato JSON*.
  • El servidor va enviando los resultados al cliente, como respuesta a las peticiones HTTP que había realizado.
  • El cliente estudia la mejor manera de mostrar los resultados y los muestra al usuario.

* En un futuro esta comunicación también podrá realizarse en XML, pero de momento se ha elegido usar únicamente JSON por su ligereza.

De momento he comenzado haciendo las peticiones que tiene que realizar el servidor a los distintos buscadores y he hecho varios ejemplos y ahora es el turno de la comunicación entre el cliente y el servidor.

26 diciembre 2009 Posted by | General | 11 comentarios