This response was prompted by KenAuer's short essay, "Therefore BOOM!" (http://www.rolemodelsoftware.com/moreAboutUs/publications/thereforeBoom.php).
I think effective patterns are about catharsis. Catharsis is the positive release of emotion you feel at a point of closure, climax, fulfillment, or finality in a work like a play or movie. It's catharsis that makes the message memorable -- both in a play and in a pattern. It touches something deep within us, something emotional that, in the best of cases, ties into something spiritual or psychological.
Few patterns elicit catharsis, and length is probably the single greatest culprit. Some patterns that exhibit catharsis do so with a BOOM. The BOOM can come in several places; it most often accompanies the solution, but it can also appear as a twist in the resulting context, or as an "in your face" in the forces. In the Cockburn form, it often comes in the "Overdose Effect" section. KentBeck
has a rule "OneStartlingSentence
" for papers -- perhaps including patterns -- that weights the BOOM near the front end.
Perhaps one of the dynamics going on with BOOM is that it's a lot like the Zen master's MuAnswer
-- the mind-bending answer that takes a decidedly DeBono?
-ian toll on the stasis of consciousness and brings the mind around to a new perspective on the problem.
A BOOM is an advance over no catharsis at all -- and therefore an improvement over most patterns. In that respect, BOOM is commendable. But it also needs to be viewed as perhaps the most sensational and cheap way to gain the desired end. Used continuously, it becomes monotonous, much as ScottMeyer?
's Cute Style becomes tedious after a time. There are other means to the same end; and the end, I believe, should be catharsis.
Haydn recognized the BOOM effect. His "surprise symphony," acclaimed for its novel use of a synchronous, sudden opening, opens with a BOOM to startle the audience. The auditory affect is strong, but the deeper aesthetic is in the audience's wonder that all the players can hit the leading beat at once. Haydn mocked these audiences. In a letter to a friend, he talks about it as a "trick" to thrill the unsophisticated audiences looking for sensation, pointing out that the BOOM was no more an accomplishment at the beginning of a piece than after bars of rests in the middle of a piece.
(Haydn was fond of these little pranks. To impress upon his patron that he was eager to go to another city, he wrote a symphony in which the performers were to walk out, one by one, leaving a lone violinist and his candle.)
Other approaches to catharsis are more gentle, friendly, respectful of the reader's delight and intelligence. Alexander uses humour in some of his patterns (the need to have a place for drunken guests to sleep for the night) and uses literary variation in others (I don't remember which ones, but BobHanmer
showed it to me the other day -- it's the only pattern for which the solution does not begin with "Therefore.")
There are other techniques that are psychologically reminiscent of humour but yet which are not humourous. Humour is the result of an incongruity, a kind of surprise, a DeusExMachina
has a solution like that -- not a boom, but an "Ah!" or an "Aha!" To me, BOOM and "Aha" are alternatives. BOOM is like TomCargill
writes: an experienced preacher full of intellectual vim and vigor who triumphs through the muscle of cleverness and experience. "Aha" is like a WardCunningham
, an Indian jungle guide who quietly shows the tricks to find the secret cave of treasures. No shouting there; no noise, no booms.
BOOM is one technique. I like it. Used all the time, it wears on my nerves. Good literature benefits from variation. Take your readers on an emotional journey, a tour of the feelings that go with the cycles of design. Not every experience is a BOOM; let the pattern reflect the moods of the experience.
Remember Elijah. God was not in the wind, the earthquake, nor the fire. After the fire, there came a still small voice; and in that still voice, onward came the Lord.
Nicely put, Cope ... there is that other catharsis, the soft melting, the growing smile, the tension slipping away slowly, gently. Your frown relaxes, your head comes up, the sun comes out from behind the clouds. Those are nice, too. -- RonJeffries
Patterns seem to have an If/Then form regardless of how many sections are used or the particular style. It seems that there are all sorts of things that can be done to make the If/Then more subtle, but having it explicit has advantages also. A nice crispy, "this is the problem" at the beginning helps people weed through patterns that may or may not be applicable. But then the issue is, if we have separated out the "If" completely, the "Then" goes boom.
If we really go in the direction of literature, and patterns are intended to be read completely, there are all sorts of variations. The general direction that pattern languages seem to take is nice. Lots of little booms, but with enough foreshadowing and drama to the make the language feel complete. Very good music hints at the coming theme in a variety of ways before its statement.
I haven't written any patterns. Most of what I write attempts to change the way that people see things using problems as examples. I aim for a very conversational style, where I speak as if I'm exploring a problem with a person sitting right next to me. We see what doesn't work and we see what does. MartinFowler
tends to use that style a lot, and I find reading and writing in it very comfortable.
has many conceptual booms in the Accountability chapter, but the way they are presented softens their blow without reducing their impact)
One problem I see when a pattern author tries too hard to achieve "Therefore -- BOOM!" is that instead of developing a tension, it instead draws out the suspense, resulting in anticlimactic frustration rather than a "BOOM!" This makes the reader feel like the author is trying to hide something in subtlety, which is not the way to bring apart the desired catharsis. -- BradAppleton
Reading this discussion reminds me of a phrase we coined at University. See ObjectMoment
. -- StuartBarker