lunes, 20 de octubre de 2014

In Memoriam - 4 - "Virtualizando" internet

Motores de búsqueda

Independientemente de la solución que se tome, el no registrar la treintena de dominios necesarios provocará que cuando el jugador realice búsquedas en Google u otro buscador usando las pistas que ofrece el juego, no va a encontrar las respuestas que necesita encontrar ya que los buscadores no van a tener indexados dominios que ya no existen.



Para simular la presencia de los sitios web online, tendremos que "insertar" en los resultados que ofrezca el buscador los dominios que antaño, cuando la infraestructura online del juego estaba en pie, aparecían al buscar por determinadas palabras clave relacionadas con el juego. Además debe hacerse de manera que los resultados insertados no difieran en apariencia del resto, de manera que el jugador tenga que currarse el buscar las pistas como si las webs del juego estuvieran aún dispersas en Internet.

De cara a facilitar la tarea, indicaremos al jugador que para realizar las búsquedas, en lugar de usar los buscadores que todos conocemos (Google, Bing, Yahoo...), deberá usar un buscador proporcionado por nosotros, y albergado en nuestro servidor. El propio juego ofrecía un buscador "optimizado" desde el sitio web de la agencia SKL Network.


Según uno de los primeros correos que nos llega desde la agencia, dicho buscador está optimizado en tiempo real basándose en las referencias encontradas por los participantes. Ese buscador lo único que hace es redirigir tu búsqueda al actual buscador Bing (en 2003 era MSN Search, de ahí el logo que aparece en el formulario), y añadir un " -memoriam" al final para evitar que al jugador le aparezcan en los resultados algunas de las soluciones y guías del juego disponibles por Internet.

Puesto que la web de SKL Network la albergaremos nosotros, ese es el sitio perfecto para meter nuestro buscador que hará aparecer mágicamente  nuestros sitios webs virtuales.

Esquema de funcionamiento

Los resultados que insertemos tendrán que mezclarse con otros. Puesto que no vamos a construir un Google o un Bing, usaremos estos buscadores para obtener resultados a la búsqueda que realiza el jugador. Esos resultados serán la base sobre la que introduciremos los resultados relacionados con los sitios web propios del juego.

Para obtener los resultados que debemos insertar, tendremos que realizar una búsqueda entre los sitios webs que descargamos con HTTrack en la entrada anterior. Para cada entrada a insertar, mostraremos la misma información que muestran los buscadores: título de la página con enlace a la misma, el texto del enlace, y una sección del contenido de la página. Además, resaltaremos en negrita la aparición de los términos de búsqueda, logrando así que las entradas insertadas no difieran de las que daría cualquier otro buscador. Omitiremos las funcionalidades avanzadas que ofrecen los buscadores modernos, como la copia en caché, traducción, etc...

Tendremos que construirnos un motor de búsqueda para nuestra treintena de sitios webs. Buscando por internet, me gustó esta implementación en la cual me basaré. El tema consiste en volcar en una base de datos la información relevante sobre cada página web, base de datos que será la que consulte nuestro motor de búsquedas a la hora de realizar búsquedas. Dicha base de datos se reducirá a una única tabla que funcionará como un índice para nuestro motor.

Los campos de la tabla contendrán la información a mostrar en los resultados (url, título de la página y contenido en texto plano) además de información que no se mostrará pero  usará el motor de búsqueda en sus consultas, como son los metadatos de descripción y palabras clave.

Una vez lista la tabla (el tedioso llenado de datos lo he realizado programando un script en PHP, con algunos retoques manuales), y establecida la consulta a realizar, hay que comprobar, siguiendo alguna de las soluciones del juego disponibles online, que al introducir la pista adecuada proporcionada por el juego, nuestra consulta a la tabla devuelve los resultados adecuados.

Al igual que hacía el buscador original de SKL Network, añadiremos un " - memoriam" y además un " -january" (en EEUU el juego fue lanzado con el nombre "Missing: Since January") a la búsqueda introducida por el usuario para evitar spoilers en el resultado. Pero en lugar limitarnos a redirigir a la página de Bing, introduciremos los resultados en la misma página, sin salirnos de la web de SKL Network.

El servidor PHP realizará la búsqueda de las palabras introducidas por el usuario en algún buscador real. Los primeros resultados (20-30 resultados serán suficientes) se mezclarán con los resultados que se obtengan al lanzar esa consulta contra los contenidos de la base de datos. Solo queda dar un poco de formato, extractar de los resultados de la base de datos las porciones de contenido que contienen las palabras clave buscadas, y presentárselo todo al usuario.



Hay que tener especial cuidado de que los resultados "virtuales" obtenidos de la base de datos no difieran estéticamente de los obtenidos del buscador real, para no impactar la experiencia de juego del usuario. Así el resultado obtenido debe ofrecer una experiencia similar a la que se obtendría si los sitios estuvieran realmente indexados por los buscadores de Internet.



Los resultados que inserte nuestro motor de búsqueda entre los resultados reales, apuntarán a los nombres de dominio que tenían originalmente los sitios webs desplegados por Léxis Numérique. El archivo "hosts" al que nos referíamos en la entrada anterior, convenientemente modificado para que cada nombre de dominio se resuelva a la dirección IP donde hemos albergado cada sitio web, hará el resto de la "magia".

La conjunción del archivo "hosts" modificado junto con el motor de búsquedas trucado se encargan de crear al usuario la ilusión de que los sitios webs del juego siguen desplegados tal y como lo estuvieron anteriormente, y que estos sitios son accesibles y aparecen indexados por el buscador. La única limitación respecto a la situación original es que ahora ya no podremos usar cualquier buscador, obligando al jugador a usar solo y exclusivamente el buscador integrado en la web de SKL Network. La ventaja con este esquema es que no tendremos que pagar la factura anual de mantener la treintena de nombres de dominio necesarios, cosa deseable teniendo en cuenta que esta iniciativa es completamente gratuita y sin ánimo de lucro.

No hay comentarios:

Publicar un comentario