Patterns are nouns. Typically, they are identifiable things, which emerge, or are created, to resolve a set of pressures or problems. They are typically GENERIC ... they have emerged before, although usually in a unique way, adapted for the particulars of a situation. And for our purposes, patterns are GOOD. (An anti-pattern (-) is BAD.) And patterns should be GOOD for the WHOLE system. The SCALE at which they should be applied as a solution should also be clear. It should be clear at which STAGE of development they should emerge. They should also just be RIGHT: i.e. a pattern should make sense both to your head and your heart.

Here you'll see me generally aiming at finding GRADIENTS of patterns, because, to me, patterns are most useful when collected into SEQUENCES.

Note that a blog certainly doesn't have the right kind of order for this work. What I have here is essentially "scratch paper", or "working papers", for patterns which themselves will eventually be presented as a gradient, in order. Of course, that kind of webapp is a pattern: "GRADIENT SEQUENCE".


When considering the gradient of patterns that makes a website, the styles are patterns that fit into the gradient as lower-level transform functions or methods, applied to the higher-level instances of HTML patterns.

CSS "rules" or styles are patterns that apply across the whole system, at the appropriate scale. Some are common to groups of pages, some are common to HTML structures, and some are exceptions.

When applied, the results are different from instance to instance, as they should be. And yet the purpose of the abstraction is consistency. Very unique things can have common properties at different scales -- Shakespearean sonnets, for example, make use of iambic pentameter on a small scale, and a large scale rhyming scheme of ABAB CDCD EFEF GG.

On the web, patterns at certain scales, having to do with appearance, are styles in the head element of the document, or in Cascading Style Sheet (CSS) files, typically assigned the extension .css. They also can be assigned inline ... which is fine for quick-and-dirty exercises. So, there seems to be a gradient of CSS use:

* quick page: inline style property
* larger page or small web application: styles defined in "head" section
* serious site of perhaps dynamic pages, or a web application: styles in .css file
* serious web service: in several .css files
* super-serious: dynamically generated .css definitions and files

With the right tools, you can start at the high-end ("super-serious"). More on that in another post.

CSS has another gradient for the HTML patterns / elements / features it applies to, or effects, from large scale to small:

* element morphology (position, size, margin ...)
* HTML large elements (tables, lists, paragraphs, buttons, scroll bars ...)
* visibility
* containers
* colors
* text size
* text font



Post a Comment

<< Home