Fallas 2008

Si fuera vengativo, al “gracioso” que tiró un “cohete borracho” el martes 18 (junto al autobús de Estrella, después del castillo de fuegos artificiales) dejándome una bonita quemadura en el pantalón, le desearía esto: Aunque pensándolo mejor, dejemos que actúe…

Si fuera vengativo, al “gracioso” que tiró un “cohete borracho” el martes 18 (junto al autobús de Estrella, después del castillo de fuegos artificiales) dejándome una bonita quemadura en el pantalón, le desearía esto:

Ninot de Fallas 'perjudicado' tras explotarle un petardo en la mano

Aunque pensándolo mejor, dejemos que actúe la selección natural y que llevar esa pólvora en el bolsillo le cause que se quede sin descendencia (con la consecuente mejora de la especie humana).

¿Se pasa Google de listo con el idioma?

¿Por qué devuelve Google diferentes resultados en función del idioma de la interfaz del usuario? ¿No es algo que puede confundirnos? Sabiendo lo importante que es separar la presentación del comportamiento, quizá sea un funcionamiento "demasiado inteligente".

Más de una vez nos sorprendemos cuando, al buscar utilizando Google, los primeros resultados corresponden a páginas con contenidos escritos, no en inglés, sino en español (o en el idioma de la interfaz establecido en las preferencias de idioma de Google y que afecta al idioma de los consejos, de los mensajes, etc.).

Por ejemplo, busquemos ‘Firefox‘ en www.google.es, en páginas escritas en cualquier idioma, pero con la interfaz de Google configurada en español:

Buscando 'Firefox' en Google

Vemos que aparecen antes los resultados de páginas en español que las del sitio oficial “central” en inglés. Sin embargo, en las opciones de búsqueda NO hemos limitado a páginas en un idioma concreto, y parece seguro que las páginas en inglés son más relevantes (cosa que se puede comprobar con esta búsqueda). Otros usuarios han destacado, en diferentes foros, ese mismo funcionamiento.

Al parecer, el orden de los resultados (en lo que respecta al idioma) puede depender tanto del idioma de la interfaz como del servidor Google concreto que se utiliza (google.com vs. google.es) e incluso, de la geolocalización del usuario (es decir, el orden de los resultados será diferente buscando desde un ordenador en España o desde uno en Estados Unidos). Y posiblemente también dependa de la localización geográfica del sitio que haya indicado su webmaster.

(more…)

Me creeré un programa electoral cuando…

… incluya no sólo las acertadas decisiones e importantes acciones que va a llevar a cabo cada partido político si es elegido para gobernar, sino también todo lo que NO van a hacer. Porque gobernar implica elegir, dedicando recursos limitados…

… incluya no sólo las acertadas decisiones e importantes acciones que va a llevar a cabo cada partido político si es elegido para gobernar, sino también todo lo que NO van a hacer.

Porque gobernar implica elegir, dedicando recursos limitados (dinero, tiempo, …) para conseguir unos objetivos a cambio de renunciar a otros. ¿Se atrevería algún líder a decirnos cuáles serán esas renuncias?

Y es que uno escucha declaraciones, lee programas, y ve entrevistas a líderes políticos, y se siente como un niño pequeño al que prometen que mañana conseguirá cualquier cosa que desee si se porta bien. No nos deberíamos dejar engañar; al menos, no los que no aceptamos dogmas en otros ámbitos.

Frankenstein, de campaña electoral

Igual que una teoría científica sólo se puede considerar como tal si es falsable (es decir, que pueden aparecer casos que nos muestren que no es válida), sólo deberíamos tomarnos en serio una promesa electoral si va acompañada de lo que no se hará a cambio.

La teoría gravitacional de Newton es una teoría científica porque cualquier observación que no se ajuste a sus predicciones demuestra que no es válida. Que, de hecho, es lo que ocurre cuando se hacen mediciones con la suficiente precisión, que sí son explicadas por la teoría relativista de Einstein (que, a su vez, también son falsables por observaciones que no fueran explicadas por ella).

Exijamos a los políticos que nos expliquen de dónde va a salir el presupuesto si se bajan los impuestos, o en qué partidas se van a invertir menos recursos. Que nos digan a quién no van a subir las penas cuando quieren endurecer las de determinados delitos. Que nos aclaren con qué países nos vamos a llevar peor como consecuencia de llevarnos mejor con otros.

Entonces los partidos políticos dejarán de parecerse más a una religión, imposible de falsear, siempre con una explicación a cualquier realidad que pueda aparecer.

Y que no necesitan razonamiento, sino… fe.

PD: lástima que no podamos votarlos a ellos:

Microsoft Access: cinco consejos para tus bases de datos

Después de desarrollar varias aplicaciones utilizando Microsoft Access, uno descubre que existen algunas prácticas y formas de trabajo que simplifican su desarrollo y el mantenimiento, sobre todo cuando la aplicación empieza a crecer más de lo que tenías previsto (cosa…

Después de desarrollar varias aplicaciones utilizando Microsoft Access, uno descubre que existen algunas prácticas y formas de trabajo que simplifican su desarrollo y el mantenimiento, sobre todo cuando la aplicación empieza a crecer más de lo que tenías previsto (cosa que suele pasar casi siempre).

Seguramente Access no es una base de datos que pueda soportar una gran aplicación con multitud de usuarios accediendo al mismo tiempo, que maneje una gran cantidad de datos, o con requisitos complejos de rendimiento o seguridad. Pero como herramienta que permite implementar una aplicación completa (desde las tablas de datos hasta interfaces de pantalla o informes impresos) para unos pocos usuarios de manera rápida, hay que reconocer que tiene pocos rivales. Los desarrollos con Access son tan rápidos que puede utilizarse como una herramienta de prototipado que ayude a definir claramente los requisitos de usuario antes de pasar a un sistema más potente.

1. Define bien las tablas y sus relaciones

Los desarrolladores conocen lo importante que es tener un buen modelo de datos en su aplicación. Y en Access, eso se convierte en la pantalla de Relaciones (dentro del menú Herramientas):

Pantalla de Relaciones de Microsoft Access

Es decir, define globalmente los campos de cada tabla y las relaciones entre tablas, para toda la aplicación, tal como son en la realidad (no como deberían ser). No definas tablas, campos y relaciones para necesidades puntuales que puedas tener en un formulario o informe concreto.

En concreto, evita las listas de valores y conviértelas en tablas. Si vas a guardar todos tus CD y libros en la base de datos, no introduzcas el “tipo de objeto” como una lista de valores en un campo de la tabla “Objetos” o de un formulario; mejor crea una tabla “Tipos de objeto” y guarda los valores “libro” y “CD” como registros. Si más adelante quieres añadir un nuevo tipo de objeto (como “DVD”), bastará añadirlo a la tabla y te evitarás tener que buscar todos los puntos donde está especificada la lista de valores.

[Actualización 03-mar-2008]

Detalle de diseño de un campo en AccessTal como indica javieran en un comentario, es conveniente crear las relaciones desde el diseño de tablas. Para eso, basta con seleccionar la pestaña “Búsqueda” y la opción “Mostrar control” > “Cuadro combinado”, seleccionando una tabla como “Origen de la fila”; todo esto cuando se defina un campo que obtiene los valores de otra tabla previamente creada (lo que se conoce como “clave externa“).

Siguiendo con el ejemplo anterior, se trataría de utilizar esa opción cuando se defina, dentro de la tabla “Objetos”, el campo “Tipo de objeto” para que indique si cada registro es un libro, un CD o un DVD.

Esta acción tiene dos efectos:

  • En vez de un cuadro de texto, la interfaz de Access mostrará automáticamente un cuadro combinado para seleccionar uno de los valores existentes.
  • Se crea una relación entre ambas tablas (por defecto, sin integridad referencial)

(more…)

Una idea para un proyecto (1): TALAIOT

Os presento aquí uno de los dos proyectos que envié a la beca Alzado y que, obviamente, no fueron premiados. Como ya expresé en un comentario en Alzado (comentario núm. 4), creo que los criterios de la beca podrían haber…

Os presento aquí uno de los dos proyectos que envié a la beca Alzado y que, obviamente, no fueron premiados. Como ya expresé en un comentario en Alzado (comentario núm. 4), creo que los criterios de la beca podrían haber estado mejor definidos, pero el motivo de escribir este artículo es otro.

Las ideas están sólo esbozadas y (todavía) no tienen “cuerpo”, aunque me gustaría poder desarrollarlas en algún momento. Sería muy optimista pensar que voy a hacerlo yo sólo, así que antes de que se pierda en el olvido, prefiero dejarlo aquí explicado de modo que, si alguien quiere colaborar en ponerlo en marcha o tiene alguna aportación que hacer, pueda contactar conmigo.

TALAIOT

El objetivo de este proyecto sería proporcionar a los usuarios alguna herramienta que les permita seguir las modificaciones en páginas que les interesen, incluso para aquellas que no las publiquen de modo explícito con sistemas como RSS o similares.

Talaiot: control de cambios en páginas web

Esto permitiría, por ejemplo, enterarnos de nuevos comentarios en artículos de blogs, conocer cambios en nuestras páginas de del.icio.us, o saber cuándo se modifican las páginas de la competencia.

Este proyecto constaría de dos partes:

  1. Crear un sistema que permita valorar (numéricamente y automáticamente) las modificaciones que se producen en cualquier página HTML, a partir del análisis de su código y a partir de determinados algoritmos.
  2. Ofrecer un sistema que permita a los usuarios utilizar ese sistema para recibir notificaciones cuando se produzcan cambios en las páginas en las que estén interesados.

Aunque no hay nada inamovible, mi intención inicial era utilizar Ruby on Rails (y aprender de paso) para el desarrollo, dedicándole especial atención a dos elementos clave (a mi entender) en cualquier aplicación: el esquema de base de datos por un lado y a la usabilidad de las interfaces por el otro.

Propuesta TALAIOT (PDF, 334KB)

Os invito a que leáis la presentación de la propuesta (se hace en un par de minutos), a que hagáis vuestras aportaciones mediante los comentarios de esta entrada, y a que os pongáis en contacto conmigo si queréis colaborar de algún modo en ella. Gracias.

Usabilidad vs. accesibilidad: un debate vacío

Leo en los últimos días la enésima discusión sobre usabilidad vs. accesibilidad; sin ir más lejos, en Accesibilidad, Usabilidad y Estandares Web, en Inclusión, o en la lista de correo Cadius. La cosa suele empezar con una afirmación o pregunta…

Leo en los últimos días la enésima discusión sobre usabilidad vs. accesibilidad; sin ir más lejos, en Accesibilidad, Usabilidad y Estandares Web, en Inclusión, o en la lista de correo Cadius.

'We care for usability' logo

La cosa suele empezar con una afirmación o pregunta sobre si:

  • La usabilidad es parte de la accesibilidad.
  • La accesibilidad es parte de la usabilidad.
  • Usabilidad y accesibilidad son complementarias.
  • Usabilidad y accesibilidad apuntan, en ocasiones, en sentidos opuestos.

Y después siguen definiciones más o menos formales, casos prácticos y visiones personales que suelen acabar por agotamiento más que por llegar a alguna conclusión.

Sinceramente, creo que se trata de un debate poco productivo, del que se pueden sacar pocos resultados útiles o prácticos. Y lo creo porque la cosa es bastante más sencilla que todo eso.

¿Para quién?

Huyendo de definiciones universales y cuestiones metafísicas, hagamos un ejercicio de simplicidad y digamos que:

  • accesible = que se pueda acceder a ello
  • usable = que sea fácil de usar

A partir de ahí, las conclusiones son bastante sencillas:

  • Accesible o usable son términos relativos. Cuando los veamos utilizados de modo absoluto (“la página X es accesible”, “el sitio web Y es poco usable”) deberíamos siempre hacernos la misma pregunta mental: “¿accesible/usable para quién?”
  • Para que algo sea fácil de usar, es necesario que se pueda usar. Por eso, para un mismo perfil de usuario, usable implica accesible (pero no al revés). O dicho de otro modo, la accesibilidad es condición necesaria (pero no suficiente) para la usabilidad.

Así de sencillo.

Otra cosa es que se pueda discutir, por ejemplo, que una interfaz sea más usable para un perfil de usuario, pero menos accesible para otro perfil de usuario.

Por ejemplo, ¿es la interfaz AJAX de Google Mail más usable que la versión simple HTML? Casi todos estaremos de acuerdo en decir que sí, para los usuarios con navegadores que soporten JavaScript. Para el resto de usuarios no tiene sentido preguntar si es usable cuando simplemente no pueden acceder a ella (por eso necesitan una versión alternativa).

En resumen, muchas de esas discusiones pierden su sentido si no se responde a la pregunta “¿para quién?”.

Un artículo sobre testeo y una ponencia sobre accesibilidad

El trabajo en Valencia, en el grupo SQUaC, me está permitiendo realizar algunas actividades que difícilmente hubiera podido llevar a cabo antes. La cosecha del 2007 (¡qué pronto se nos antoja antiquísima una fecha del año pasado!) dejó, entre otras…

El trabajo en Valencia, en el grupo SQUaC, me está permitiendo realizar algunas actividades que difícilmente hubiera podido llevar a cabo antes. La cosecha del 2007 (¡qué pronto se nos antoja antiquísima una fecha del año pasado!) dejó, entre otras cosas, la publicación de un artículo sobre testeo de software y una ponencia en Madrid sobre accesibilidad web.

La ponencia: accesibilidad web

Logo de Expo:QAEn noviembre di una charla dentro de Expo:QA 2007, un congreso sobre calidad de software que tuvo lugar en Madrid. La ponencia tenía como título “Accesibilidad web: principios, mitos y algunos ejemplos prácticos“, y trata sobre principios y ejemplos relacionados con el objetivo de conseguir que el mayor número de usuarios puedan acceder a los contenidos de la web, no sólo los discapacitados, porque… (si quieres saberlo, tendrás que leer la presentación).

La presentación está colgada, en formato PDF, en la web de Expo:QA. El contenido se entiende bastante bien, a pesar de que está pensada para acompañarse de las explicaciones que dió en su momento este que os escribe.

Hay referencias a la presentación en el blog de SQUaC, y en otros sitios web como este, este o este.

El artículo: recetas para el diseño de casos de testeo

El artículo, escrito junto a la responsable del grupo SQUaC, Tanja Vos, forma parte de los proceedings de las IV Jornadas sobre Testeo de Software (JTS2007) que tuvieron lugar el año pasado. Por cierto, este año estamos en plena preparación de las V Jornadas, JTS2008, que os recomiendo desde aquí.

La primera parte del artículo consiste en una introducción al testeo de software, incluyendo algunas definiciones básicas, que creo que puede resultar interesante tanto para aquellos a los que el software testing les suena a chino, como para aquellos interesados en el tema que quieran aclarar conceptos.

(more…)

Feliz 2008; ¿te ayudo con tus propósitos?

Que tengamos todos un año 2008 bárbaro y como deseo… ¡que nos leamos mucho más que el año pasado! Hablando de deseos… (click en la imagen para ver la tira completa) Quizás pueda ayudarte con alguno de tus propósitos para…

Que tengamos todos un año 2008 bárbaro y como deseo… ¡que nos leamos mucho más que el año pasado! Hablando de deseos

Viñeta de Calvin & Hobbes

(click en la imagen para ver la tira completa)

Quizás pueda ayudarte con alguno de tus propósitos para este año. Sin pensártelo, haz click en los siguientes enlaces (tranquilo/a, no hay nada irreversible) y completa los pasos necesarios para:

¿Tus propósitos?

Estos enlaces te servirán si

  • has oído hablar de Twitter, o de RSS (o de feeds, o de agregadores, o de …) y has pensado “tengo que dedicarle un ratito a aprender cómo funciona es eso”
  • o si no sabes qué son, pero te has propuesto aprender algo nuevo (y útil) este año…

Después puedes leer más sobre Twitter o sobre los RSS y la página personalizada de Google para entender exactamente de qué va todo eso. Pero no te cortes en utilizar los enlaces de arriba, porque verás que se trata de aplicaciones más fáciles de usar que de explicar.

De nada. 🙂

Mis propósitos

Con relación a este sitio, me gustaría dedicarle tiempo a alguno de los dos proyectos que envié a la beca de Alzado y que no fueron premiados… Aunque siendo realista, es más probable que los publique aquí al menos para que no se queden en el olvido, y esperar vuestros comentarios sobre ellos, o incluso algún ofrecimiento para ayudarme a desarrollarlos 🙂

Por supuesto, escribir y publicar aquí más (y mejor) que hasta ahora.

(y que las cosas en lo personal y lo laboral sean tan interesantes como pintan)