jueves, 4 de diciembre de 2008

CHRISTOPHER ALEXANDER Y LOS PATRONES DE DISEÑO

Escrito por Dani Armengol Garreta el 5 Jun 2007En el año 2001, en un intento de poner en ridículo el sistema de patentes, un australiano patentó un "dispositivo circular para facilitar el transporte". La rueda se había reinventado de nuevo, como tantas veces se ha hecho desde hace miles de años.Hoy en día, en la era de la comunicación, si bien las grandes innovaciones son conocidas en todo el mundo de forma prácticamente instantánea, las pequeñas soluciones a problemas concretos siguen siendo olvidadas e inventadas de nuevo, una y otra vez.
En la experiencia paralela de hoy vamos a hablar del método por excelencia para evitar que reinventemos la rueda, los patrones de diseño, y de su precursor: el arquitecto Christopher Alexander.Christopher Alexander nació el 1936 en Austria, aunque pasó sus primeros 22 años en Inglaterra, donde estudió arquitectura y matemáticas, mudándose finalmente a Estados Unidos donde actualmente ejerce de profesor emeritus en la Universidad de California.Al mudarse empezó a aplicar sus conocimientos matemáticos y el racionalismo al diseño, culminando en la publicación del libro "Notes on Synthesis of Form" el 1964.Sin embargo, al cabo de unos años él mismo se corregía:
"Soy, como algunos sabréis, matemático de origen. Dediqué muchos años, en los sesenta, a intentar definir una visión del diseño aliada con la ciencia [...]. Jugué con la investigación de operaciones, la programación lineal, todos estos juguetes fascinantes, que los matemáticos y la ciencia nos ofrecían, e intenté ver cómo todo esto podía darnos una nueva visión del diseño, qué diseñar y cómo diseñarlo. Finalmente, sin embargo, observé que esta visión no era productiva."
Christopher Alexander se dio cuenta que el diseño no era algo matemático, no podía realizarse sin tener en cuenta las sensaciones y estaba muy relacionado con la vida. El diseño debía responder a necesidades de personas: un banco en un parque no era un "banco", era el banco de unas personas.Los pequeños detalles de diseño, sea en un edificio o una ciudad, debían responder a multitud de necesidades relacionadas con su entorno y, a la vez, integrarse con él. Cada una de estas necesidades tenía un modelo de solución que podía ser imitado cada vez que se detectava el mismo problema, fuera en otro momento o en otro espacio. Este modelo replicable no era, ni más ni menos, que un patrón de diseño.Christopher Alexander publicó el año 1977 su libro "A Pattern Language", donde podemos leer su teoría de cómo el lenguaje de patrones puede ayudar a entender los objetos no como objetos en sí sino como elementos de interacción humana. Él define un patrón de diseño como "una descripción de un problema que ocurre una y otra vez en nuestro entorno, así como la solución a ese problema, de tal modo que se pueda aplicar esta solución un millón de veces, sin hacer lo mismo dos veces".Esta descripción da un nombre al patrón, describe el problema que trata, ofrece una solución y, finalmente, habla de las consecuencias, ventajas e inconvenientes, que tiene esta solución.Por ejemplo, uno de sus patrones de diseño de edificios, llamado originalmente "South facing outdoors", constata que la gente no usará un espacio abierto si no es soleado (exceptuando en climas muy cálidos) y propone la solución de colocar siempre los espacios abiertos, como un jardín, en la parte sur del edificio.Los patrones de diseño pasaron al campo del software el año 1994, con la publicación del libro "Design Patterns: Elements of Reusable Object-Oriented Software", por el llamado GoF ("gang of four", Erich Gamma, Richard Helm, Ralph Johnson y John Vlissides). El libro tuvo gran éxito, pero curiosamente no estaba enfocado según la filosofía de Christopher Alexander. Los patrones daban solución a problemas, pero no del usuario del software, sino de su desarrollador. Aún hoy en día, los patrones de diseño son usados relativamente poco por los arquitectos de información y los diseñadores de interacción, quienes a veces siguen resolviendo una y otra vez el mismo problema. Sin embargo, existe mucha información sobre este tema tanto en la Red como en publicaciones, como el reciente "Designing Interfaces: Patterns for Effective Interaction Design", equivalente al libro de Erich Gamma et. al para interfaces.Los patrones proporcionan en el diseño de interacción las mismas ventajas que en cualquier otro ámbito y pueden ser muy útiles en cualquier proyecto ya que:
Hacen más eficiente el diseño, pues no es necesario volver a generar alternativas para solucionar un problema y elegir una de ellas.
Por su antigüedad, ya han sido probados y se conoce su eficacia. Esto evita riesgos en el desarrollo de una nueva solución para un problema conocido.
Permiten crear estándares de uso, los usuarios acaban conociéndolos e, incluso, esperándolos, lo que contribuye a un fácil aprendizaje de los sistemas.
Crean un vocabulario común que contribuye a mejorar la comunicación interna entre diseñadores.
Su aplicación es viable en distintas fases del proceso de diseño, desde la conceptualización hasta el diseño final, siempre y cuando se conozcan ya los requisitos de usuario.Debemos tener en cuenta en todo momento que los patrones son una herramienta más de diseño entre muchas otras. De hecho, Christopher Alexander define en su libro "The Oregon Experiment" hasta seis principios que se deben seguir a la hora de diseñar, uno de los cuales es utilizar un lenguaje de patrones. El segundo, en lo que se refiere al diseño de interacción, seguramente os resultará familiar:
"El principio de participación: todas las decisiones sobre qué construir y cómo construirlo deben estar en manos de los usuarios."

No hay comentarios: