miércoles, 22 de abril de 2009

Búsqueda adaptiva

Aquí va otro de los posts prometidos y que llevaba también ya algo más de un año con ganas de publicar. Hace poco, en el post sobre mis 25 Random Things comenté
22. My prediction to the future of computer interfaces: No more menus in applications. We will access commands through a single adaptive search box. Search, don't browse!

A lo que me pidieron también que explicara un poco más.

Muchas veces, sobre todo en nuestro mundo moderno lleno de computadoras, nos encontramos con el problema de querer acceder a un "objeto" o pieza de información de entre una gran colección de objetos disponibles. Queremos buscar, por ejemplo, páginas en internet, archivos o aplicaciones en nuestra computadora, comandos en el menú de una aplicación. Y hay, a muy grandes rasgos, dos tipos de soluciones que podemos dar a este problema.

La primera estrategia consiste en catalogar todos los objetos en diversos grupos y subgrupos que, de una manera ‘lógica’, organicen a los objetos. Esta es la estrategia que usamos por ejemplo, al separar archivos en carpetas (fotos, documentos, música, ...), y comandos de aplicaciones en menús (Archivo, Editar, Ver, Formato, ...). Hoy quizá ya muy poca gente lo usa pero, en los primeros días, el Internet mismo estaba también catalogado de esa manera. Cuando quieres acceder a uno de estos objetos, lo que tienes que hacer es navegar (browse) por las categorías hasta encontrar el objeto particular que estás buscando.

La segunda estrategia consiste en escribir una ‘consulta’, dejar que la computadora haga la búsqueda entre todos los objetos disponibles, y mostrarte una lista con algunos de los objetos que la computadora piensa podrías estar buscando. El más obvio ejemplo de esta estrategia es Google, que te permite buscar páginas en todo el internet con tan sólo escribir tu consulta en un simple cuadro de texto. Las computadoras tienen también modos de búsqueda (search) para encontrar archivos en tu computadora. El menú de inicio de Windows tiene un cuadro de búsqueda y en las Mac's está spotlight.

Ambas estrategias tienen sus ventajas y desventajas dependiendo de la clase de objetos que estés buscando, y de que tan grande es el espacio de objetos disponibles. Una de las desventajas de navegar es que tienes que saber en cual de las categorías está el objeto que buscas (a cuantos nos ha pasado en Word o Excel que nos pasamos un rato buscando en todos los menús cierto comando que no encontramos). Una desventaja de la búsqueda es que, normalmente, la búsqueda se hace entre todos los objectos disponibles, por lo que no es inusual que los resultados de tu búsqueda traigan mucha ‘basura’ y que, al final, tengas que hacer una mini-navegada entre los resultados para encontrar el que realmente buscabas.

Una desventaja de ambos métodos, sobre todo para objetos que accedemos con mucha frecuencia, es que son muy lentos. Navegar entre una larga lista de categorías, o escribir una consulta, ambas tareas toman tiempo. La solución tradicional a este problema es hacer listas de ‘favoritos’ con las páginas que más visitamos, poner iconos o ‘accesos directos’ a las aplicaciones que más usamos, o asignar combinaciones de teclas a los comandos más usados (por ejemplo Ctrl+C en lugar de ir al menú Editar -> Copiar).

Búsqueda adaptiva es una muy poderosa idea que combina las mejores cualidades de todos estos tres mecanismos. Como ejemplo, y para aterrizar la explicación, les voy a presentar a Quicksilver. Esta es una aplicación para Mac (una nota para los usuarios de Windows más abajo) que te permite acceder a aplicaciones y "objetos" en tu computadora de la manera más eficiente y productiva.

Supongamos que lo que quieres es iniciar “Firefox”. La idea empieza así, primero oprimes una combinación de teclas (algo así como Ctrl+Espacio) y aparece una ventana con algo muy parecido a una caja de búsqueda. Comienzas entonces a escribir: “fire”, al terminar de oprimir la “e” Quicksilver ha determinado ya que, lo más probable, es que quieras iniciar “Firefox” y te lo pone como primera opción en la lista de resultados. En este momento es suficiente oprimir Enter para abrir Firefox (o seleccionar la ventana si Firefox ya está abierto).

Este idea se llama ‘autocompletar’ y tampoco es que sea demasiado novedosa. Muchos reconocerán que iTunes hace algo muy parecido cuando buscas una canción, los navegadores modernos te ofrecen completaciones cuando empiezas a escribir la dirección de una página, y Google también te sugiere posibles consultas al momento en que empiezas a escribir en el cuadro de búsqueda. Pero aquí viene la idea realmente maravillosa de la búsqueda adaptiva: Quicksilver aprende.

Quicksilver aprende de tu uso diario, sabe que programas y opciones son las que utilizas más comúnmente, y te presenta esas como la primera opción cuando haces una consulta. Después de unos días escribir “f” será suficiente para el programa te muestre a “Firefox” como la primera opción. En mi computadora, por ejemplo, “i” abre “iTunes”, “ip” abre “iPhoto”, “d” abre “Dictionary” y “du” abre “CyberDuck”. Observen que tenemos prácticamente el poder (y velocidad) de una combinación sencilla de teclas (estilo Ctrl+C) para acceder a una aplicación.

Los objetos que utilizo con más frecuencia, automágicamente, y sin tener que decírselo yo a la computadora, tienen ya rápidas claves de acceso. Y ojo que yo no tuve que aprender que claves abren cuales programas, la computadora aprendió de mi, cuales son las claves yo uso para abrir mis programas. Y para los objetos que no acceso con tanta frecuencia, basta con escribir un poco más de las letras para finalmente encontrarlo.

Otra maravilla de Quicksilver es que, si tienes una forma de pensar más estructurada y para objetos que no accedes con tanta frecuencia, también puedes navegar en los resultados. Supongamos que quiero buscar la canción de “La Tortura” de “Shakira”. Una forma de encontrarla es iniciar Quicksilver, seleccionar (resalto sólo las letras que hay que apretar) “Browse Artists” -> “Shakira” -> “All albums” -> “La Tortura”.

Ahora imaginen este poder, pero no sólo para abrir aplicaciones y buscar archivos en tu computadora, sino para acceder a todos los comandos de todas las aplicaciones que utilizas. Y que no seas tú quien tenga que aprender y condicionarte a cuales son las combinaciones de teclas que activan cuales comandos, sino exactamente en el sentido opuesto, sea la computadora quien se condicione a ti. Como mencioné en un post anterior, en las Mac's puedes ya buscar de entre los comandos en los menús de algunas aplicaciones, lo único que falta es el crucial componente adaptivo, y que sea soportado por todas las aplicaciones.

Finalmente, para los que usan Windows, estuve buscando y parece que Skylight es una alternativa similar. Por lo que leo en la descripción de la página, también realiza la búsqueda de manera adaptiva, pero yo no lo he probado así que no lo puedo constatar. Ojo que hay por ahí muchas otras aplicaciones que se dicen ser el “Quicksilver para Windows” pero muchas de ellas sólo ‘autocompletan’ búsquedas y/o te permiten asignar combinaciones de teclas para iniciar programas. Sin embargo el componente crucial, que la búsqueda sea adaptiva, y que las combinaciones se asignen automágicamente por el uso diario, falta en muchas de esas aplicaciones.

9 comentarios:

Linda dijo...

Yay! Quicksilver es una verdadera maravilla. Es todo lo que uso para manejar la computadora. Spotlight es demasiado lento....

Xénit dijo...

Entre más te leo, me gustaría saber si así eres también en el aspecto emocional...¿se puede poner mucho orden en tus sentimientos?

No lo tomes muy personal, es sólo una idea que atravesó mi mente en este instante...algo así como teclear una búsqueda en Google.

Hek@nibru dijo...

Ciertamente es una maravilla. Sin embargo, el uso de tecnologías similares puede representar un problema si tenemos un escenario en donde varias personas tienen que utilizar una sola máquina: entre más se adapte mi computadora a mí, más difícil será para otra persona utilizarla.

Por lo tanto, creo que para que el uso de esta tecnología adaptiva realmente se expanda a la nube, es necesaria una infraestructura que permita tener tu perfil de personalización disponible.

O en su defecto, te olvidas de tanta jalada, le conectas la ontología y listo :D.

Valdo dijo...

Añadiendo un poco a lo que dice Hector. Tanta personalización aunque atractiva te empieza a volver dependiente de tu propia maquina. Mas que una herramienta de trabajo la conviertes en una "mascota" por decirlo asi. Un ente que casi te adivina el pensamiento...

Darth Tradd dijo...

Estoy de acuerdo contigo, Juan. De hecho, tiene un buen rato que no me meto a buscar entre los menús de KDE para arrancar cualquier aplicación. Katapult cumplía con esa función hasta antes de que liberaron KDE 4.0 y decidieron que no era necesario, que el application launcher bastaba aunque su búsqueda no era adaptiva. Esa es una de las razones, aunque no la fundamental, por la cual sigo usando KDE 3.5x en la oficina y cambié a Gnome en la casa. Gnome ahora trae a GnomeDo (http://do.davebsd.com/index.shtml), el cual es muy prometedor: Aparte de la búsqueda adaptiva, es extendible a través de plugins.

Héctor y Valdo tienen razón al decir que al personalizar tanto la computadora, sería muy difícil para cualquier otra persona usarla. Sin embargo, ¿cuándo fue la última vez que le prestaron su laptop al vecino de enfrente? Aquí en la oficina tenemos la PowerMac que masca vidrio y escupe canicas. Es una máquina multiusuario, pero cada quién tiene su cuenta y Spotlight se adapta a cada uno (si es que no son plastas windowseras que no saben lo que es eso).

Finalmente, ni siquiera un coche se parece tanto a nosotros como nuestras computadoras. Nuestras manías, mañas, costumbres y demás se proyectan increíblemente en ellas.

Saludos.

Rafael Peñaloza dijo...

ditto a Hector :P

Ruslán dijo...

Emacs debería tener búsqueda adaptiva.

María dijo...

Y esa manera de buscar canciones del iTunes, me cambió la vida. Yo que pensaba que nunca se podía tener todo completamente organizado.
El iTunes me obliga a ser obsesivo-compulsiva con mis archivos de música.

Saludos! Gracias por pasearte por mi blog.

Juan dijo...

Wow! Super popular este post, y eso que escribo pura ñoñada, jaja.

@Linda, sip, spotlight es lento e impreciso, nunca encuentra lo que quiero.

@Xénit, hmm.. pues parece que de pura coincidencia, pero ya verás un post nuevo con algo de mis "desordenes emocionales".

@Heka, la sobre-personalización no creo que sea un problema para nada, o al menos mayor del problema que ya tenemos hoy en día. Además, en el caso concreto de una búsqueda adaptiva, lo único que tendría que hacer estando en una computadora ajena, es picar unas dos o tres letras adicionales para encontrar lo que busco.

@Valdo, no estoy de acuerdo. Al final eres siempre tu quien "tiene el control". Que la máquina te adivine el pensamiento, es algo bueno!

@DTradd, wow, se ven también muy bien las opciones para Linux que comentas! Gracias por la info. Y concuerdo totalmente contigo, nuestras computadoras se van volviendo cada vez más una extensión de nosotros, y de nuestra personalidad.

@Rafael, c.f. Heka.

@Ruslán, sii!! Esa es mi principal queja contra emacs, cómo se supone que tengo que aprender (y recordar!) que Ctrl+C+whatever, es la combinación para abrir, guardar, copiar, que se yo.

@Rouge, igual gracias por visitar! Y si, es increíble como la tecnología nos cambia la vida. Y poco a poco, me parece, vamos a tener más y más tecnologías, que nos van a dar más a cambio de menos trabajo de nuestra parte.