Ratones para jugones… no solo para jugones

Foto de un ratón de ordenador con una botonera de funciones especiales
¿Tiene sentido gastarse setenta euros en un ratón? Foto (cc) Evan Sims, click en la foto para acceder al original

Si hay un nicho de mercado que me fascina en esto de la electrónica de consumo es, sin lugar a dudas, el de los gamers: coja usted un producto cualquiera, póngale una luces de neón y unos logos extraños, y multiplíquele el precio por dos. He ahí un modelo de negocio interesante.

Y ahí me tenéis, en un ejercicio de coherencia absoluta (o no), propietario desde hace unas semanas de un Razer Naga, un ratón «para gamers» que cuesta la friolera de setenta eurazos. Y olé.

¿Y por qué? Porque hace tiempo que persigo tener unos cuantos botones más al alcance de la mano. Cuando estoy tecleando, odio llevar las manos hasta el ratón y, por tanto, me gusta disponer de todas las funcionalidades al alcance de unas cuantas combinaciones de teclas. De la misma forma, cuando estoy trabajando con el ratón (léase, en la mayoría de casos, intentando arreglar alguna foto con Photoshop), me gustaría tener todas las funcionalidades sin llegar al teclado… y ahí entra en juego la botonera que veis en la foto: una docena de botones programables al alcance de tu pulgar.

¿Y cómo ha ido la cosa?

La primera buena noticia es que la iluminación LED se puede apagar. Por partes, además: por un lado el logo superior y por otro la botonera. Confesaré que he dejado encendido el logo, que ‘late’ con un efecto bastante relajado y, sobre todo, está cubierto por mi mano casi siempre :-).

Pero la cosa era la botonera, ¿no? Sí. Y las noticias tampoco son malas, aunque con algún matiz. Personalizar cada botón para asignarle la combinación de teclas que uno desee (‘guardar para la web’, en Photoshop, es ‘ctrl+may+alt+s’…) es sencillo y, además, podemos elegir personalizaciones diferentes para cada programa que usemos, con lo que saltar de Photoshop a, pongamos, Illustrator o Premiere es automático. ¿El matiz? La ergonomía. El ratón funciona bien, pero aún me pregunto por qué le han puesto cuatro filas de botones: igual los pulgares del gamer medio son más flexibles que los míos, pero si para mí la tercera fila ya es de difícil acceso, me cuesta imaginar que nadie pueda usar con regularidad la cuarta sin avanzar con velocidad hacia una artritis más que notable.

¿Y en conclusión? Para los que usamos con frecuencia aplicaciones «de ratón» pero con unas cuantas combinaciones de teclas, la idea no es mala, para nada. El mayor problema, desde luego, es el precio: dejarse esa pasta en un ratón puede resultar doloroso. Algún día es posible que aparezca algo similar en «gama no gamer» (¿Logitech? ¿Microsoft?) y los 70 euros se conviertan en unos menos difíciles de justificar 50… Pero si a algún rey mago se le han agotado las ideas y su presupuesto se mueve en ese rango… es un regalo la mar de ‘apañao’ (ayuda, además, que la presentación está en línea con el precio).


PS 20121231 De hecho, Logitech tiene ratones de esa gama (ver en Amazon) y sí es algo más barato, pero tampoco tanto…

¿Intuitivo?

Dicen los expertos en interfaces que la única interfaz natural es el pezón de la madre y que a partir de ahí todo es aprendido… (sobre el origen de la cita, y quiero dejar constancia que conozco a unas cuantas madres que certificarán que no siempre es completamente intuitiva, algo que debería dar que pensar). La cita me vino a la cabeza el otro día hablando con alguien sobre lo tremendamente intuitiva que es la interfaz del iPhone, algo que a su vez me trajo a la cabeza una batallita de hace unos cuantos años.

Slide to Unlock - Bi-directional
El elemento de interfaz más intuitivo de toda la telefonía movil… (Foto (cc) Ben Jianfa Tsai, seguid el enlace para acceder al original)

Y es que la persona con quien hablaba defendía que «hasta su madre podía usar el iPhone sin tener que preguntar nada a nadie». Algo que entra en conflicto con mi experiencia. Si sois lectores habituales y tenéis memoria de elefante igual recordáis que hace cinco años (un poco más, de hecho) servidor se compró un iPod Touch de primera generación un poco antes de que el cacharro llegara oficialmente a España y, por lo tanto, de que la mayoría de gente lo hubiese visto. A mi llegada, como era de esperar, me pasé un buen rato enseñando el cacharro a propios y extraños (propios y extraños que, en general, están bastante más familiarizados con la tecnología que la media, que para algo son mis propios y extraños)… y, con cada persona a quien se lo dejaba, sin excepción, si no había visto alguna de las «quinouts» de Steve Jobs, pasaba lo mismo: cara de extrañeza ante esa tan intuitiva pantalla inicial de desbloqueo, con su flecha y su clarísimo slide to unlock y la pregunta «¿cómo se desbloquea?» No sé si fue al quinto intento, o al décimo, pero llegó un punto en el que comenzaba la explicación con un «¿Ves? Se desbloquea así». No es, para nada, una muestra científica, pero…

Y, sin embargo, mi interlocutora tiene razón: si le das un iPhone o un iPod Touch a alguien que no lo ha tocado nunca, lo más probable es que lo desbloquee sin mostrar ni el menor atisbo de duda. ¿Y cómo? Hoy se me ha ocurrido algo: buscar el primer anuncio del iPhone, todo un clásico de la publicidad, con más de cinco años a sus espaldas. Y sí, efectivamente… ¿cómo comienza?

http://www.youtube.com/watch?v=4acWkNihaxc

Apple no creó una interfaz intuitiva porque, como sabemos desde años, eso es, básicamente… imposible. Pero sí creo una interfaz fácil y divertida de aprender y, además, hizo todo lo que estaba en su mano para enseñar cómo funcionaba. Desde el primer segundo.

Hasta la peor interfaz puede tener un motivo

Si os movéis por el mundillo del diseño y desarrollo web es más que probable que en algún momento hayáis visto a algún UX designer que hace un repaso de las catastróficas interfaces con que nos encontramos por ahí con más frecuencia de la que deberíamos… Los ejemplos típicos son las máquinas expendedoras de billetes, las lavadoras y, si salen webs, las de compra de billetes por internet (si la charla es en España, la web de Renfe es casi obligatoria (y con razón)). Si no habéis visto ninguna, os recomiendo la siguiente, de Aral Balkan. Os vais a reir mucho y, lo más importante, vais a aprender bastante sobre el diseño de interfaces:

Algo que me hizo gracia al verla es que Balkan elige como uno de sus ejemplos de interfaces atroces (está hacia el minuto trece del vídeo) uno con el que yo me encontré hace unas semanas, en un tren inglés. Y a fe mía que es verdaderamente atroz:

Foto de las instrucciones (en inglés) para abrir la puerta de un tren. Hay que, primero, esperar a que se active una señal de puerta desbloqueada, después bajar la ventana y, finalmente, sacar el brazo y abrir la puerta desde fuera
En serio

Que sí. Que por difícil de creer que resulte, la foto es real y el procedimiento es, efectivamente, ese: primero, esperas a que se active una señal de puerta desbloqueada, después bajas la ventana y, finalmente, sacas el brazo y abres la puerta desde fuera. Cuando vas a bajar del tren y ves cómo un pasajero sigue esos pasos, la dilatación de tus pupilas es extrema. Lo aseguro. Maravilloso ejemplo de cómo no debería hacerse algo.

Y sin embargo. Porque siempre hay algo más que añadir. Si seguís con la presentación (y deberíais, de verdad) veréis y oiréis cómo Balkan explica que eso es así por un motivo. Y es que ese procedimiento para abrir la puerta es así desde hace mucho tiempo, cuando las puertas de los trenes no se bloqueaban y desbloqueaban solas. Y, en un caso así, diseñar para la dificultad es, de hecho, una buena idea.

Balkan no se para, sin embargo, a explicar por qué el diseño no ha cambiado desde entonces. Y sí, es relativamente fácil pensar motivos…

  • Por un lado, hacer el cambio es caro: implica hacer el diseño (un coste perfectamente asumible), homologarlo, encargar puertas para todos los vagones de todos los trenes (eso va a ser considerablemente más caro) y encargarse de cambiar todas esas puertas en el menor tiempo posible (algo que, seguramente, implique una logística bastante más complicada de lo que uno pueda imaginar).
  • Y, por el otro… ¿cuál es el coste real de la pésima interfaz para sus usuarios habituales? A pesar de lo que uno podría pensar, esos usuarios habituales no se han alzado en armas contra sus responsables. Y es que, a pesar de lo retorcido, es una interfaz fácil de aprender (la primera vez que ves cómo funciona se te queda grabada a fuego en la memoria, puedo asegurarlo), sólo incrementa unos segundos un viaje que en el mejor de los casos ha durado cinco minutos (y muy probablemente bastante más) y, además, sólo «te toca» si eres el primero de la fila.
  • ¿Y cuándo resulta verdaderamente catastrófica? Sólo cuando el primero de la fila es un usuario novel… y no hay un segundo usuario detrás. Algo que le pasó a Balkan, pero no a mí. Algo que, con toda probabilidad, pasa con poca frecuencia. Y, en ese caso catastrófico, el drama se resume en la necesidad de leer y seguir unas instrucciones. Han pasado cosas peores.

¿El resultado? En algún lugar hay un ingeniero que insiste cada vez que tiene ocasión en que eso debería cambiarse… pero las prioridades son otras. Y lo son, muy probablemente, desde hace décadas. Y la cosa se alarga y alarga… ¿Se trata de una interfaz atroz? . Y debería mejorarse. Pero pensando un poco podemos ver cómo la experiencia más negativa no es la típica. Es, de hecho, extremadamente atípica. Y el vicio de generalizar a lo bestia a partir de la anécdota y sin pararse a pensar en los motivos de que, primero, algo no funcione como debería y, segundo, que no se arregle, es algo que, no puedo evitarlo, me pone malo.

Un poco más adelante (minuto 35, poco más o menos) Balkan cita como ejemplo de buena interfaz la no-interfaz de las máquinas expendedoras de billetes del transporte del aeropuerto de Oslo…

Máquina para comprar billetes. Sólo da la opción de pasar la tarjeta de crédito
Tan simple como sea posible. Pero no más. O sí.

Las máquinas están, desde luego, a años luz de las puertas de los trenes de antes: dado que el tren del aeropuerto sólo se usa para ir al aeropuerto o desde el aeropuerto a donde sea, basta con pasar la tarjeta de crédito a la entrada, pasarla de nuevo a la salida, y el sistema se encarga de calcular la tarifa y cobrar. Maravilloso, ¿no? Sí. Pero. ¿Qué pasa si vas con tu pareja y los niños y quieres pagarlo todo con una sola tarjeta? ¿Pasas la tarjeta cuatro veces? Algo me hace pensar que no… ¿Y si, por mis manías, quiero pagar en efectivo? Esto es Noruega y no tengo ninguna duda de que muy cerca hay una persona atenta a esos casos que te informa de cómo proceder. Pero, de nuevo, no puede generalizarse a partir de la anécdota: que la interfaz sea fantástica para mí no significa automáticamente que lo sea para todos.

Las charlas sobre los desastres de los interfaces cumplen una función muy importante: la de sensibilizar sobre un tema que necesita mucha atención. Y entrar en detalles cuando se quieren tocar muchos aspectos sin dormir a la audiencia es, desde luego, muy difícil. Pero a veces correr demasiado y saltarse los detalles (de los que estoy convencidísimo de que Balkan es consciente) implica riesgos que en ocasiones no compensan…

Cosas que no se arreglan con frambuesas…

Supongo que la mayoría habéis oído hablar del lanzamiento del Raspberry Pi y su enorme éxito (‘pi’, en inglés, suena exactamente igual que ‘pie’, y por tanto a un anglosajón el nombre del cacharro le suena a ‘tarta de frambuesa’, y de aquí el terrible título de esta entrada). Vaya por delante que opino que el Pi es una idea fantástica y tengo pendiente comprarme uno.

Pero (porque si no hubiese pero no habría entrada en el blog, claro).

Como con cada cacharrito nuevo, bien hecho y bienintencionado, todos nos alegramos, pero en seguida surge esa tendencia bipolar nuestra de opinar que o bien no va a servir de absolutamente nada o bien va a solucionar todos los males del mundo. Que la experiencia demuestre que prácticamente nunca se da ninguno de esos dos casos, y que todo son grises y casi nada blancos y negros no significa que tengamos que aprender. Si lo hiciéramos esto no tendría ninguna gracia ;-).

Leía el otro día un interesantísimo artículo sobre el tema en el Guardian (de verdad, de muy recomendable lectura, con muchos aspectos en los que coincido y algunos con los que no) y allí, a medio artículo, me encuentro con lo siguiente:

Eben Upton, a friendly, upbeat man (everyone involved with the RPi is friendly) is a designer of microchips for Broadcom and the main designer of the RPi. In the early- to mid-2000s, he was in charge of undergraduate admissions to computer science at Cambridge. He noticed a massive drop-off in the numbers and, especially, quality of undergraduates between 1996, when he graduated, and 2005.

«The students just couldn’t program, and that’s because they hadn’t been in the presence of programmable hardware,» he says. «It’s not so much an education as an environment thing. I was self-taught, so were all of my friends. But in the consumer device world we’re in today, where the majority of devices are tablets and phones and set-top boxes and games consoles… these are all machines that you can use to consume, but most of them won’t let you produce.»

…y no puedo evitar pensar dos cosas: por un lado, que creo que su retrato de la realidad es prácticamente impecable y, por otro lado, que evidencia algunos de los problemas de la enseñanza de la informática programación en la universidad. Los que el Raspberry Pi, casi seguro, no va a solucionar.

Me suena. Upton y yo debemos tener aproximadamente la misma edad. Y tuvimos de niños un ‘8 bits’ (yo un maravilloso Commodore 64, pero también podría haber sido un Spectrum ZX o, teniendo en cuenta que él es británico, un BBC Micro). Un ordenador que lo primero que te enseñaba era un entorno para programar en Basic (o lo que se entendía por un entorno en los 80). Además, los juegos que usábamos eran desarrollos modestísimos (en cuanto a recursos humanos y económicos y tiempo de desarrollo, que no en cuanto a talento), que te permitían soñar con hacer, algún día y con mucho esfuerzo, algo similar. Y eso no hacía que te pusieras automáticamente a probarlo, pero lo facilitaba. Y en los quioscos había un buen número de publicaciones que, además de enseñarte qué juegos había en el mercado, venían con programas que podías teclear (cuando llegaron las revistas con cinta, con los programas ya tecleados, fue el acabóse, pero también hay que decir que si te dan el programa ya tecleado, la probabilidad de que te lo mires a fondo es bastante más baja que si lo tecleas). Ese, curiosamente, es un aspecto en que los tiempos pre-www no me parecen inferiores a los actuales.

Cuando esa generación llegó a la universidad, había una parte (no necesariamente grande, pero seguro que tampoco era pequeña) que entraba sabiendo programar. Con vicios adquiridos, desde luego, pero que ya había dado los primeros pasos. Y tener unos cuantos estudiantes en el aula que ya saben hacer lo que les quieres enseñar es, creedme, una bendición. Además, había otro colectivo que, en algún momento de sus vidas, había sentido curiosidad por qué es programar, lo había intentado, se había estampado contra la pared (no es una metáfora excesiva: puede resultar doloroso) y lo había dejado… antes de engrosar los números de estudiantes que abandonan, frustrados, en primero de carrera.

Con la popularización de las consolas pero, sobre todo, con la llegada de ordenadores, sistemas operativos y software cada vez más sofisticados, programarse las cosas uno mismo dejó de tener ningún sentido práctico. Además, los usuarios ven software que está a años luz de lo que podrían lograr ellos con tiempo y esfuerzo. Consecuencia: el número de estudiantes que llega a primero de informática teniendo nociones de programar se ha reducido (aunque sigue habiéndolos, naturalmente) y el colectivo de los que han abandonado antes de llegar a la línea de salida se ha visto reducido también notablemente. El resultado lo comenta Upton: desplome del rendimiento académico. Nótese, además, que un desplome rápido nos impide echarle la culpa (como solemos hacer en la universidad) a la educación primaria y secundaria y también elimina la posibilidad de que sea la actuación del profesor (que difícilmente va a empeorar tan sensiblemente en unos pocos años).

Pero… ¿por qué pone esto en evidencia los problemas de la enseñanza de la informática? Pues… si el hecho de que lleguen menos estudiantes con conocimientos previos hace caer el rendimiento de las primeras asignaturas de programación… igual eso significa que antes tampoco es que estuviéramos enseñando a programar muy bien, ¿no?

Paréntesis. Cuento entre mis amigos a muchos buenos profesionales de la enseñanza de la informática. Y es probable que esto lo acabe leyendo alguno más. El párrafo anterior, además de constatar una opinión personal fuerte, tiene el ánimo de encender la discusión constructiva :-). Me encantará reconocer que me equivoco si alguien aporta suficientes argumentos sólidos en contra.

En cualquier caso, y volviendo a lo que íbamos… Me da a mí la impresión de que el infierno se congelará mucho antes de que la enseñanza primaria o secundaria asuman la enseñanza de la programación como materia obligatoria (sí: a pesar de que algún país está en ello). Me lo parece, sobre todo, por un motivo perverso: meter la programación en un currículo, en cualquier currículo, iba a ser una buena idea socialmente, pero iba a tener efectos nefastos sobre los números del rendimiento académico en escuelas e institutos. Y mucho me temo que nuestras «cabezas pensantes» se preocupan mucho más de algo fácilmente cuantificable y que tiene visos de ir mal que del beneficio social, que va a resultar mucho más difícil de medir y, de regalo, va a ser demasiado lento como para sacarle beneficio electoral.

Pero sí estoy de acuerdo en que exponer a los potenciales informáticos de mañana al «arte de programar» cuanto antes es una maravillosa idea. ¿Por qué no creo en el Raspberry Pi como solución a ese problema? Por dos motivos principales:

  • Este problema, al menos en el primer mundo, no es de fractura digital: desde luego que hay niños y adolescentes en el Reino Unido (y en España, asumiendo que aún seamos primer mundo) sin acceso a un ordenador, y ese es un problema importante, pero dudo muchísimo que el acceso universal vaya a mejorar sensiblemente los números de la universidad.
  • Sí, el Raspberry Pi es un ordenador que da acceso rápido a un entorno de programación… pero eso no es todo lo que hace falta. Y, la verdad, ni siquiera es la característica más destacada ni el motivo que va a animar a casi nadie a comprarse uno.

El Pi es el ordenador ideal para el «hobbysta» del primer mundo, que ya sabe que quiere hacer cosas (y probablemente hasta qué cosas), y una solución como mínimo interesante para intentar atacar el problema de la fractura digital en los países menos favorecidos. Sólo por ello ya es una idea fantástica. Y si encima pensamos en las vías nuevas que abre un ordenador de tamaño, consumo y precio tan reducidos… Pero insisto: uno de los problemas que no va a solucionar es el de conseguir más y mejores programadores en ningún país europeo.

Y es que tener tener el entorno disponible es tan solo una parte del problema. Y hay otros factores me parecen tanto o más importantes. Si tantos nos animamos a dar nuestros primeros pasos con el 64 o el ZX, además de por tener un cacharro a mano, era porque disponíamos de un lenguaje sencillo, de muchos ejemplos de código de calidad razonable que permitían hacer cosas divertidas y vistosas con relativa facilidad y de muy rudimentarias y poco conectadas comunidades de práctica (para muchos, alrededor de algo tan tremendamente lento y poco conectado como las revistas mensuales y en papel).

¿Podemos conseguir eso hoy? Desde luego. Hay muchas vías para comenzar a programar. Una muy popular es Processing (no, no consigo venderme la idea de los lenguajes diseñados para enseñar a programar, por mucho que lo intento), que seguramente conoce todo el que se haya interesado alguna vez por el tema. Pero yo tengo entre ceja y ceja que el entorno de desarrollo está en todos los navegadores, y que el lenguaje de programación, casi universal, se llama JavaScript (antes de hacerme una lista de los múltiples crímenes de JavaScript como lenguaje de programación, por favor considerad cómo el lenguaje de programación de la generación de los 8 bits, ese que hacía que el rendimiento en la universidad fuera más digno… era BASIC, por el amor de Turing). Y pienso en JavaScript porque, además de contar con un intérprete en cada navegador (y por tanto en cada ordenador, básicamente, más en cada tableta y en cada smart- y not-so-smart- phone), contamos con entornos de desarrollo en línea que, sin ser comparables a lo que espera el programador profesional, sí son bastante mejores que aquellos de que disponíamos en los 80 (mi favorito es jsFiddle.net y lo será aún más cuando salga de alfa y comience a funcionar mejor en navegadores no-Webkit, aunque JS Bin es una alternativa sólida) y bibliotecas (que en jsFiddle se pueden añadir trivialmente) como, sobre todo Processing.js (el primo web de Processing), y en menor medida Raphaël, three.js o Kinetic, que permiten comenzar a usar y modificar código ajeno para obtener deprisa resultados vistosos que te animan a continuar y profundizar. Y, además, te permiten guardar, mostrar y compartir tu código. E iniciativas como Codecademy demuestran, incluso, que alrededor de JavaScript se puede montar un entorno de aprendizaje atractivo…

¿Encontraremos una vía para que los niños de hoy puedan aprender a programar? ¿Será JavaScript? ¿Será por otro lado? Más vale que le demos vueltas, porque un trocito significativo de nuestro futuro depende de ello…

Los tuits de la semana (54)

Llevábamos tres semanas sin…

De diseño y desarrollo web

Herramientas:

Tincr. Edit and save files from Chrome Developer tools. Live reload for Chrome. http://obm.as/RLz4AJ

…sobre todo para hacer wireframes:

RT @robertclariso RT @fcogama: Super simple way to wireframe http://wireframe.cc

Wirefy is a browser based responsive wireframe tool to create functional wireframes using standard elements. http://obm.as/Y5MMlT

Pencil Project. An open-source GUI prototyping tool that’s available for ALL platforms. http://obm.as/QumNmh

…y algunas en forma de HTML, CSS y JavaScript:

Shower. A cross-browser presentation template. (via @brucel) http://obm.as/VO8oOc

Seriously.js is a real-time, node-based video compositor for the web http://obm.as/WdFHzc

Y bastantes lecturas de interés:

en el Windows Phone Developer Blog explican qué trae IE10 para windows phone 8 http://obm.as/WP8wTy

RT @kazuhito The CSS physical unit problem – QuirksBlog http://bit.ly/VQiFti

A Brief History of Gestural Interfaces http://obm.as/UvO6xA

Sharp Suits – stupid feedback from clients, transformed into posters (via @brucel) http://obm.as/SHJ6k9

el NY Times criticando las interfaces de ventanas… en 1984 ¿se anticiparon 30 años? http://obm.as/S5dDd4

RT @martuishere ‘In defense of descendant selectors and id elements’, it was about time that someone like @zeldman said this: http://www.zeldman.com/2012/11/21/in-defense-of-descendant-selectors-and-id-elements/

#lecturaobligatoria Code smells in CSS, by @csswizardry http://obm.as/UItJY8

me parece mal que IE10 no salga para Vista (ni XP, claro)… pero es que Firefox 17 no soporta OS X 10.5 :-S http://obm.as/Wurde8

Oh, IE6, how we loved you, by @brucel. aka «estamos repitiendo los errores del pasado» http://obm.as/UnhLZC

Un momento de respetuoso silencio

RT @softmodeling RT @mkapor: IBM retires Lotus brand I created in 1982. http://techland.time.com/2012/11/20/lotus-farewell-to-a-once-great-tech-brand/

Lecturas alrededor de la web

Clay Shirky: How the Internet will (one day) transform government http://obm.as/Xt54x3

RT @ignasi Nous límits als límits #prou RT @bufetalmeida Leer artículo 31, la nueva LPI ataca frontalmente el P2P: http://pirata.cat/public/1207_borradorRDLey_EEGG_julio_2012.pdf #StopLPI

Nostalgia y cacharritos

RT @robertclariso RT @domingogallardo: Emulador de tarjetas perforadas: http://www.kloth.net/services/cardpunch.php #historiadelainformatica

para amantes de los videojuegos vintage: una réplica de la Atari 2600 http://obm.as/XEyLg3

RT @GammaCounter Check out the clattering and flashing of «The Witch,» the oldest working digital computer, unveiled at Bletchley Park. http://bbc.in/QVtYDW

El juguete musical

escuchar una remezcla aleatoria de media hora del Blue Monday… el Infinite Jukebox este engancha http://obm.as/TdNzex

Y el postre visual

¿Cabe todo el cine de ciencia ficción en seis minutos? http://obm.as/SgnUmv