Interfaces y tecnocultura

Este texto de ficción es un relato inspirado en eventos e interacciones retroprogramadas. Literatura gris, comentarios entre líneas de código orquestradas por patrones sintéticos. Píxeles sin forma y sin color, imperceptibles. Metáforas que parecen genialidades y que no son más que extensiones de nuestra frustración, la búsqueda de dignidad, el ego que penetra y desaparece antes de que ser descubierto.

Read more

Interfaz de línea de comandos: ¿un paradigma poco popular?

Han pasado ya unas cuantas semanas desde que empecé en mi nuevo trabajo y tenía muchas ganas de hablar de unos cuántos temas que han ido surgiendo durante todo este tiempo.

Uno de los que más interés me está causando, debido a su estrecha relación con la Interacción Persona-Ordenador (HCI) es el de las Interfaces de Línea de Comandos (CLI) y lo usable (o no) de su diseño.

No es éste un tema habitual ya que, usualmente, todo lo que tiene que ver con la Usabilidad y Experiencia de Usuario se termina ligando inevitablemente a las Interfaces Gráficas de Usuario (GUI) ya sean web, móviles, de escritorio u otras superficies. Lo cierto es que, desde que la metáfora visual se utiliza como representación del modelo de comunicación entre personas y computadores, la necesidad de diseñar estas interfaces de una forma eficiente para su uso se convierte en una obligación.

¿Pero qué ocurre con las CLI? ¿Se les puede aplicar criterios cualitativos de usabilidad? Más allá de los estándares que ya existen ¿representa la línea de comandos un paradigma relegado a un modelo de uso en declive o poco popular?

Haciendo un poco de investigación me topé con algunos recursos interesantes que me sorprendieron.

El primero que recomiendo es este libro: Build Awesome Command-Line Applications in Ruby 2: Control Your Computer, Simplify Your Life

Claramente destinado a programadores de interfaces de comandos pero con un enfoque muy serio en cuanto al respeto hacia los estándares para desarrollar algo suficientemente familiar. En el libro se destacan varias ideas en su introducción y conclusión:

  • Las CLI están focalizadas a scripting.
  • Las CLI no suelen utilizarse para el trabajo final, sino como recurso.
  • Las CLI son un white canvas (con los problemas de usabilidad inherentes que eso conlleve).

Pero por el contrario

  • Las GUI son interfaces muy difíciles de automatizar.
  • Las GUI no son interfaces fácilmente portables.

Quiero referenciar también el post que encontré en Biko que, curiosamente, trata el aspecto gráfico o visual de las CLI para hablar sobre UX. Sin faltarle razón creo que es un tema en el que se puede profundizar hacia muchos más aspectos.

Otro interesantísimo recurso que encontré fue este artículo escrito por Florian Cramer y Kamen Nedev que me parece simplemente imprescindible: Poética de la línea de comandos donde ejemplifica la diferencia entre los dos paradigmas de una forma muy sencilla:

La interfaz de línea de comandos provee funciones, no aplicaciones; métodos, no soluciones, o: nada más que un montón de plug-ins para ser promiscuamente enchufados unos en otros. La aplicación puede construirse, y la solución puede ser inventanda, por los propios usuarios.

[…] O, también, el paradigma Lego de un juguete auto-definido frente al paradigma Playmobil de un juguete predefinido.

Finalmente, me gustaría incluir algunos ejemplos de interfaces que, si bien no son líneas de comandos clásicas orientadas a usuarios administradores de sistemas, sí hacen uso del lenguaje natural en formato textual para interaccionar con los usuarios.

Seguramente haya muchos más ejemplos, si conoces alguno te animo a que los compartas conmigo.

Una última reflexión que me surge es sobre la necesidad/oportunidad de evolucionar las CLI para que aprovechen mejor el factor de forma de algunos dispositivos móviles como Blackberry (que se niega a morir). A fin de cuentas aún hay millones de usuarios que se comunican y se entienden con mensajes de menos de 140 caracteres.

Google podría considerar otra interfaz más de comandos.

Interfaces de usuario en el ámbito sanitario

Diseñada para la salud

Este viernes 23 de Mayo participé en el evento de UXSpain para hablar de Interfaces Usuario en el ámbito sanitario. Me ha hecho una enorme ilusión asistir a este evento un año más y en esta ocasión como ponente para introducir un tema como el de la Experiencia de Usuario en la Industria Tecnológica Sanitaria a la que llevo dedicándome casi 5 años.

Nervios a parte, intenté comunicar con algunos ejemplos cómo las interfaces de usuario en este sector pueden llegar a representan y determinar el modelo de antención sanitaria (servicios y productos incluidos).

La Sanidad es un ámbito de caracter humanitario que, sin duda, puede y debe verse beneficiado de las disciplinas del diseño, no sólo como especilidades sino como parte de sus estrategias transformadoras. Esta es la idea que me animó a compartir mi experiencia y que espero que resultara interesante a todo/as los asistentes.

Gracias a todos por vuestros amables comentarios en en Twitter y sobre todo a los que pude verles las caras e intercambiamos impresiones. No me gustaría que se perdiera el caracter de encuentro de este evento ya que es sin duda lo que más aporta a nivel personal para construir esta comunidad tan importante a nivel profesional.

Quiero agradecer también a mi compañero de vida Antonio Benítez su apoyo y ayuda, que se ha currado la mitad de las slides y sabe tanto o más que yo lo difícil que es la toma de decisiones de diseño y procesos en este sector.

¡Muchísimas gracias a todos, nos vemos en el próximo uxspain! Por supuesto, enhorabuena a la organización.

[es] Productividad vs Riesgo Clínico

La dificultad de crear soluciones usables en sanidad

La productividad que un usuario puede conseguir con una herramienta depende, entre muchas otras cosas, de la usabilidad de la interfaz con la que trabaje. En el contexto de las aplicaciones sanitarias, las soluciones de diseño de interfaz que se aportan pueden llegar a suponer en determinadas ocasiones una serie de peligros que deriven en riesgos clínicos. ¿Es incompatible una solución productiva con una solución libre de riesgos clínicos? Con el ánimo de ofrecer una visión amplia de las problemáticas, en este artículo ofrecemos posibles soluciones atendiendo a los patrones de diseño más habituales usados para aumentar la productividad en las interfaces de usuario.

Para el análisis se proponen dos modos de uso concretos: la entrada de datos (interacción contra el sistema) y la salida de datos(representación de información e interacciones de manejo de datos) en un sistema sanitario.

Entrada de datos (garbage-in)

Ayuda para completar la información

  • Problema: La ayuda puede estar descontextualizada
  • Solución: La ayuda que se ofrezca al usuario no debe estar sólo contextualizada a su actividad habitual sino al contenido y la información que se requiere.

Autocompletar

  • Problema: La acción para autocompletar puede terminar en la selección de un valor no deseado
  • Solución: Las acciones de autocompletar deben permitir al usuario final sobrescribir el valor y advertirlo de que está introduciendo un valor fuera del catálogo

Informar de errores de validación

  • Problema: Los errores de los que se informan son parciales
  • Solución: Informar al usuario de la posible existencia de más errores y de la necesidad de su revisión

Opciones por defecto

  • Problema: Los valores por defecto pueden estar basados en suposiciones erróneas
  • Solución: Informar de que existen valores por defecto e incluso ofrecer la posibilidad de eliminarlos

Atajos de teclado

  • Problema: Pérdida de feedback visual sobre lo que se está haciendo
  • Solución: Informar al usuario mediante un mensaje de la acción que se va ejecutar

Comandos (lanzar acciones, deshacer, acciones masivas)

  • Problema: El comando puede provocar un fallo en la integridad de los datos
  • Solución: Ejecutar comando en modo simulado hasta la completa confirmación por parte del usuario e informar de la vista local del resultado

Salida de datos (garbage-out)

Resumen de datos e índices

  • Problema: Los datos no están actualizados
  • Solución: informar al usuario de la última actualización de los datos y ofrecer la posibilidad de actualizarlos in-situ

Búsqueda

  • Problema: La búsqueda oculta resultados
  • Solución: Informar de los resultados visibles y de la existencia de resultados ocultos ya sea por cuestiones de paginación como de coincidencia con la búsqueda

Notificaciones

  • Problema: Las notificaciones no están priorizadas
  • Solución: Ofrecer un sistema de priorización y permitir la personalización de la prioridad de las alertas una a una o por tipologías

Alertas

  • Problema: Se ha considerado una alerta algo que no lo es
  • Solución: Asociar las alertas a dominios clínicos estáticos e identificables de forma consistente
  • Problema: Se ha asociado un icono poco intuitivo a una alerta
  • Solución: Etiquetar las alertas con términos cortos y/o agruparlas bajo dominios predefinidos

El escenario sanitario

Debemos tener en cuenta que en el contexto sanitario, las tareas que un usuario debe realizar que requieran de un sistema informático pueden llegar a suponer hasta el 30% de su tiempo y por tanto existe una necesidad evidente de mejorar la eficiencia y productividad en su uso diario. Al mismo tiempo es importante considerar que durante la jornada laboral son múltiples y muy frecuentes los cambios de tareas, actividades y contextos, por ejemplo, un médico en la sala de urgencias en un intervalo de 10’ ha podido realizar el Triaje a dos pacientes, ser consultado por el equipo de enfermería 3 veces sobre asuntos de diferentes naturaleza, se ha podido levantar de su asiento 6 veces para diferentes comprobaciones de material, información, etc. Por lo tanto, si bien la propia tarea favorece y exige una alta capacidad de concentración, la capacidad de atención se reduce por el alto número de interrupciones. En este contexto, el usuario controla lo que hace pero está sometido a una carga alta de estrés y distracciones en casi cualquiera de sus actividades. Un error médico podría suponer un riesgo para la salud de sus pacientes.

Desde la visión más simplificada de un sistema informático como mera representación del modelo de información, la interfaz básica más directa consiste en la disposición de formularios para rellenar datos y vistas para mostrarlos. Incluso con ésta fórmula, la aplicación no estaría exentas de riesgos clínicos. Cualquier solución aplicable para la interfaz más sencilla no es incompatible con interfaces más ricas y usables. Por esto consideramos que no sólo no es incompatible ofrecer soluciones que aumenten la productividad y la usabilidad, sino que además es necesario.

Referencias