Un par de posts atrás comenté al pasar que últimamente cuando estoy a punto de terminar algo, me entero de una manera alternativa de hacerlo, en general más sencilla 🙂

Una vez más fui víctima de esto, aunque esta vez por suerte me avivé antes de empezar.

La tarea era, en la lucha por la usabilidad, agregar una marca, ícono, texto, o lo que sea, para avisarle a los usuarios que ya habían visto un ítem en la portada de un proyecto web. Se publican unos 50 ítems al día, así que era muy importante esta funcionalidad.

Ya había hecho algo muy parecido cuando armé un sistema de mensajería privada donde era aún más fundamental que el usuario pudiese ver si ya leyó un mail. Así que sin pensarlo mucho, me dije tengo que hacer esto mismo otra vez. La información de quién veía cuál ítem ya la guardaba por otras razones así que no era tan difícil.

Si hasta acá no se dieron de cuenta de que para lograr esto que necesitaba no había que programar absolutamente nada, habrían perdido un buen tiempo como casi me pasa a mí.

Cuando estaba pensando qué iconito podía poner para el «leído/no leído» me cayó la ficha. ¿Para qué %$@!& está el CSS?

Así que en vez de pasar un lindo rato programando y, muy importante también, gastar bastantes recursos al hacer una comprobación para cada usuario por cada ítem, apliqué un class llamado marcarleidos a los links y puse en la hoja de estilos:

a.marcarleidos:visited {
	color:#000;
}

Ahora los no leídos salen con color azul, y el resto en negro. Bastante más simple, ¿no?

Con estas experiencias me doy cuenta de que es muy cierto que una buena planificación y pensar bien las cosas que vamos a hacer, antes de efectivamente hacerlas, es importantísimo para en realidad ganar tiempo.