Leyendo Don’t make me think

Hace años que no leo nada acerca de usabilidad, desde que finalicé los estudios. Ahora estoy leyendo «Don’t make me think, Revisited» de Steve Krug, un reputado especialista en usabilidad. Es la tercera edición que el autor hace del clásico que publicó en el año 2000. En esta nueva edición hace un repaso sobre los mismos principios añadiendo la usabilidad web para móviles y poniendo ejemplos más actuales.

Bastante ameno y muy ilustrado, no se trata de un extenso tratado sino de un compendio de los aspectos más importantes de la navegación y distribución de la información.

En vez de extenderme más en la descripción del libro pondré un ejemplo de su utilidad. Varios de los estudios que el autor ha hecho para sus clientes han incluido la observación del uso que diferentes usuarios dan a su web. Puede llegarnos a sorprender el modus operandi de algunos usuarios pues tendemos a pensar que la forma en que nosotros usamos una web es la más lógica o intuitiva y por lo tanto también la más común. Sólo darse cuenta de como caemos en este error compensa el tiempo y el dinero que cuesta el libro.

Leí en algún sitio que si sólo fueras a leer un libro sobre usabilidad debería ser este. Pues eso, imprescindible para diseñadores y desarrolladores web.

Las citas espirituales de Notepad++

Una vez más, en la última actualización rutinaria de Notepad++, miro de reojo el log de bugs arreglados y mejoras y me encuentro otra sorpresa. (Voy a tener que dejar de mirarlo).

  1. Fix bug: language menu item is restored back on the wrong zone.
  2. Add a spiritual quote.

Un par de días después, en un rato libre, me lanzo a buscar dónde ver esas citas que elevarán mi espíritu cuando esté obligado a programar en Windows y encuentro que para verlas debe lanzarse Notepad con el parámetro «qnrandom»:

c:\Program Files (x86)\Notepad++>notepad++.exe -qnrandom

Atención a lo que pasa, al elevado apoyo espiritual que aportan las citas y al tiempo libre que tienen algunos programadores:

Juro que yo no escribo, escribe Notepad, yo sujeto el móvil. :-O


Editado el 27/03/2018:

Nueva actualización y nueva frikada. ¡A este paso va a hacer falta una sección propia!

Modificar imágenes desde la línea de comandos con ImageMagick

ImageMagick es un completísimo paquete de programas multiplataforma para el tratamiento de imágenes. A diferencia de programas como Photoshop o Gimp, los programas que lo componen se ejecutan desde la línea de comandos, aunque también dispone de un sencillo entorno para X Window en Linux.

Entorno gráfico de ImageMagick en Linux

Tiene numerosas herramientas que, entre otras cosas, permiten:

  • Convertir entre una gran cantidad de formatos de imágenes.
  • Manipular la paleta de colores de una imagen.
  • Añadir tramados.
  • Crear un gif animado a partir de varias imágenes.
  • Superponer una imagen encima de otra.
  • Añadir texto a una imagen.

En la documentación se puede ver un listado detallado.

En la web es frecuente que el gestor de contenidos cree automáticamente réplicas de diferentes tamaños a partir de una imagen subida por el usuario para su correcta visualización en diferentes páginas. Por lo tanto, sin duda lo más usado para la web es su capacidad de reescalar imágenes, para lo que usa el algoritmo de «liquid rescaling«. Ademas la modificación de tamaño es muy flexible, permitiéndonos lograr la modificación que estemos buscando.

Tal vez algún lector se esté preguntando que habiendo programas con entorno gráfico como los citados más arriba, para qué trabajar en el modo texto de la shell de Linux/Unix. Veamos entonces un caso en que sería conveniente. Resulta fácil que una web acabe teniendo miles de imágenes distribuidas en cientos o miles de directorios, pues, por cada imagen que el administrador del contenido sube se van a crear varias copias con diferentes tamaños. Fácilmente el total de imágenes de un catálogo de productos, por ejemplo, se vuelve inmenso. Imaginemos que un cambio de diseño o la necesidad de hacer la web responsive hace necesario modificar el tamaño de una de las copias que se estaba guardando de cada imagen. En vez de modificarlas una a una con nuestro programa de edición de imágenes favorito, se puede crear un shell script como este:

ls *jpg | while read i
do
f=`basename $i .jpg`
convert $i -resize 200x200 smaller-$f.jpg
done

Lo que hace es buscar todas las imágenes jpg del directorio y gracias al comando convert de ImageMagick crea una copia más pequeña reescalada a 200×200 píxeles cuyo nombre será la cadena «smaller-» concatenada al nombre del fichero original. Fácilmente se podría modificar el script para que recorriera recursivamente todos los subdirectorios.

Todo lo que nos ofrece ImageMagick se puede utilizar desde diferentes lenguajes de programación y no solo porque desde éstos se pueda invocar comandos en la shell* y por lo tanto a ImageMagick, si no que el paquete ha sido portado. Está disponible en Java, .NET, Ruby, Pearl, Python, Php, etc. Aquí hay una lista detallada de todos.

En el caso concreto de PHP existe la extensión nativa IMagick. Sin duda es GD la extensión más extendida, valga la redundancia, en PHP. A pesar de su mayor propagación, y como es tan frecuente en el mundo de la informática, IMagick presenta algunas ventajas sobre GD que la convierten en una mejor extensión para trabajar con imágenes. Aquí un artículo con una comparación entre ambas.


* Como hace Drupal, el extendido CMS en PHP.


Aunque la palabra comando es un calco de inglés y en español es más correcto usar orden o instrucción, uso el término que usamos habitualmente en nuestro trabajo.