|

Basar el diseño del historial del navegador en la memoria del usuario

La usabilidad del historial del navegador podría ser mucho más útil si se rediseña pensando en cómo funciona la memoria del usuario. Es la acertada reflexión que hace Alex Faaborg, diseñador de experiencia de usuario en Mozilla y miembro del equipo de desarrollo de Firefox 3.

El objetivo del usuario cuando va al historial se podría resumir en algo como: "Yo vi algo en algún sitio hace poco y quiero volver ahí". Lo que normalmente hacemos para volver a encontrar esa información es ir al sitio donde lo vimos y recrear las acciones realizadas para volver a encontrar la información: esto suele ser más sencillo y rápido que usar el historial del navegador.

El problema es que el historial funciona mostrando una lista de titulos de páginas, además ordenados por orden alfabético y casi nadie se fija en el título de una página que, además, suele ser poco descriptivo.

Sin embargo hay elementos de la interacción con el navegador que son más fáciles de recordar:

  • Acciones específicas que hizo: recordamos más facilmente lo que hemos hecho que dónde hemos estado. Por ejemplo: yo busqué tal palabra, guardé tal sitio en mis favoritos o ví el enlace en tal blog.
  • El aspecto del sitio donde estuvimos: la ciencia cognitiva ha demostrado repetidamente que somos mucho mejores recordando imágenes que textos, especialmente en tareas de reconocimiento.
  • Palabras o frases que leímos
  • Cuándo hicimos algo: sabemos que hemos hecho algo hoy, ayer o hace varios días. No sabemos lo que hicimos hace exactamente 5 días o hace 7 días.

En base a estas premisas, algunas hipotéticas, pero muy lógicas, Faaborg hace una propuesta de rediseño del historial que se puede ver en este prototipo:

http://sentidoweb.com/img/2007/01/newHistory.jpg_large-thumb.jpg

y que tendría estas características:

  • Poder buscar sobre las búsquedas que has realizado
  • Estaría organizado sobre segmentos de tiempo y acciones realizadas (buscar, abrir pestaña, pulsar link…). Cada segmento se agruparía sobre la acción que disparó la visualización de una serie concreta de páginas.
  • Añadiría al título de la página una imagen en miniatura de la misma.

Una interesante propuesta que es posible que se convierta en una extensión para Firefox del laboratorio de Mozilla

Vía / Blog de Alex Faaborg

| |

Laboratorio: desplegar mapa del sitio mediante Ajax

Vamos a explicar un pequeño script para mostrar en una capa el mapa del sitio web usando Ajax (en este caso la librería jQuery).

Un efecto parecido lo podemos encontrar en periódicos online para mostrar las diferentes secciones que se pueden visitar. Por ejemplo lo podemos ver en elmundo.es (en la cabecera) y en elpais.com (en el pie de página).

Se trata de que cuando se pasa el ratón sobre el link, se muestra un menú con las secciones del periódico (mapa del sitio en nuestro caso).

Como hemos explicado en otras ocasiones de cómo usar Ajax, esta vez vamos a utilizar la librería jQuery para facilitar la labor. El que sea un mapa del sitio es debido a que de cara a SEO los buscadores indexan más facilmente nuestro sitio.

También hemos pensado en la accesibilidad, para ello el enlace nos lleva a una página que muestra el mapa del sitio. Esta página que deberá ser dinámica, lo que hace es incluir en la parte del HTML donde se muestra la información principal (suponiendo que hay navegación y paneles laterales) el contenido de otro archivo, que es el que tiene el mapa del sitio. Este último archivo es el mismo que mediante Ajax se carga en la capa que se muestra en el mouseover del enlace.

Supongamos que tenemos dentro de nuestra página, el enlace en cuestión y una capa que estará oculta inicialmente mediante CSS:

<p><a href="paginasecciones.php" id="secciones">Secciones</a></p>
<div id="marco"></div>

También disponemos de dos páginas, una que muestra el mapa del sitio (secciones.html) y otra que incluye a la primera dentro de su contenido (paginasecciones.php), en cuyo código debería haber la siguiente función:

<?php require('secciones.html'); ?>

Ahora tan solo nos falta en el onload del window añadir la funcionalidad necesaria para ocultar la capa, y añadir al enlace el evento onmouseover para cargar el contenido de la capa y mostrarla cuando se pose el ratón en el enlace, y el evento onmouseout para ocultar la capa cuando salgamos del enlace.

window.onload = function() {
var obj = $("div#marco");
obj.hide();
$("a#secciones").mouseover(
function() {
var capa = $("div#marco");
// Para evitar recargar la pagica cada vez que se muestra
if (!capa.attr("cargado")) {
capa.load("secciones.html");
capa.attr({cargado: true});
}
capa.show().slideDown("slow");
} );
$("a#secciones").mouseout(
function() {
var capa = $("div#marco");
capa.slideUp("slow");
} );
}

El código es muy sencillo, lo único necesario de explicar para entenderlo es lo siguiente:

  • Cuando se carga el contenido de la capa, primero se comprueba si existe un atributo propio que hemos añadido a la capa, si no existe ese atributo entonces cargamos el contenido mediante Ajax y luego creamos ese atributo para así no tener que volver a cargar otra vez el contenido cuando pasemos el ratón sobre el enlace.
  • La función $ nos permite obtener un elemento HTML, en el caso de $(“div#marco”) nos devuelve el elemento DIV cuyo id es “marco”.
  • hide() oculta un elemento HTML.
  • show() muestra un elemento.mouseover(funcion) añade la ejecución de la función en el evento mouseover de un elemento.
  • mouseout(funcion) añade la ejecución de la función en el evento mouseout de un elemento.
  • attr(texto) consulta el valor del atributo pasado como parámetro de un elemento.
  • attr(código) añade el atributos y valores a un elemento.
  • slideDown despliega una capa hacia abajo.
  • slideUp repliega una capa hacia arriba.

Código fuente

Microsoft liderará el grupo de trabajo HTML en la W3C

El grupo de trabajo que, dentro de la W3C, se encargará de la controvertida misión de “reinventar el HTML“, estará liderado por Chris Wilson, el jefe del proyecto IE7. Este grupo de trabajo colaborará con WHATWG de evolucionar el HTML de forma paralela al XHTML.
Personalmente me llevé una grata impresión de Chris, al que muchos pudimos escuchar en la pasada edición de Fundamentos Web, y hay que reconocerle su gran labor acercando IE7 a los estándares.
Pero que sea un alto responsable de Microsoft el que se encarge de liderar la evolución de un lenguaje que esa empresa ha respetado tan poco a largo del tiempo es algo que nos produce inquietud y desasosiego.
No puedo estar más de acuerdo con Daniel Glazman cuando considera que:

No puedo entender cómo y porqué el liderazgo del Grupo de Trabajo del HTML se da al vendedor mayoritario de navegadores, en este caso Microsoft. Microsoft, Mozilla, Opera y Apple deberían estar fuera de este liderazgo de este nuevo grupo de trabajo para preservar su independencia total o al menos añadir un co-lider independiente para mantener este propósito.

Creo que los que piensan que esto significa que Microsoft se acercará a los estándares y a la W3C pecan de ingenuos y que esta no es una buena noticia.
Vía / 456BereaStreet