“E-Commerce Design Patterns are a distillation and summary of best practice, that can be applied quickly and effectively to create a variety of specific design solutions”
This is how we’ve defined design patterns. In this post, we explore in what way design patterns are ‘patterns’ and then tease apart our definition to compare each part with the definitions other design pattern experts have used.
Christopher Alexander, the father of design patterns provided the original definition: ‘Each pattern describes a problem which occurs over and over again in our environment, and then describes the core of the solution to that problem’ (Christopher Alexander 1977 Pattern Language). As implied here, the word pattern has two subtly different meanings – the repeated similarity of the problem (pattern = repeated decorative design) and the archetype of the solution to that problem (pattern = form to shape a mould for a casting). The development of a design pattern, therefore requires that the similarity of repeated problems is identified and defined, something that can only emerge out of knowledge and experience of design – ‘design patterns document design knowledge on a personal, project or organizational level’, Victor Lombardi
Then, probably out of even deeper design knowledge, the ingredients that go towards a solution to the problem are distilled: ‘design patterns describe best practices in design’ – Jenifer Tidwell; ‘design patterns are bite-sized chunks of best practice’ – Bill Scott; ‘a design pattern is a repeatable design solution, that’s been tested, reviewed and verified’ – James Reffell
All of which brings us to the first part of our definition ‘E-Commerce design patterns are a distillation and summary of best practice …’
Of course the value of design patterns is to make the work of other designers more efficient and more effective – to prevent ‘people re-inventing the wheel and lots of information being lost’, James Reffell & Micah Alpern. The aim is to ‘document design knowledge … creating a complete but accessible reference resource’, Victor Lombardi. Design patterns ‘should be so clear to the reader that she can apply the solution without the need for further clarification’ Martijn van Welie.
… bringing us to the second part of our definition ‘E-Commerce Design Patterns are a distillation and summary of best practice, that can be applied quickly and effectively …
All this, however, begs the question – used by whom, for what and under which circumstances? In an excellent four-part discussion of design patterns, 5 of the world’s leading thinkers on design patterns agonised at some length over this question. Bill Scott admitted ‘I have struggled with this tension between patterns as a language and patterns as a detailed prescriptive solution. It is somewhere along this continuum of design principle (most generic) down to guideline (most specific) that we will find design solutions and define them as design patterns’.
In his original definition, Christopher Alexander was in no such doubt – a design pattern describes its solution ‘in such a way that you can use this solution a million times over without ever doing it the same way twice’. Yet, many of the design patterns used by both Yahoo! and E-Bay are defined to such an extent that they have the code snippets to cut-and-paste for an instant solution. So which is it? Is a design pattern a general principle or a detailed and specific solution?
It seems to me that we are talking here about two very different applications of design patterns. A design pattern for particular sites (such as Yahoo! or E-Bay) can be very specific. It is perfectly reasonable to say to your design team, here is how we solve this particular problem and define the solution down to the pixel, font and hexidecimal colour code. For a design pattern that sets out to describe best practice across an industry (such as e-commerce) this would be ridiculous. And since we are setting out here to be capturing e-commerce design patterns, we come to the final part of our definition:
E-Commerce Design Patterns are a distillation and summary of best practice, that can be applied quickly and effectively to create a variety of specific design solutions.