También disponible en Español

Inf@Vis!

The digital magazine of InfoVis.net

Pattern Languages: don't re-invent the wheel
by Juan C. Dürsteler [message nº 40]

Pattern Languages promise to avoid re-inventing the wheel by giving excellent solutions to common problems. There are already collections of them.

We could define a pattern as a recurrent scheme that takes a certain form that clearly stands out of their underlying context. We speak about behaviour patterns, we search for patterns in image recognition, our visual sense is very efficient at finding patterns. Probably pattern recognition has been the source of learning and survival for the human species (it's always useful to distinguish the skin pattern of a venomous snake from one that isn't.)

On the other hand the foundation of any science or technology relies on a set of terms that convey the expression of the related basic concepts and a language that allows you the combination of both. For example, in Physics, the fundamental concepts of time, mass and space, among others, together with some mathematical rules allows us to derive powerful laws and secondary concepts, like speed and acceleration.

On the basis of these concepts Christopher Alexander, professor of Architecture at the University of California in Berkeley, built during the second half of the 70s, a new architecture design approach based on pattern languages. His findings are summarised in a very interesting trilogy named "The Timeless Way". Especially interesting is the book "A pattern language".

In this context Brad Appleton* explains in his excellent introduction to the topic, a pattern as "a named nugget of instructive information that captures the essential structure and insight of a successful family of proven solutions to a recurring problem that arises within a certain context and system of forces". Patterns are then a solution that is useful, usable and used, i.e. reusable in an efficient way. Patterns and pattern languages are therefore ways of describing best practices, good designs and excellent, reusable solutions. In order to see what form the anatomy of a pattern language takes, I recommend visiting the Design Matrix website.

Although Christopher Alexander has devoted his efforts to the creation of a pattern language in architecture, his findings have gone well beyond this discipline infiltrating seriously several fields, among which strongly stands out Software Engineering and Information Design (suspiciously known also as Information Architecture)

But going straight to the practical side of things and as a clear example of what pattern languages are, it's worth seeing the pattern collections that begin to appear. Among them we can mention 

In the end, an efficient way to avoid wasting time re-inventing the wheel and, therefore using the creative energy to innovate what is still waiting to be resolved.


*) An interesting website to approach the topic is that of Brad Appleton. Excellent introduction.
**) Thanks to Peter Boersma for the link
In Spanish you can take a look at the summary on patterns by Pablo Figueroa.

Links of this issue:

http://public.logica.com/~stepneys/bib/nf/alexandr.htm  
http://www.amazon.com/exec/obidos/ASIN/0195019199/infovisnet  
http://www.enteract.com/~bradapp/docs/patterns-intro.html  
http://www.designmatrix.com/pl/anatomy.html  
http://www.hillside.net/patterns/patterns.html  
http://www.satama.nl/~weliem  
http://www.cs.vu.nl/~martijn/patterns/index.html  
http://www.designmatrix.com/pl/ecopl/index.html  
http://c2.com/ppr/titles.html  
http://agamenon.uniandes.edu.co/~pfiguero/soo/Magister_Patrones/intropatrones.html  
© Copyright InfoVis.net 2000-2014