King Marketing

AJ Kandy
Creative Director

AJ brings over 17 years' experience to KMA+C.

Previously in charge of Branding, Interactive and Creative at telecom software maker Interstar Technologies, AJ also served as Art Director at magazine publisher EMG Media. He's also worked on projects for Power Corporation, Air Canada, Merck Frosst and BCE Teleglobe.

AJ is a graduate of Concordia University's Communication Studies program.

Other KMA+C Blogs

Ken King, President

More About Pattern Languages

Adapted from an ongoing email exchange with Andy Rutledge, which helped clarify my thinking a bit.

What threw some people off about the initial post in this series is my use of the word “design” — which I use in the sense of industrial design: how it all works together, to solve a problem.

For example, in the history of the automobile, it’s taken 10,000 years to go from the discovery of fire to the launch of the Toyota Prius. We have an accumulated body of knowledge about all aspects of the process of building and using cars, from basics like woodworking and metallurgy to the invention of the assembly line, time-and-motion studies, robotics, ergonomics and visual perception studies, modern road-building techniques, safety studies, traffic studies, etc….Without design patterns, we’d have to reinvent everything from scratch every time we wanted to go from A to B.

To further the analogy, consider the fact that the “user interface” of most cars are surprisingly identical, including the placement of pedals and controls, even down to the little icons on those buttons and controls — while the size, power, type of engine, fuel and exterior styling may vary dramatically. Are these design patterns at work?

Christopher Alexander-style design patterns are not rigid templates, but really a kind of interactive, context-sensitive rule. It’s like an IF:THEN routine, which in turn suggests others down the branching program execution, if you want to get nerdy about it. In any case, Alexander and his team derived their urban design patterns from the observation of how people actually behave, and how they use places, things, and systems. Here’s the titles of a few of them:

  • Try to have light on two sides of every room.
  • In the house, make sure there is a sunny place.
  • Vary the ceiling height depending on the use of the space.
  • Make one room of the house be an “outdoor room”.
  • Ensure that the depth of the balcony is at least six feet

The “why” of these rules are explained in his books - I invite you to read them. He and his team have literally hundreds of these patterns in his books, derived from observation and research of patterns of house, neighborhood and town building worldwide.

Obviously not every house has to use all the rules. And the rules say nothing about the choice of forms, materials, styling and decoration, I’m sure things adapt to suit their locale. Two houses that followed the exact same subset of rules could still end up completely different, according to their owner’s needs and tastes.

The thing they share is that the patterns help make them sensitive to their immediate context, internally consistent and user-friendly, a solid core from which to extend, and retaining a kind of timelessness that is immune to fashion or fad.

It’s no coincidence that the software industry has embraced the idea of design patterns as a way to stop “reinventing the wheel” every time they want to do things. In essence, certain things are “known to work” and therefore, unless they’re building some kind of Myst-like puzzle game with mystery meat navigation, a programmer ignores them at their peril.

Those of us who work in the Web biz, which is making fledgling attemtps at professional standards, have to work in a world where the tools of the Web are democratically accessible: full of self-taught designers still making their first 1000 mistakes, often in public. (I include myself in this.)

I believe it would be supremely useful to have a series of pattern languages for web design and development, as a repository of things and practices we know to work well, in order to build a more humane Web. I imagine some sort of wiki encompassing everything from abstract notions of form to specific snippets of code.

Andy Rutledge suggested that applied design fundamentals were more important than design patterns. I think it’s supremely important that people working in the field have them, but I also noted that the concepts contained within the pattern “applied design fundamentals” ARE design patterns themselves:

  • figure/ground contrast
  • Minimum font sizes and line lengths for optimized readability
  • When to use serif fonts, and when to use sans-serif
  • Concepts of colour harmony
  • The use of red, yellow and green in user feedback, (combined with symbols for the colourblind, and audible warnings for the visually impaired).

..yadda yadda. Each of these concepts has a little rule of thumb or suggestion behind it…which comes from centuries of real-world use, adaptation, experimentation and experience. We don’t think of them as design patterns, we think of them as “obvious.” Well, as I noted in 2004, we wouldn’t consider it obvious for an architect to put light switches 9 feet off the ground, but Web developers who should know better do the equivalent all the time.

April 20, 2006 10:03 PM

© 2004 King Marketing, Advertising & Communications, Inc.