12.05.2013 Views

Diseño de Interfaz de Usuario para Programadores ... - Willy .Net

Diseño de Interfaz de Usuario para Programadores ... - Willy .Net

Diseño de Interfaz de Usuario para Programadores ... - Willy .Net

SHOW MORE
SHOW LESS

You also want an ePaper? Increase the reach of your titles

YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.

<strong>Diseño</strong> <strong>de</strong> <strong>Interfaz</strong> <strong>de</strong> <strong>Usuario</strong> <strong>para</strong> <strong>Programadores</strong><br />

Capítulo 2: Calcular lo que esperan<br />

Por Joel Spolsky<br />

Traducido por Angel García Cuartero<br />

Editado por José Manuel Navarro<br />

Publicado Originalmente en Ingles<br />

La mayoría <strong>de</strong> los programadores incondicionales <strong>de</strong> C++ que conozco odian la<br />

programación <strong>de</strong> interfaz <strong>de</strong> usuario. Esto me sorpren<strong>de</strong>, porque a mí me<br />

parece que la programación <strong>de</strong> IU es esencialmente fácil, sincera y divertida.<br />

Es fácil, porque normalmente no necesitas algoritmos más sofisticados que uno<br />

<strong>para</strong> centrar un rectángulo <strong>de</strong>ntro <strong>de</strong> otro. Es sincera, porque cuando cometes<br />

un error, inmediatamente lo ves y pue<strong>de</strong>s corregirlo. Es divertido, porque los<br />

resultados <strong>de</strong> tu trabajo son visibles al momento. Sientes que estás<br />

esculpiendo el programa directamente.<br />

Creo que el miedo <strong>de</strong> la mayoría <strong>de</strong> estos programadores viene <strong>de</strong> su miedo <strong>de</strong><br />

hacer diseño <strong>de</strong> IU. Piensan que el diseño <strong>de</strong> IU es como el diseño gráfico: Ese<br />

misterioso proceso por el cual esa gente creativa, que van vestidos <strong>de</strong> negro,<br />

beben capuchinos y llevan piercings curiosos produce un material artístico tan<br />

chulo. Los programadores se ven a sí mismos como pensadores analíticos y<br />

lógicos: fuertes a la hora <strong>de</strong> pensar, débiles a la hora <strong>de</strong> opinar sobre arte. Así<br />

que piensan que no pue<strong>de</strong>n hacer diseño <strong>de</strong> IU.<br />

De hecho, creo que el diseño <strong>de</strong> IU es muy fácil y racional. No se trata <strong>de</strong> un<br />

problema misterioso que requiere un título <strong>de</strong> una escuela <strong>de</strong> arte y cierta<br />

inclinación por el color <strong>de</strong> pelo morado chillón. Existe una manera racional <strong>de</strong><br />

pensar en interfaces <strong>de</strong> usuario, con reglas simples y lógicas, que pue<strong>de</strong>s<br />

aplicar en cualquier sitio <strong>para</strong> mejorar las interfaces <strong>de</strong> los programas en los<br />

que trabajas.<br />

No os voy a enseñar "Zen y el Arte <strong>de</strong>l <strong>Diseño</strong> <strong>de</strong> IU". No es un arte, no es<br />

budismo, sólo es un conjunto <strong>de</strong> reglas. Una forma <strong>de</strong> pensar racional y<br />

metódica. Este libro está pensado <strong>para</strong> programadores. Voy a asumir que no<br />

necesitas instrucciones <strong>para</strong> construir una barra <strong>de</strong> menú; mejor dicho, lo que<br />

necesitas es pensar qué vas a poner en la barra <strong>de</strong> menú (o si realmente te<br />

hace falta una). Os enseñaré que hay un axioma primario que guía todo buen<br />

diseño <strong>de</strong> IU y que no es difícil en absoluto <strong>de</strong> enten<strong>de</strong>r.


Mi primer trabajo <strong>de</strong> verdad fue en una gran pana<strong>de</strong>ría industrial. La pana<strong>de</strong>ría<br />

fue diseñada <strong>para</strong> tener seis filas <strong>de</strong> producción. Por cada dos filas había una<br />

amasadora, que producía pedazos <strong>de</strong> masa gigantes <strong>de</strong> 180 Kg. que se podían<br />

volcar a la <strong>de</strong>recha o a la izquierda:<br />

Bueno, este era el diseño. En realidad, el Mezclador C no había sido construido<br />

aún, ni tenía las filas 3 y 5. Así que el apaño que había era este:<br />

El <strong>de</strong>spierto lector estará pensando "¿Cómo llegaba la masa <strong>de</strong>l Mezclador B a<br />

la fila 6?". Bueno, pues ahí es don<strong>de</strong> el pequeño Joel entraba. Mi trabajo era, si<br />

os lo podéis creer, quedarme al lado <strong>de</strong>l Mezclador B, coger la masa <strong>de</strong> 180<br />

Kg. según salía, ponerla en una bañera con ruedas, llevar la bañera rodando a<br />

la fila 6 y, usando un chisme parecido a un torno, echar la masa en la fila 6.<br />

Tenía que hacer esto cada 10 minutos, <strong>de</strong>s<strong>de</strong> más o menos las 10 <strong>de</strong> la noche<br />

hasta las 4 <strong>de</strong> la madrugada.<br />

Había otras complicaciones. La fila 6 en realidad no podía hacerse con los 180<br />

Kg. <strong>de</strong> masa enteros, así que tenía que cortarla con un cuchillo gigante en unos<br />

10 trozos. Ni siquiera voy a entrar en lo absurdamente difícil que era esto.


Los primeros días, por supuesto, era malísimo en este trabajo. Me parecía casi<br />

imposible. Me dolían todos los huesos <strong>de</strong>l cuerpo. Tenía ampollas en las<br />

ampollas. Me dolían partes <strong>de</strong> mi cuerpo que ni siquiera sabía que existían.<br />

Al principio, simplemente no podía mantener alimentada la fila 6. Cada vez que<br />

había una interrupción en la masa esto creaba un enorme hueco en la línea <strong>de</strong><br />

producción. Cuando el hueco llegaba al horno, éste (suministrando la misma<br />

cantidad constante <strong>de</strong> energía sobre una cantidad <strong>de</strong> masa más reducida) se<br />

calentaba más, lo que quemaba el pan. A veces, la fila 6 se atascaba y <strong>para</strong>ba<br />

la producción, pero el mezclador continuaba produciendo masa y yo corría el<br />

riesgo <strong>de</strong> quedarme sin bañeras don<strong>de</strong> ir poniendo la masa. Cuando esto<br />

pasaba, lo que en verdad hacía era limpiar y engrasar el suelo y volcar en él la<br />

masa, que luego se reutilizaba. Esto no estaba muy bien, porque si la masa se<br />

quedaba así más <strong>de</strong> 30 minutos, fermentaría y no produciría buen pan. Si<br />

pasaba esto, había que cortarla en pedazos <strong>de</strong> 5 kg y poner uno <strong>de</strong> estos<br />

pedazos en la mezcla en el siguiente lote.<br />

Después <strong>de</strong> una semana o así, mejoré tanto en la rutina que, si recuerdo bien,<br />

tenía 2 minutos libres <strong>para</strong> <strong>de</strong>scansar por cada ciclo <strong>de</strong> masa <strong>de</strong> 10 minutos.<br />

Calculé un horario exacto y aprendí cómo <strong>de</strong>cirle a la amasadora que se<br />

saltara un lote cuando la línea <strong>de</strong> producción se <strong>para</strong>ba.<br />

Entonces empecé a pensar por qué, como dice el anuncio <strong>de</strong> la cerveza,<br />

algunos días son mejores que otros.<br />

Un día, pensando en este problema, me di cuenta <strong>de</strong> que una <strong>de</strong> las bañeras<br />

rodantes tenía unas ruedas lamentables que no giraban bien. A veces, esta<br />

bañera no iba hacia don<strong>de</strong> yo la empujaba y se chocaba con las cosas. Esta<br />

era una pequeña frustración. A veces, según tiraba <strong>de</strong> la ca<strong>de</strong>na <strong>para</strong> sacar la<br />

masa <strong>de</strong> la bañera, me arañaba -- sólo un poquito -- con una esquirla <strong>de</strong> la<br />

ca<strong>de</strong>na. Otra pequeña frustración. A veces, según corría con una bañera vacía<br />

<strong>para</strong> coger la masa que salía <strong>de</strong> la amasadora, me resbalaba con un poco <strong>de</strong><br />

aceite en el suelo. He <strong>de</strong> <strong>de</strong>cir que no lo suficiente <strong>para</strong> caerme, sólo una<br />

pequeña frustración.<br />

Otras veces, tenía pequeñas victorias. Aprendí a cronometrar la producción <strong>de</strong><br />

masa tan perfectamente que la masa fresca llegaba segundos antes <strong>de</strong> que el<br />

lote anterior se acabara. Esto garantizaba la masa más fresca posible y<br />

producía el mejor pan. Algunas <strong>de</strong> las victorias eran incluso más pequeñas:<br />

Localizaba un poco <strong>de</strong> masa que había salido dis<strong>para</strong>do <strong>de</strong>l mezclador y se<br />

había pegado a la pared, lo rascaba con una espátula que llevaba en el bolsillo<br />

trasero y lo tiraba a la basura. ¡SÍ SEÑOR! Cuando cortaba la masa en trozos,<br />

a veces se podía cortar muy agradable y fácilmente. Pequeños momentos <strong>de</strong><br />

satisfacción, cuando conseguía controlar el mundo a mi alre<strong>de</strong>dor, aunque<br />

fuese <strong>de</strong> una manera ínfima.<br />

Así pasaban los días. Un montón <strong>de</strong> pequeñas frustraciones y un montón <strong>de</strong><br />

pequeños éxitos. Pero todos se acumulaban. Incluso algo que parece una<br />

pequeña frustración sin consecuencias afecta tu humor. A tus emociones no


parece importarles la magnitud <strong>de</strong> un acontecimiento, sólo la calidad <strong>de</strong>l<br />

mismo.<br />

Y empecé a apren<strong>de</strong>r que los días en los que era más feliz eran los días con<br />

montones <strong>de</strong> pequeños éxitos y unas poquitas pequeñas frustraciones.<br />

Años más tar<strong>de</strong>, cuando fui a la universidad, aprendí algo <strong>de</strong> una importante<br />

teoría <strong>de</strong> psicología llamada In<strong>de</strong>fensión Adquirida, <strong>de</strong>sarrollada por el Dr.<br />

Martin E. P. Seligman. Esta teoría, respaldada por años <strong>de</strong> investigación, dice<br />

que una gran <strong>de</strong>presión aparece tras un sentimiento <strong>de</strong> in<strong>de</strong>fensión: el<br />

sentimiento <strong>de</strong> que no pue<strong>de</strong>s dominar tu entorno.<br />

Cuánto más sientes que pue<strong>de</strong>s controlar tu entorno y que las cosas que haces<br />

funcionan, más feliz eres. Si estás frustrado, enfadado y contrariado, es porque<br />

probablemente te ha ocurrido algo que no pue<strong>de</strong>s controlar: aunque sea algo<br />

pequeño. La barra espaciadora <strong>de</strong> tu teclado no va bien. Cuando tecleas,<br />

algunas palabras se quedan pegadas. Esto es frustrante, porque le has dado al<br />

espacio y no ha pasado nada. La llave <strong>de</strong> tu casa no funciona bien. Cuando<br />

intentas girarla, que atasca. Otra pequeña frustración. Estas cosas se<br />

acumulan; estas son las cosas que nos hacen infelices día a día. Incluso<br />

aunque parezcan <strong>de</strong>masiado insignificantes <strong>para</strong> explayarse con ellas (quiero<br />

<strong>de</strong>cir, hay gente en África muriéndose <strong>de</strong> hambre, por el amor <strong>de</strong> Dios, no me<br />

puedo enfadar con la barra <strong>de</strong>l espacio), no obstante, afectan a nuestro humor.<br />

Una ligera pausa y volvamos a los or<strong>de</strong>nadores.<br />

Vamos a inventarnos un típico usuario avanzado <strong>de</strong> Windows llamado Pete.<br />

Cuando piensas en interfaces <strong>de</strong> usuario, tener usuarios imaginarios en la<br />

cabeza ayuda. Cuanto más realista sea el usuario imaginario, mejor te irá al<br />

pensar cómo van a usar tu producto. Pete es un contable en una editorial<br />

técnica que lleva usando Windows <strong>de</strong>s<strong>de</strong> hace seis años en la oficina y un<br />

poco en casa. Es muy competente y bastante técnico. Sabe instalar su propio<br />

software; lee PC Magazine, e incluso se ha programado algunas macros <strong>de</strong><br />

Word <strong>para</strong> ayudar a las secretarias <strong>de</strong> su oficina a enviar los recibos. Se va a<br />

poner un cable mo<strong>de</strong>m en casa. Pete nunca ha usado un Macintosh. "Son muy<br />

caros", dice. "Te pue<strong>de</strong>s comprar un PC a 700 Mhz con 128 MB <strong>de</strong> RAM por el<br />

precio <strong>de</strong>..." Vale, Pete. Lo pillamos.<br />

Un día Gena, la amiga <strong>de</strong> Pete, le pi<strong>de</strong> ayuda con su or<strong>de</strong>nador. Gena tiene<br />

ahora un Macintosh iBook, porque le encantan estos equipos translúcidos.<br />

Cuando Pete se sienta e intenta usar el Macintosh, rápidamente se va<br />

frustrando. "Odio estas cosas", dice. Al final ha podido ayudar a Gena, pero se<br />

ha vuelto gruñón e infeliz. "Los Macintosh tienen una interfaz <strong>de</strong> usuario tan<br />

patatera".<br />

¿Patatera? ¿De qué esta hablando? Todo el mundo sabe que los Macintosh<br />

tienen una interfaz <strong>de</strong> usuario elegante, ¿no? ¿El <strong>para</strong>digma <strong>de</strong> la facilidad <strong>de</strong><br />

uso?<br />

Este es mi análisis <strong>de</strong> dicho misterio.


En un Macintosh, cuando quieres mover una ventana, pues coges cualquier<br />

bor<strong>de</strong> con el ratón y lo mueves. En Windows, tienes que coger la barra <strong>de</strong><br />

título. Si coges un bor<strong>de</strong>, la ventana se redimensiona. Cuando Pete estaba<br />

ayudando a Gena, trató <strong>de</strong> ensanchar una ventana arrastrando el bor<strong>de</strong><br />

<strong>de</strong>recho. De manera frustrante, la ventana completa se movió, en lugar <strong>de</strong><br />

redimensionarse como él esperaba.<br />

En Windows, cuando una caja <strong>de</strong> mensaje aparece, pue<strong>de</strong> darle a intro o a la<br />

barra espaciadora <strong>para</strong> cerrarla. En un Mac, pulsar espacio no funciona.<br />

Normalmente hace falta pulsar con el ratón. Cuando a Pete le salían avisos,<br />

intentaba cerrarlos pulsando la barra <strong>de</strong>l espacio, como ha estado haciendo<br />

inconscientemente durante los últimos seis años. La primera vez, no pasó<br />

nada. Si ni siquiera haberse dado cuenta, Pete le dio más fuerte al espacio,<br />

porque pensaba que el problema era que el Mac no había recibido la pulsación<br />

<strong>de</strong> espacio. De hecho, si que la recibió -- ¡pero no le importó! Por fin utilizó el<br />

ratón. Otra pequeña frustración.<br />

Pete ha aprendido a usar Alt+F4 <strong>para</strong> cerrar ventanas. En los Mac, en realidad<br />

cambias el volumen. En un <strong>de</strong>terminado punto, Pete quería pulsar el icono <strong>de</strong>l<br />

Internet Explorer en el escritorio, que estaba parcialmente cubierto por otra<br />

ventana. Así que pulsó Alt+F4 <strong>para</strong> cerrar la ventana e inmediatamente hizo<br />

doble click don<strong>de</strong> el icono <strong>de</strong>bería haber estado. El Alt+F4 subió el volumen <strong>de</strong>l<br />

or<strong>de</strong>nador y no cerro la ventana, así que el doble click fue al botón <strong>de</strong> Ayuda en<br />

la barra <strong>de</strong> herramientas <strong>de</strong> la ventana que quería cerrar, lo que<br />

inmediatamente lanzó una ventana <strong>de</strong> ayuda, así que ahora tiene dos ventanas<br />

abiertas que hay que cerrar.<br />

Otra pequeña frustración. Pero, chico, se acumulan. Al final <strong>de</strong>l día, Pete se ha<br />

vuelto gruñón y está enfadado. Cuando intenta controlar las cosas, no<br />

respon<strong>de</strong>n. La barra <strong>de</strong> espacio y la tecla Alt-F4 "no funcionan" --a todo efecto,<br />

es como si estuvieran rotas. La ventana le <strong>de</strong>sobe<strong>de</strong>ce cuando la intenta<br />

ensanchar, le juega una pequeña travesura moviéndose en lugar <strong>de</strong><br />

agrandarse. Ventana mala. Incluso si todo es inconsciente, esa sutil sensación<br />

<strong>de</strong> no tener el control se traduce en in<strong>de</strong>fensión, que a su vez se traduce en<br />

infelicidad. "Me gusta mi or<strong>de</strong>nador", dice Pete. "Lo tengo todo pre<strong>para</strong>do <strong>de</strong><br />

manera que funcione como me gusta. Pero estos Macs son cutres y difíciles <strong>de</strong><br />

usar. Es un ejercicio <strong>de</strong> frustración. Si Apple hubiera estado trabajando en<br />

MacOS todos estos años en vez <strong>de</strong> tontear con los Newton, su sistema<br />

operativo no sería tan <strong>de</strong>sastroso".<br />

Vale, Pete. Ahora lo sabemos. Estas sensaciones aparecen a pesar <strong>de</strong>l hecho<br />

<strong>de</strong> que los Macintosh son realmente fáciles <strong>de</strong> usar -- <strong>para</strong> los usuarios <strong>de</strong><br />

Mac. Qué tecla pulses <strong>para</strong> cerrar una ventana es totalmente arbitrario. Los<br />

programadores <strong>de</strong> Microsoft, que, presuntamente, estaban copiando la interfaz<br />

<strong>de</strong> Mac, probablemente pensaron que molaba añadir una característica que<br />

permitía redimensionar ventanas arrastrando cualquier bor<strong>de</strong>. Los<br />

programadores <strong>de</strong> Mac 8.0 probablemente pensaron que molaba añadir una<br />

característica que hacía que pudieras mover las ventanas arrastrando cualquier<br />

bor<strong>de</strong>.


La mayoría <strong>de</strong> las discusiones leídas sobre asuntos <strong>de</strong> interfaz <strong>de</strong> usuario se<br />

concentran en la cuestión equivocada. Windows es mejor porque te ofrece más<br />

formas <strong>de</strong> redimensionar ventanas. ¿Y qué? No es eso. La cuestión es,<br />

¿respon<strong>de</strong> el IU al usuario <strong>de</strong> la manera que el usuario espera que lo haga? Si<br />

no lo hace, el usuario se va a sentir <strong>de</strong>sprotegido y sin el mando, <strong>de</strong> la misma<br />

manera que yo me sentía cuando las ruedas <strong>de</strong> la bañera con la masa no<br />

giraban en la dirección que yo las empujaba y me chocaba con la pared.<br />

Buuuumba.<br />

Las IU son importantes porque afectan a las sensaciones, las emociones y el<br />

humor <strong>de</strong> tus usuarios. Si la IU está mal y el usuario siente que no pue<strong>de</strong><br />

controlar la aplicación, literalmente no serán felices y culparán a tu programa<br />

<strong>de</strong> ello. Si la IU está bien y las cosas funcionan <strong>de</strong> la manera que los usuarios<br />

esperan, estarán contentos cuando consigan completar pequeñas tareas. ¡Hey!<br />

¡Acabo <strong>de</strong> copiar un CD! ¡Y ha funcionado! ¡Este programa está bien!<br />

¡Moooooola!<br />

Para hacer feliz a la gente, tienes que permitirles sentirse al mando <strong>de</strong> su<br />

entorno. Para hacer esto, necesitas interpretar correctamente sus acciones. La<br />

interfaz necesita comportarse <strong>de</strong> la manera que ellos esperan que se comporte.<br />

Así, el axioma fundamental <strong>de</strong> todo diseño <strong>de</strong> interfaz <strong>de</strong> usuario es:<br />

! " !# $ !# % &<br />

' ( & ' )<br />

* ! +

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!