Identiconos, los avatares únicos

El otro día, buscando cosas para la entrada de las imágenes de licencia abierta, tuve una idea humilde para una app que ayudase a buscar y gestionar dichas imágenes. El caso es que me hice una cuenta en GitLab y lo mandé por ahí, y ya está. Sin más. Pero al registrarme me fijé, por enésima vez, en las imágenes que GitLab y GitHub generan automáticamente para usar de avatar en los usuarios. Esos recuadritos que parecen los primos perdidos de los Space Invaders. Qué son? Por qué siempre son diferentes?

Y por supuesto estas cositas tienen nombre y un por qué detrás. Se llaman identiconos, en referencia a “identidad” e “icono”. Deben su origen al querer facilitar la identificación usuarios de manera relativamente anónima y con el objetivo de distinguirlos entre sí.

Había una vez un señor llamado Don Park que tenía un blog. Para facilitar(se) la tarea de distinguir usuarios o visitantes sin difundir información de los mismos, se puso a pensar de qué manera podía representarlos. Fue en esto que pensó que, a diferencia de cosas visuales como los rasgos de una cara, la información en formato texto es difícil de distinguir rápidamente y a simple vista. De modo que quizá una manera de representar la información alfanumérica de manera visual podría mejorar la experiencia de uso de Internet, y de cómo consumimos la información.

¿Cómo funcionan? Es muy sencillo. Se usa una función de hash para obtener una cadena de valores a partir de un dato de entrada (un nombre, un nickname, o una dirección IP), en efecto cifrándola. Esta cadena de valores cifrados es una huella digital (tanto en el sentido metafórico como literal): corresponde a una único dato de entrada, y permite distinguirlo de otros sin saber en qué consistían esos datos originalmente. Con esto tenemos el primer paso. Y para generar una imagen única, esta cadena se representa visualmente usando otro algoritmo, con un patrón de puntos (o figuras geométricas, en su forma más complicada) y colores repartidos en una cuadrícula. Y listo.

Dependiendo del dato de entrada, de la función de hash y del algoritmo de transformación visual, podemos dar lugar a diferentes iconos:

Y por eso los identicons son distintos entre usuarios, porque se generan a partir de sus nombres.

Generar una “huella digital” a partir de información latente y sensible sin que ésta importe o peligre, me parece una idea bastante elegante. Y es realmente útil y funciona muy bien. Hay personas (o usuarios) en GitHub que recuerdo más fácilmente gracias a su identicon. Y muchas veces facilita distinguir a usuarios anónimos entre sí, si se usan cosas como la dirección IP para generar el icono.

Hay mil maneras de generarlos, y algunas de ellas las puedes probar tú mismo en sitios online. Por ejemplo, los de esta entrada han sido generados en identicon.net.

Más información:

Leave a Reply

Your email address will not be published. Required fields are marked *