Lo simple también es potente
Distendiendo un poco la conversación que mantenemos en unas entradas más abajo, han citado este artículo ¡es tan simple! en otro blog. Según lo que leo, todo se resume en que, no hay que diseñar para la gente que no sabe pero tampoco bandearse para el lado de lo experto.
Me gustaría aclarar unas cosas sobre este aspecto, o sea, mi opinión personal. La tecnología está para servirnos, no para que nosotros, meras conglomeraciones de células, sirvamos a la tecnología. El ejemplo del buscador es el mejor ejemplo para realizar una reflexión sobre estos temas. Piensa que no te hace falta más nada que una caja de texto y un buen motor analizador para entender lo que el usuario busca. Hay leyes que indican lo contrario, más opciones, más dificultad para buscar y encontrar.
Repitiendo de forma resumida lo que había escrito, sin caer en el extremo simplista de una caja de texto sin indicadores, un buscador debería ser capaz de diferenciar y comprender muchos patrones, sin llegar al nivel de perfección como podremos apreciar en Star Trek. Debería intuir valores y aproximaciones si fuera necesario: “casa por 35 euros el día” y te retorne resultados de casas de 30, 31, 35, 36, 37. Por eso, comenté que hacer algo de éste calibre no es fácil. Cuando un buscador es algo limitado a un rubro: un sitio de bodas, ¿para qué poner más combos de selección?
Les voy a mostrar otro ejemplo de complejidad que, sinceramente, no le encuentro sentido:

Según el planteo que hace Octavio Alvarez, un usuario avanzado necesita de estas herramientas avanzadas para poder encontrar algo con precisión. ¿La precisión la podemos obtener eligiendo combos o escribiendo bien la cadena a buscar? En la imagen podrán apreciar el poderío en todo su esplendor de un buscador avanzado (el simple tiene más de 2 controles) que, sin seleccionar demasiadas opciones, me da cero resultados. Luego entre teje y maneje he llegado a descubrir los condicionantes que revientan el 90% de las posibilidades de búsqueda. Bien, un simple campo de texto más un buen motor podría eliminar este trabajo que me he tomado, sin necesidad de tener un doctorado en ciencias de la información.
Como dice Octavio en su post, ésta precisión se basará en las palabras que escriba y las opciones que elija. Los que sabemos (o los usuarios gurúes), tenemos que disponer de una herramienta ultra-sofisticada, que invite a la providencia de los resultados y no caiga en la rabdomancia. Creo que no hace falta la sofisticación, la gente sin experiencia y la gente con mucha experiencia aprecia la simplicidad. El experto no tiene tiempo. El usuario que no sabe nada tampoco. Cosas instantáneas, cop de tita, no me hagas pensar. Si miran ejemplos de buscadores bien trabajados pueden ver Google o Gettyimages, que intuyen miles de patrones de búsqueda. Sólo tienes que escribir lo que buscas, nadie mejor que tú para describir algo que deseas. De la misma forma que puedes afinar con un buscador avanzado quitando opciones y agregando otras, puedes seguir escribiendo en una caja de texto normalita y luego refinar resultados. En todo caso, una guía lógica no viene nada mal, como lo tiene Google, como lo tiene gettyimages y una decena de buscadores.
Yo creo que, tanto para un usuario que no sabe nada, como para uno que podría tener un orgasmo buscando un documento con un patrón grep en una caja de búsqueda no les hace falta más elementos que una etiqueta (label) y una caja de texto (que se acciona a golpe de la tecla Intro). Miren su buscador de Firefox y díganme si ven algún botón que diga (buscar). No, no hace falta. Escribes; Intro y resultados. Grábense utilizando el buscador, uno cualquiera, fijaros que rara vez haréis un clic en un botón de “buscar”. Lo más instintivo que he visto en pruebas con usuarios es un golpe a la tecla Intro luego de escribir lo que uno necesita. El tema de los botones es una discusión sin fin. Podría dar mi punto de vista del tema, porqué salen los botones “buscar”, “ir” y otra docena. Mi conclusión siempre es la misma: avisa al usuario que un control previo a éste tendrá un efecto. Un usuario que no tiene idea, incluso, uno experto no sabrá que pasa si uno escribe en una caja de texto. El botón aunque no se utilice, es un aviso importante de acción. Caer en la tontería de que, algo simple debe ser sólo una caja no es ponerle empeño. Yo no digo que todo debe ser una caja de texto, sin etiquetas (label) y sin botones. Simple, sencillo, cómodo.
Diferencia de un buscador simple y uno avanzado (ejemplos tontos):
Con esta estructura, el usuario tiene que poner “Macaco” (nombre de un producto inventado) seleccionar “reportes” del combo de categorías y el año 2001 del combo de los años para recibir todos los reportes relacionados con Macaco del 2001. Ha tenido que escribir, seleccionar dos opciones, vamos no se le ha descolocado la clavícula por hacerlo, pero según la práctica simplista, debería haber sido sólo algo como:
Ese fue un ejemplo simple. La complejidad puede aumentar cuando se trata de analizar faltas ortográficas. En una empresa, una persona podría haber escrito macado reportes de 2005. “Macado” no existe en ningún documento, pero otras variantes posibles sí. Entonces, como buen buscador el motor podría decir: Creo que querías buscar “macaco” como lo hace Google. Toda esa lógica a nivel código no puedo representarla, pero si puedo diferenciar realmente las ventajas.
La potencia, lo avanzado, lo preciso no lo marca realmente tres o cuatro checkboxes más dos combos con calendario. La potencia la marca el núcleo que analiza, procesa, entrega los resultados y eso es lo más difícil de lograr. Ejemplos como Google (aún con imperfectos) y gettyimages (lo más didáctico que se hizo hasta ahora) son cosas que uno debe tratar de abordar para casos específicos. No conozco otros buscadores que ejerzan el trabajo de la sencillez de tal forma. El concepto de la simplicidad no se reduce sólo a buscadores, también a otros aspectos, ni bien tenga más tiempo para pasar a formato blog, lo haré con gusto.
16 Respuestas a la entrada “Lo simple también es potente”
Escrito por Manu
Noviembre 10th, 2005 at 11:27 am
Deberias añadir a tu CV “Consultor en buscadores” y al lado un link a estos posts sobre simpleza, fijo que se fijarian en ti
Escrito por Octavio Alvarez
Noviembre 10th, 2005 at 12:14 pm
(Un detallito: El que un buscador (incluso avanzado) te de cero después de “unas cuantas opciones” no tiene nada que ver con que sea malo. Si pides seleccionas “Camping”, “Zacatecas” y “Con Playa”, por más o menos controles, aunque se trate de un buscador ideal (en el sentido que planteas) te va a dar cero. Basta poner un par de criterios mutuamente excluyentes.)
A diferencia de los humanos, las computadoras son eso: computadoras. Si yo le pongo “casas por 35 euros”, quién dice que yo quiero casas “entre 30 y 37″? En qué basar el programa?
Si bien es cierto que Google es un gran buscador, hay búsquedas que yo no podría hacer sin la búsqueda avanzada. Voy a poner un ejemplo que, además, revela otro problema: yo necesito sitios de escuelas en méxico. Si le pongo “escuelas en México” –refiriéndome a academias y universidades–, cómo sabe el buscador si quiero documentos que digan “escuelas en México”, o si realmente quiero escuelas en México, y cómo va a saber cuáles mostrarme primero? Y si le pongo “documentos que digan Escuelas en México”, cómo sabe a ciencia cierta el buscador si quiero documentos que contengan la frase “escuelas en México” o “documentos que contengan escuelas en México”? Se vuelve un problema recursivo.
Veamos qué nos dice Google… Vale la pena probar el concepto:
* escuelas en méxico me da páginas de pre-primarias, aprendizaje de kayak, Yang Hum Kwan Hapkido, etc.
* universidades academias méxico nos deja más lo que buscamos porque estamos usando las palabras más adecuadas.
Hasta aquí todo bien, lógico: una buena frase y nos da “algo” de información, suficiente para seguir nuestra búsqueda (ojo: desde el momento en el que debemos hacer un conjunto de búsquedas, por más inteligente que sea el algoritmo buscador, pierde la razón de su gran inteligencia).
Ahora quiero páginas. Puras portadas (home pages) de universidades y academias.
* site:edu.mx * es una búsqueda que no puedes hacer, y tal vez no se podrá hacer con un algoritmo muy inteligente, sin requerir de “ser más específicos” en algún momento. La palabra “portada” en la búsqueda puede significar buscar la palabra o buscar el objeto. Especificar “objeto:portada academias”, es decir, con metadatos ya sería una búsqueda avanzada. Es más, en esa cadena, “site:edu.mx” es un parámetro que tiene su interfaz en el diálogo de búsqueda avanzada.
Para satisfacer a todos los usuarios por igual, lo que necesitas es –de plano– poner a un humano.
No que yo defienda el ejemplo del “macaco” o el del camping… El del camping necesita primero arreglar los colores y las fuentes y su diseño antes de arreglar sus algoritmos. Por ejemplo: poniendo SOLITO el cuadro de búsqueda y un poquito más separado, de una manera clara, “Otros criterios de búsqueda”. El ejemplo del macaco es bueno, pero esos errores de diseño que indicas se arreglan permitiendo que el usuario escriba “macaco” (o “reporte macaco”) y dé , teniendo los demás campos en lo menos restrictivo posible, y si eso no satisface al usuario, que regrese y precise más su consulta.
Es decir, el ENTER (como bien sabemos) es fácil de meter en una forma HTML y en cualquier otro programa.
Valdría la pena buscar ejemplos de sitios y calificarlos. Por ejemplo, la búsqueda del Diccionario de la Real Academia Española incluye un combo box que por default es “búsqueda exacta”, bien pudiendo ser “búsqueda escalonada”. Cuando metieron ese combo box, con esas opciones, me fue mucho más fácil buscar palabras de las cuales no estaba seguro de su correcta escritura. Sin embargo, ese algoritmo no es 100% seguro, ya que si yo busco las palabras que suenen a “sima” –pensando en la parte más alta de una montaña–, y le doy la búsqueda escalonada, me va a dar la definición de “sima”, y no de “cima”, que es la que busco. Para eso escojo en el combobox “semejanza fonética”. AFORTUNADAMENTE, me permite seleccionar el algoritmo, es decir, afortunadamente tengo una búsqueda avanzada.
Ya me cansé de escribir, jajajaja y ya es muy noche. Ahi luego le seguimos porque está interesante.
Escrito por mini-d
Noviembre 10th, 2005 at 12:45 pm
No. Fíjate, si buscas algo que no existe en la base de datos, debería retornarte con 0 resultados. Si pongo camping 35 euros, el motor debería al menos decirte que no hay casas de valor 35 pero que si hay entre un rango próximo de valores:
El problema, que no supe anotar a tiempo en el artículo no son los controles avanzados en sí. Tiene que ver cómo los pones, o sea, el usuario primero busque luego si hay x resultados que sobrepasan un número normal para el “ojeo” entonces poner controles de opciones para “guiar” al usuario a un listado de resultados más preciso.
Aquí el problema lo tienes tú al formular mal lo que deseas buscar. Tú mismo lo dices: “refiriéndome a academias y universidades”. A mí me ocurre muchas veces empezar mal una consulta porque soy demasiado generalista con la misma. Si lo que buscas es comprar una casa y pones “casa” en Google no creo que puedas arribar si quiera a lo que buscabas: comprar un casa? vender una casa? casas robadas? decoración de casas? discusión de casas? etcétera. Así puedes encontrar millones de valores que no darán forma a lo que buscabas. No pretendas que Google adivine “escuelas en México” justamente para encontrar enseñanza primaria, cuando el término escuela sirve para muchas cosas, escuela de idiomas, escuela de danza, escuela de mecánica, escuela de karate, etcétera.
No se trata de que opción elegir, sino de cómo buscan los usuarios. Si un usuario que quiere vender su casa se da cuenta que: poniendo vender casa en google no le da lo que busca, intentará ponerle: vender casa españa o ser más concreto: vender mi casa en Barcelona.
Cabe destacar cosas, hablamos de un buscador para algo más concreto no universal como Google. Si en una inmobiliaria no puedes hacer análisis de lo que busca la gente y te dedicas a buscar por la exactitud de las palabras, estarás muerto.
Escrito por Diz
Noviembre 10th, 2005 at 2:39 pm
Me acabo de dar cuenta de un fallo que tiene esa superbúsqueda de un sólo cuadro de texto, y es que no te da nada de información sobre qué datos hay en la BBDD por los que filtrar. Me explico.
Pongamos una web similar a GettyImages, que solamente tuviese el modo de búsqueda de defiendes y no los ComboBox. Yo llego allí a buscar una imagen de un bosque de eucaliptos, en blanco y negro, con cierta resolución mínima. A priori, solo con un cuadro de texto y un botón buscar, yo no sé si voy a poderlo filtrar así, si han recolectado tantos datos sobre sus fotos. La clasificación interna de la Base de Datos me es completamente opaca.
En cambio, si llego y veo un ComboBox “Resolución mínima”, otro de “Paleta de colores”, otro de “Categorías”, estoy mucho más informado y puedo filtrar mejor los resultados. A lo mejor veo el ComboBox de “Licencias”, que ni se me había ocurrido que pudiese ponerlo como criterio, y escojo imágenes del dominio público porque son las que necesitaba.
Además la búsqueda con varios campos no es intrusiva, dejándolos por defecto en “Cualquiera”, como es habitual, el usuario inexperto puede ajustar sólo los que precisa y luego ir refinando si es necesario. No creo que se asuste ante tantos controles si están todos perfectamente organizados: en este ejemplo, meterlos en fieldsets según sean datos sobre el autor (quien la sacó, qué licencia tiene la imagen), el contenido (qué se ve) o la foto en sí (resolución, colores) intimida menos que dejar al usuario “solo ante el peligro” con un simple cuadro de texto.
Escrito por mini-d
Noviembre 10th, 2005 at 2:57 pm
Todo eso lo puedes representar, de forma cómoda y filtrable en los resultados de la búsqueda. Si buscas una imagen: hombre de 55 años blanco sonriendo, podría devolverte resultados y parámetros por los cuales está clasificado.
En un banco de imágenes, el tamaño de fotografía es un dato inútil. Dado que todas las fotografías tienen un tamaño estándard de resolución que las prepara para cualquier trabajo. Eso es un proceso final de selección: me gusta esta foto ahora la quiero en esta resolucion.
Para probar que una selección de ese tipo puede tirarte abajo todo tipo de probabilidad de resultados, con que una fotografía no tenga x valor ya no encaja en la búsqueda, por ende, resultados 0.
En el ejemplo tonto que pongo, no hace falta poner que puedes encontrar reportes. Dentro de la intranet de tu empresa tienes conocimiento que documentos trabajas. Lo mismo si entro a una web de una inmobiliaria española, no me hace falta saber que la base de datos está clasificada por provincias, ciudades, metros cúbicos, etc.
Los usuarios necesitan un mínimo de datos para luego filtrar o decantarse por el mejor. La búsqueda precisa sólo ayuda a reducir todas estas probabilidades.
Sólo una anotación: si tan complejo puede ser el sistema de búsqueda, puedes proveer de una página informativa para explicar que se puede buscar en klingon, usando patrones grep, que catalogas imágenes o información de esta y aquella manera. Para las cosas simples, soluciones simples. Poner 5 combos no es simple para el uso diario, el usuario, es cómodo para el que tenga que programar el motor.
Imagina si Google siguiera tu punto de vista: tendrían que poner miles de cosas en la página de inicio para que el usuario no se opaque con la forma que tiene google de catalogar.
Escrito por Diz
Noviembre 10th, 2005 at 9:17 pm
En realidad Google sigue mi punto de vista, ya que te da opción mediante botones a buscar en toda la Web o sólo en español. Si siguiera tu punto de vista, yo tendría que teclear algo como “bookmarks sociales en español” para que me devolviese resultados en castellano.
Pero volvemos a lo que te comentó Octavio, primero tendría que preguntarme si me refería a que la página está en español o que aparecen las palabras “en español”, cuando yo ya se lo hubiese podido decir antes.
Tampoco es obvio siempre cómo están clasificados unos datos. Quizá una inmobiliaria resulta normal que trabaje por provincias y ciudades, pero imagínate que yo quiero un piso en una determinada zona de Coruña. Si no me ponen un ComboBox opcional de código postal, quizá ni se me había ocurrido que podía concretar aún más en qué parte de la ciudad busco.
Y no tengo yo tan claro que 5 combobox sean incómodos para el uso diario. Solamente tienes que escoger los que te interesen y dejar el resto por defecto.
Por último, sí estoy de acuerdo en que si estableciendo unas opciones la búsqueda no devuelve resultados, te debería sugerir búsquedas similares que sí lo hagan (”en tal código postal no, pero este de al lado tenemos un piso con esas condiciones”.
Escrito por Santiago
Noviembre 10th, 2005 at 9:49 pm
La verdad es que estas completamente en lo cierto, y para dar un ejemplo mas que claro… Google, Yahoo, Altavista, o cualquier buscador que quieras… Buscan en TODA LA WEB y no necesitan de “búsqueda avanzada” (bueno, tienen, pero el 90% de la gente no la necesita/utiliza)… Entonces por qué si necesitarla para un sitio web? El problema es que yo no se nada de PHP ni bases de datos, sólo lo mínimo.. Y tengo un sitio web con una base de datos bastante grande, con muchas categorias y subcategorias.. El problema se presenta a la hora de programar… Es mucho más sencillo y rápido pedirle a un programador que arme una busqueda avanzada en donde el usuario pueda elegir seccion, subseccion, tamaño maximo del archivo, etc, etc. que pedirle que el sistema desglose todo una linea de búsqueda para intentar mostrar los mejores resultados y en el caso de que no los haya, presente búsquedas alternativas. En mi opinión sigue siendo un problmea de complejidad a la hora de llevarlo a la practica. Pero realmente espero que los que se dediquen a este tipo de cosas empiecen a pensarlo de esta manera, para el bien de todos.
Escrito por Octavio
Noviembre 10th, 2005 at 10:17 pm
(Ya dormí, ya pienso más claramente, jaja)
“Poner 5 combos no es simple para el uso diario, el usuario, es cómodo para el que tenga que programar el motor.”
Naturalmente.
Es la balanza de la facilidad (y menor costo) de implementación contra la facilidad de uso (y mayor costo). — Sin embargo, el principal problema no radica en la confusión que los combo boxes le provocan al usuario, sino en que el usuario sienta o crea que _debe_ usar esos comboboxes. Solución: separar la cadena principal de búsqueda de los comboboxes y a la parte de los comboboxes titúlala “criterios extra de búsqueda” o algo por el estilo. El usuario sabrá que no necesita entender los combo boxes para buscar. (Mucho ayudaría si los comboboxes tuvieran el botoncito a la izquierda, y no a la derecha).
Lo que tú dices Sà es factible, claro está, pero necesitas hacerle _ENTENDER_ a la computadora conceptos de gramática. Necesitas darle un diccionario de lo que significan las palabras y catalogar de acuerdo con esos conceptos, pero a final de cuentas, tu implementación no necesariamente será perfecta, (por ejemplo, batallarás en enseñarle en entender por contexto) y eventualmente caerás en ambigüedades del idioma y cosas de esas. Cuando necesitas asegurarte de darle la semántica exacta necesitas una búsqueda avanzada (y eso sólo lo hacen los usuarios experimentados). En otras palabras: de que se puede hacer, se puede hacer, pero DE TODOS MODOS necesitas búsqueda avanzada. Ponlo en letras chiquitas, ponlo en gris claro sobre blanco, o como quieras, pero ponlo.
El otro día tuve que hacer un programa para convertir de número a letra. Tardé como 5 horas, pero lo hice. Ahí aprendí, después de veintitantos años, que CIERTOS números pueden ser tanto sustantivos como adjetivos. Cuando según yo ya estaba libre de fallas, al hacer una prueba con 1,000,000 “pesos”, me salió “Un millón pesos”, y no “Un millón de pesos”. La palabra millón es un sustantivo, por lo que “Un millón” sólo puede ser un sustantivo. Debes hacer análisis gramatical. Sí se puede, pero eventualmente necesitarás la búsqueda avanzada: ponla; después de todo, es más fácil que el algoritmo general, no?
Me gustaría citar otro ejemplo de búsqueda: el bugzilla. El principal problema del bugzilla no es la cantidad de campos (bueno, para mini-d, sí, jeje) sino la manera en que están acomodados. Es ridículo.
Saludos.
Escrito por viktor
Noviembre 11th, 2005 at 5:48 am
No alcanzo a digerir esta entrada, no se si están confundiendo el diseño y la consulta y la verdad dependiendo como se realiza la consulta SQL algunos hacen el diseño (por eso las casillas y las cosas que supuestamente sobran).
Por ejemplo MySQL da resultados en base a indices de texto completo (si así se ha programado) y los califica automáticamente pudiendo nosotros organizarlos por relevancia a lo que se busca todo llega a ese punto:
Si el SQL va a una base de datos sin indices el diseño presentando puede ser solucion (hay limitantes en otros motores de bases de datos)
Si el SQL va a una base de datos con indices, que mejor que una casilla, la BD hace comparaciones y da puntajes sin mayor problema.
Por eso antes de elegir o decir que esto se aplica a todo, hay que advertir que depende del motor de base de datos disponible.
no es que no se pueda hacer en BD como access pero el desarrollo habria que hacerlo mucho más complicado (codigo codigo)
saludos
Escrito por viktor
Noviembre 11th, 2005 at 7:23 am
Aprovechando que conozo un poco la estructura de base de datos de wordpress quiero plantearles el siguiente ejemplo que de seguro wordpress mejorará cuando salte a nuevas versiones de MySQL, busquen:
ipod de 30gb
resultados que van a encontrar = CERO Pollito (0)
ahora busquen
ipod de 30 gb
resultados que encuentran = OCHO (8)
—
Escrito por mini-d
Noviembre 11th, 2005 at 9:16 am
Yo quiero que mi Wordpress tenga un motor de búsqueda potente. El que tiene es malísimo, muy malo, incluso te demanda bastante precisión para escribir cosas.
Es lo que hay.
Escrito por ARE
Noviembre 11th, 2005 at 1:18 pm
Estoy un poco cansado de las búsquedas en los diccionarios de la RAE.
Buscando la sencillez de una búsqueda en un diccionario he incluido en mi web las busquedas “fuzzy” con tolerancia a los errores de escritura (ejemplo, al buscar ‘eterosesual’)
Originalmente detecte que aunque el buscador estaba diseñado para introducir la palabra, había mucha gente que introducia ‘definición coche’ o ’significado de miopatia’ por lo que tuve que implementar un pequeño analizador del termino de busqueda…
Realmente todo esto fue lo mas complicado de programar… pero me quedo contento del resultado. Simple, pero efectivo.
Escrito por viktor
Noviembre 11th, 2005 at 7:49 pm
Diego ya hay usuarios de wordpress que han modificado la busqueda de wordpress, y han creado el indicie en la tabla de post (por que originalmente NO la trae) por eso toda busqueda se hace en terminos parecido a… o igual a… sin ningun algoritmo de busqueda y limitado a 4 palabras.
Escrito por jam
Noviembre 12th, 2005 at 2:22 pm
Qeu coño significa bandearse? eso no existe en español
Escrito por Minid.net » Blog Archive » Simplicidad
Noviembre 22nd, 2005 at 6:00 pm
[...] Lo simple también es potente [...]
Escrito por Minid.net » Blog Archive » Enviando mensajes a teléfonos móviles desde una web
Noviembre 23rd, 2005 at 12:24 pm
[...] El sitio en sí es de lo más pragmático, y comparándolo con otras opciones que vi cuando fui a Buenos Aires, es uno de los que mejor ha desempeñado su tarea. Cumple casi todas las virtudes de las cosas simples, y juraría que lo tendría todo si tuviera indicadores de operaciones⦠el feedback que necesitan estos sistemas: te has equivocado de número, tu mensaje se ha enviado correctamente, etcétera. [...]