martes, 3 de marzo de 2009

OpenId - identificación descentralizada

El problema de la identificación no hay que descubrírselo a ningún usuario de internet: para cada servicio y web nos piden un usuario diferente. Decenas de veces rellenando los mismos formularios, amén del problema de las contraseñas. Si se utiliza la misma (y no se cambia) tenemos un problema de seguridad, en otro caso, una situación inmanejable. Con los sitios sociales, hay de nuevo problemas de identificación, más de una vez me he visto sorprendido por alguien firmando como un servidor y soltando barbaridades.

Frente a estas realidades varios desarrollos de identificaciones digitales, donde el mas conocido por todos es el PASSPORT de Microsoft, cuyo principal problema es que al ser un servidor de identidaes centralizado, todo pasaba por unas solas manos las de MICROSOFT.

OpenId es un sistema de identificación, donde la idea es la de registrarse en un sólo lugar (donde añadir datos personales si se desea) y poder utilizar el usuario/contraseña en todas las webs en que sea aceptado. Por ser descentralizado, no hay un servidor específico para cada servicio que permite OpenID, al que debas estar registrado, sino que tú eliges el proveedor donde deseas alojar tu identidad.

Pero lo mejor de OpenId es que es un sistema de identificación digital distribuido, cualquiera puede montar un servidor OpenId (en su terminología, proveedor de identidad) y permitir el registro de usuarios.

Este sistema de identificación digital promete convertirse con el tiempo en la credencial en línea, con la que se podrá navegar e ingresar en cualquier sitio que haya incorporado el servicio, con tu nombre OpenID, sin necesidad de registrarse. La solución para terminar con las cansadoras pantallas de registro, que te obligan a repetir infinidad de veces tus datos personales, una tecnología centrada en el usuario, que te permite tener control sobre cómo tu identidad se maneja y se utiliza en línea.

En OpenId el "nombre de usuario" es una url. Para obtenerla hay que registrarse en un proveedor de identidad (por ejemplo Myopenid) donde se nos pedirá un nombre y una contraseña. Con el nombre se construye la url (en este caso http://minombre.myopenid.com), que será la que facilitaremos cuando queramos autenticarnos en un sitio. Cuando queramos hacer dicha identificación seremos redirigidos al servidor en el que nos hemos dado de alta, que pedirá la contraseña, con lo que se habrá verificado que, efectivamente, eramos nosotros (para el registro o para comentar o para lo que sea). También es posible que el sitio en el que nos registremos pida información adicional (apodo, fecha nacimiento, correo), esto OpenId lo maneja admitiendo distintos perfiles bajo una única URL, permitiendo en cada momento controlar que información damos a qué sitio.

aqui les dejo algunos sitios proveedores de OpenId:

WEB 1.0 y WEB 2.0

Para poder entrar de lleno al tema de este nuevo concepto que llamamos "web 2.0" es fundamental comprender a su predecesora la Web 1.0. Esta última es la que todos conocemos donde todos los contenidos y servicios de un site están aportados, por el creador del sitio o webmaster, que solo permitían al usuario el recorrido o "navegación" entre las paginas de contenidos y el acceso a informacion, pero sin que este tenga mayor interacción con el sitio.

En el modelo de WEB 2.0 el contenido del site es generado directa o indirectamente por el usuario y puede ser compartido a través de la Internet (por ejemplo es el caso de los portales sociales - facebook, myspace - o de la wikipedia donde son los usuarios los que la "cargan con información). Este nuevo concepto genera un nuevo desafío en nosotros los diseñadores y desarrolladores, la creación de interfaces amigables y utilizables por el usuario 2.0. Pero, ¿que es un usuario 2.0? el internauta actual ya no se "conforma" con un sitio tradicional donde solo hace las veces de consumidor de información, sino que espera que la web le brinde otros servicios, utilidades, gadgets, perosonalizaciones o como le queramos llamar, para sentirse "a gusto".
Además de la necesidad de interactuar con la web, hacerse participe de la misma, el famoso y bien ponderado "quiero estar ahí".

Lo que nos da la pauta de hacia donde pensar a la hora de desarrollar o diseñar: pensar en el usuario, hacerse usuario y desde su lugar superarse y buscar la mejor interfase para cada desarrollo. También es importante el trabajo multidisciplinario, donde el programador y el diseñador trabajen a la par, para lograr un mejor producto, donde la comunicación y la funcionalidad vayan de la mano, donde la interacción y los servicios del sitio, sean presentados de una manera competitiva en el caso comercial, o amigable en el caso social.

Hay dos aspectos que son fundamentales en el diseño de las interfaces, que deberían tenerse en cuenta especialmente:

  • diseñar sistemas intuitivos de interacción
  • informar a los usuarios la respuesta que tienen sus acciones en la pantalla

Hacer interfaces intuitivos y sistemas claros de interacción.

Hasta ahora, al llegar a una página la mayoría de los usuarios saben cómo interactuar: si ven un enlace saben que es para ir a otra página, conocen que deben pulsar un botón para realizar una acción o, en un formulario, saben cómo seleccionar elementos mediante botones de opción, casillas de verificación, etc. En las nuevas aplicaciones, la interacción es mucho mayor, pero los usuarios no tienen un modelo mental claro de su funcionamiento. Se introducen novedades que les pueden generar problemas. No son intuitivas y no siguen las convenciones actuales, por lo que no está claro qué deben hacer los usuarios para interactuar, lo que les exige un proceso de aprendizaje, que puede ser difícil para algunos. Estamos en un momento en el que es necesario inventar o rediseñar nuevos controles o convenciones de interfaces de usuario que permitan que intuitiva y claramente aprobeche las herramientas que brindan los sitios.

Comunicar visualmente los cambios de la pantalla al usuario

El usuario de internet está acostumbrado que al realizar una acción, por ejemplo, pulsando un botón, aparezca durante unos instantes una pantalla oscura y luego, se descargue una nueva página en respuesta a su acción. Este modelo de interacción de petición-respuesta desaparece en algunas de las aplicaciones desarrolladas con RIA o Ajax.

Estas aplicaciones operan con otro modelo de interacción. Por ejemplo, en Ajax el usuario no tiene que esperar la respuesta del servidor a su acción, no interactúa, se detiene y espera. Ajax funciona como un intermediario entre el usuario y el servidor que trabaja en un segundo plano en el intercambio de datos, actualizando sólo partes o elementos de la página. Esto hace más rápida la interacción y evita esperas, pero puede crear problemas a los usuarios al poderles pasar desapercibidos los cambios, dudando si su acción ha llegado al sitio.

Uno los principios de usabilidad es tener siempre informados a los usuarios sobre el estado del sistema, dando pistas visuales sobre qué esta ocurriendo, por ejemplo,ofreciendo feedback al usuario de su acción sin dejar dudas sobre si funciona o no.