Monthly Archives: June 2007

Usabilidad: Arte y ciencia

En los ultimos tiempos el termino “usabilidad” esta en boca de todos los informaticos. Los sistemas no solo deben ya funcionar y funcionar bien, sino deben de ser sencillos de usar para los usuarios finales.   El tema en el area de informatica ha tomado fuerza desde hace relativamente poco tiempo. A principios de este siglo es cuando se empiezan a dar los trabajos mas fuertes sobre el tema. Sin embargo hay pocos estudios sobre el tema que es ademas, bastante subjetivo.

Es muy comun escuchar las frases “yo creo” y “yo siento” cuando se habla de usabilidad. En resumen, todos somos expertos.

Por eso es refrescante leer trabajos como los de Alex Faaborg, quien trabaja en el area de Experiencia de Usuario para mozilla, especificamente en Firefox 3.

En este post suyo (Diseño cuantitativo), Alex nos explica lo que se esta haciendo en terminos de usabilidad para el siguiente release de Firefox 3. Despues de leer la entrada, nos damos cuenta de todo el trabajo que hay detras en la interfaz de Firefox.

Nos podemos dar cuenta que la eleccion de los elementos de la interfaz de Firefox no esta decidida al azar ni esta asi porque a un desarrollador se le ocurrio o creyo que asi debian ser las cosas.

De esa entrada yo rescato varios tips para el analisis de diseños de interfaces.

  1. Lo que los usuarios tecnicamente mas avanzados quieren y necesitan no es necesariamente lo que quieren los usuarios normales. De hecho, lo mas probable es que si tu como programador quieres una cosa, el usuario quiera otra completamente distinta.
  2. Las estadisticas son tu mejor aliado, pero no son la unica fuente de informacion.
  3. Existen herramientas de simulacion de usuarios que pueden ayudarnos a definir la mejor interfaz para el usuario. CogTool es solo una de ellas.
  4. NO PUEDES PREGUNTAR A LOS USUARIOS QUE ES LO QUE QUIEREN. La pongo en mayusculas y negritas porque es un error MUY comun en el diseño en general. La mayoria de las veces los usuarios no saben lo que quieren (o como diria House, todos mienten). Y aun si saben lo que quieren la mayoria de las veces no tendran los conocimientos tecnicos para decidir lo que es posibleo y lo que no. Los usuarios no son fuente confiable de informacion para la decision en el desarrollo de interfaces.

Se ha realizado mucho trabajo en cuanto a la usabilidad en los sistemas informaticos, pero hay aun mucho por hacer. La usabilidad es un arte pero mas que nada una ciencia y como tal, si quieres ser un experto en ella, debes capacitarte y aprender de los que han realizdo un trabajo serio en la materia.

Si te interesa el tema te dejo unos links en los que puedes obtener mas informacion al respecto.

The center for universal design: http://www.design.ncsu.edu/cud/

Jakob Nielsen, guru de Usabilidadhttp://www.useit.com/

Guias de experiencia de usuario de Windows Vista: http://msdn2.microsoft.com/en-us/library/aa511258.aspx

Gnome Human Interfaces Guidelines: http://developer.gnome.org/projects/gup/hig/

KDE usability project: http://usability.kde.org/

Youtube Mobile

Para los que no lo sepan (yo me acabo de enterar, no se desde cuando exista), ya es posible acceder a Youtube a través del teléfono celular.

La dirección es http://m.youtube.com

Cuando entran a esa dirección lo primero que advierte youtube es que usaran mucho ancho de banda. Sobre aviso, no hay engaño.

bienvenida.png

Una vez advertidos nos muestra un listado aleatorio (talvez?) de videos. Al parecer no estan todos los videos que existen en el youtube normal, sino una pequeña seleccion de ellos.

listado.png

Los videos estan categorizados, por los mas vistos, los ultimos etc. Tambien es posible buscar videos.

Esta es la pantalla de los mas recientes

recientes.png

Podemos ver el video si hacemos “click” (o boton de accion, pues) en la foto o si hacemos click en el titulo nos lleva a la pantalla con los detalles del video

descripcion.png

Si damos click en “watch video” (o apretamos 0 en nuestro celular) nos lleva directamente al video, en formato 3GP, que es el mas compatible entre celulares

video.png

Aqui es donde tuve problemas. Al parecer mi celular no puede reproducir bien los videos directo de internet (habra que confirmar) pero ya he confirmado con otras personas y los videos se ven sin problemas, inclusive en planes con EDGE.

El problema en Mexico que es que los planes de datos son muy caros. Una aplicacion como youtube nos saldría muy cara en poco tiempo. Aunque hay rumores de planes mas baratos ilimitados de telcel, no hay nada oficial todavia.

Por lo pronto, pruébenlo, y si pueden, dejen un comentario si les funciono (o no)en su móvil.

Por cierto, también es posible subir videos desde el celular a youtube, esto es a través de MMS. Supongo que esto es solo para estados unidos, pero igual habría que confirmar.

Al parecer el sitio todavia esta en beta, porque no hay aun anuncio en el blog de youtube. Probablemente lo anuncien pronto oficialmente.

TorrentSpy y el desconocimiento tecnologico

Ya es de dominio publico el caso que mantiene TorrentSpy (TS) (un sitio buscador de torrents) con la justicia estadounidense. Uno de los últimos acontecimientos es que la ley quiere obligar a TS a guardar sus logs y dárselos a la justicia. TS ha hecho ya un comunicado en el que avisa que no lo va a hacer, hasta que no tenga alternativa. Ha habido varios tropiezos por parte de las autoridades, pero hoy si se acaban de volar la barda. En uno de sus requerimientos, la juez Jacqueline Chooljian que lleva el caso requirió que TS les mandara la memoria RAM (!!) como registro de los datos de los usuarios, sus IP’s, etc.

Para quien no lo sepa, la memoria RAM es volátil por definición. Una vez que la máquina se apaga, toda información que existía ahi, desaparece. Esto demuestra, una vez mas, el completo desconocimiento de los aspectos técnicos de la informática.

Es relativamente normal (aunque no menos risible) que veamos artículos en los periódicos fabulosamente incorrectos en términos técnicos, pero que una resolución judicial sea producida en estos términos es bastante preocupante. Esto se dio en el país mas tecnologicamente avanzado del mundo (Estados Unidos).

¿Que nos espera a nosotros los latinoamericanos? Es risible el caso en especifico, pero tambien es una leccion para todos. El nivel tecnico de la sociedad en general es muy bajo. La tecnologia y la computación en especfico llego para quedarse. Debemos aprender a vivir con ella… o ser ridiculizados en el intento. 🙂

Mas informacion, en el articulo de ZDNet  

Trusted Computing (o como no confiar en el usuario)

Trusted Computing es una plataforma creada por el Trusted Computing Group cuyo propósito principal es llevar “seguridad” a las plataformas computacionales. Según el TGP la idea básica es que vía hardware y software, el equipo se comporte como el productor del mismo lo desee.

Quien esta detrás de todo esto? Básicamente, todos los productores de equipos tanto de hardware como software. AMD, HP, Intel, Microsoft, etc.

Técnicamente, tiene 5 pilares básicos.

  1. La llave de confianza
    Es una llave de 2048 bits grabada en el equipo desde su producción que no puede ser cambiada.
  2. I/O seguro
    Pretende asegurar que la comunicación entre componentes sea segura.
  3. Memoria amurallada
    Son diversas técnicas de protección de memoria, en las que ni siquiera el sistema operativo tendría acceso
  4. Almacenamiento sellado
    Aplicación de encriptacion a medios de almacenamiento. Solo se podría acceder a la información con la llave correspondiente.
  5. Testimonio remoto
    Permite a _medios autorizados_ a conocer remotamente de cambios no autorizados en el sistema y realizar modificaciones al mismo.

Muy bonito, muy bonito. Pero eso que significa para el usuario? Significa en primera instancia, que los creadores de los equipos serian dueños y tendrían completo control del equipo. Si todo sale bien, significaría para el usuario probablemente menos virus y malware.

¿Pero que pasa si no todo sale bien? Hay múltiples razones por las que no estoy de acuerdo con esta iniciativa.

  1. Si esta iniciativa prospera, le estaríamos dando el control completo de nuestros equipos a los productores. Equivale técnicamente a darle todas las copias las llaves de nuestra casa a un equipo de seguridad privada. Si queremos entrar, tendríamos que pedirles permiso, esperando que nos lo otorguen.
  2. Implícitamente están diciendo que no se puede confiar en nadie que no sean ellos. Podemos confiar en Intel? (11.5 millones de hits en google para intel bug), en Microsoft? (136 millones para windows bug). Que sucederia si estos sistemas tuvieran hoyos de seguridad?
  3. Crea serias dudas en cuanto a posibles brechas en la privacidad del usuario. La llave de confianza es un numero único que tendría cada equipo. Si fuera posible relacionar ese numero con la identidad del usuario (por ejemplo, al comprar el equipo) seria posible saber que hace cada quien en todo momento. Además, ya que los dueños de esta información serian los creadores de los equipos, estaríamos creando un super-ente con toda esta información. Alguien ha leido 1984? Pues hagan de cuenta…
  4. Es un paso mas para un DRM generalizado. Si los productores lo desean, podrian poner restricciones a los contenidos sin que nadie pudiera hacer nada para evitarlo. Ya que esto corre por debajo del sistema operativo, no importaría que tengas Linux o Windows. Las restricciones se establecerían por HARDWARE y podrian realizarse remotamente. No tendrían porque pedirnos permiso.

Esto, entre otras cosas. En un futuro nuestra la informacion ya no nos pertenceria. Podria ser posible que por restricciones impuestas por los productores, no pudieramos sacar la informacion de nuestra propia computadora. Basicamente ya no seriamos dueños de nuestras computadoras ni nuestros equipos.

¿Suena peligroso? Si, puede serlo. Es un peligro para la libertad de la informacion.

¿Suena futurista? Piensa dos veces. La laptop Classmate PC (competidora de la “One laptop per child” de la ONU) ya tiene una plataforma TPM. Ademas los nuevos chipsets de Intel, Centrino Pro, ya cuentan tambien con varias de estas caracteristicas. Si tienes una maquina con este chipset es posible administrarla remotamente, bloquear o desbloquear puertos de red, acceder a ella AUN CUANDO ESTE APAGADA, guardar informacion aun cuando cambies de discos duros, entre otras monerias.

Recuerda un poco al escandalo de los rootkits de sony... y aquello no termino bien.

Parafraseando a HP: La computadora ya no es personal…

Si quieren una rapida introduccion de lo que todo esto significa, vean esta pelicula.

Update: Mejor pongo el video directo aqui 🙂

Liga original: http://www.lafkon.net/tc/

Mas información en : http://en.wikipedia.org/wiki/Trusted_Computing y en http://en.wikipedia.org/wiki/Trusted_Platform_Module

Error en calculadora de Gnome

Hoy encontre un pequño error en la calculadora de Gnome

Se los explico con imagenes.

1menos1.png cero.png
Uno menos uno… Igual a cero

Ahora… que pasa si probamos esto?

1menospunto2.png menoscero.png
Uno menos punto dos menos punto dos menos punto dos menos punto dos menos punto dos Igual a… menos cero?

Igual a menos cero? WTF? El menos cero no existe… o si… o no… quien sabe.

UPDATE: Segun DiThi y wikipedia, el -0 si existe, aunque solo como representacion computacional… aun asi, esto sigue siendo un bug 😉

Lo raro, es que no siempre sucede, por eso me atrevo decir que es un bug.

dosmenospunto5.png cero.png
Dos menos punto cinco menos punto cinco menos punto cinco menos punto cinco Igual a… AHA! cero..

Yo se que es una insignificancia, seguramente es un error de punto flotante. Pero no deja de ser un error.

Aunque siendo justos… la calculadora de windows algunos problemas asi y otros cuantos mas

Desinstalando programadores

Hoy, en una discusion sobre Windows y otras cosas mal hechas, alguien pregunto “¿Y como desinstalamos a los programadores?”288950_programmer_1.jpg

La pregunta me sorprendio un poco (no me la esperaba) y me hizo darme cuenta lo poco valorados que somos en la sociedad. Ya habia hablado un poco de esto, y de como nosotros mismos lo provocamos. Somos vilpendiados y vistos como ciudadanos de segunda clase.

Somos un escuadron invisible pero sumamente poderoso y activo y hemos construido una vasta infraestructura al punto que hoy el mundo funciona con el trabajo de esa gran elite de que son los informaticos.

De que nos perderiamos si no estuviera(mos) ese escuadron de trabajadores realizando tareas para la sociedad? Esta es una pequeña lista

  • Los telefonos celulares serian manuales. Recuerdas la ruedita para marcar?
  • Un iPod seria un sueño
  • No existiria Microsoft Windows (uhmm, esa talvez sea buena :P), ni computadoras que operar.
  • No habria internet, no habria navegadores, no habria email, no habria messenger, no habria comercio electronico
  • Los automoviles funcionarian igual que en 1950.
  • Horno de microondas? Television satelital? Pff!! quien los necesita.
  • Los cheques todavia existirian (Uh? todavia existen? de verdad?)
  • Efectos especiales en peliculas, animacion por computadora? Bah! Los verdaderos actores hacen todo en una escena, sin dobles y en blanco y negro.
  • Juegos por computadora? XBOX? Ja! En mis tiempos atabamos cartones de leche con un lazo y eso era un tren. La diversion nos duraba por dias.
  • Ademas… nada como el sonido de las teclas de una maquina de escribir a las 3 de la mañana

Es solo una pequeña lista. Si escarbamos nos encontraremos las aplicaciones medicas, en contabilidad, simulacion, robotica, telecomunicaciones, uff no terminamos la lista nunca…

No espero un mayor respeto a esta profesion, eso no sucedera en el corto plazo. Tampoco estoy diciendo que solo los programadores hayamos hecho todo esto solos. Solo quiero hacer notar que en la mayoria de la infraestructura de la que depende nuestra vida diaria, estamos ahi. En mayor o menor medida somos participes del desarrollo moderno, somos el pináculo en la evolucion de la creacion de herramientas y automatizacion de procesos.

Y a veces no nos damos cuenta….

Motorola Rokr E2 SDK

Hoy me entero en el foro ModMyMoto que se acaba de lanzar el primer SDK para el telefono Motorola Rokr E2. Es un SDK no oficial, pero es un muy buen primer paso.

Que significa esto?  Que podremos realizar aplicaciones nativas para el telefono. Desde herramientas de administracion, juegos, y hacer un port de las herramientas de linux a motorola E2.

Que les pareceria a largo plazo hacer un Gnome para telefono movil? Una media player? Un skype?

Todo lo que esta en linux, se puede pasar para alla… ideas sobran, lo que faltan son manos.

Si quieren una copia, la pueden descargar desde aqui:

http://www.masio.com.mx/E2/e2-ezx-sdk.tar.gz