Tips for Editing Patterns

(or coaxing expertise from experts)
 
 
 

Argument


Patterns and Pattern Languages are a literary form. This means that there are rules to follow. The result will be better for following the rules, better in that it becomes informed by the rule maker, and, better in that those familiar with the form can more easily interpret the work. Following the rules does not, of course, make the work worth interpreting. The work must have something worth saying and actually say it for the work to have value.

Pioneers in a new computer technology have lots worth saying. I am confident of this because making computer systems work requires an unusual mix of creativity and meticulousness that almost guarantees both originality and repeatability of programming acts. The value of their collective knowledge increases when there are more programmers, when they have pioneered alone longer, and when there are larger numbers who will follow hoping to learn from their experience.

The pattern form is well suited to reporting the expertise acquired writing real programs. This is not surprising because the form in informed by someone (Alexander) on a very similar quest: record the knowledge acquired in the act of creating utility in a medium unforgiving of mistakes. But Alexander found the assembly and organization of expertise far more difficult than he had expected. This is because he and we can't yet fathom how practical knowledge is stored in the brain; how it can be so comprehensive and yet so close at hand.

I've written tips for authors[1] attempting the pattern form. Here I offer advice for those who edit those authors.
 
 

Advice


The pattern community maintains the practice of shepherding all submissions to their conferences. I've often chosen the most difficult papers to shepherd, especially when they were of an unusual style or by an author that others would be afraid to criticize. My advice here is a distillation of questions I ask and answer as a way to get to the heart of the material.

In the end there is really only one question that I have to answer. That is ...
 

Unfortunately often the answer is no. This is rarely because of poor language skills. Rather, as I argue above, it is because of the intrinsic difficulty of the form.
  Do not confuse the use of a template with writing a pattern. In my years of writing and reviewing patterns I've found templates a mere nuisance and never a help. I try to read past them to see the whole pattern as one expression and then judge it by the test questions above. I've read patterns that were no more interesting than reading a survey form. For some of these I've been able to find the spark and coax it to a blaze. And once blazing, the patterns will survive any template, grammar and punctuation.

Ward Cunningham
Portland, 2002
 

[1] http://c2.com/cgi/wiki?TipsForWritingPatternLanguages