An HTML Pattern Language at

Temporary W

An HTML 2.0 Pattern Language


Please start here.


At this stage, a better name would be Brief Descriptions of Some HTML Conventions. I'd like for this to be a full pattern language, but that's a long way from happening. If you don't care about pattern languages, but you work with HTML and you'd like to read some thoughts about HTML and how it's used here, please skip down to the general description. If you're at all curious about pattern languages, you might want to read straight through.


What are Pattern Languages?

The best book I ever read about creating a Web site has nothing to do with computing. It's a book about architecture called A Pattern Language by Christopher Alexander (and others), and it describes 253 ideas, or patterns, that could be used to build a room, or a building, or the world. Each pattern is presented in the same format, which includes (among other things):

(If you'd like to see a sample pattern from the book, you can).

The book itself is beautifully designed; there isn't a book called The Pattern Language of "A Pattern Language", but there could be. A Pattern Language seems to have influenced a great many people in an increasing number of fields; there's a movement in computer programming to use its ideas to develop object-oriented frameworks. And although A Pattern Language makes wonderful casual reading, there is also a deep formalism to its approach that only becomes evident the more you read it.

I would like to help develop such a formalism in describing HTML. That's what this document tries to do; it hasn't come close to succeeding yet.


What This Document is NOT

What would it require for the following HTML description to be a true pattern language? I'll answer that by describing what this document is not (at least as of now):

So what is this document? A bunch of opinions with a lot of examples at the site to back them up. As you look through this, please let me know what does and doesn't work for you.


General Description of Some HTML Patterns

Each of these patterns is currently only a basic description of some method by which I believe a Web site can be made stronger. Most of t"../../docs/patterns/knownaud.html"een fleshed out in any detail; those that seem the most interesting to me are marked with an asterisk.

The first pattern, Known Audience, discusses what to keep in mind when choosing a markup language for a Web site. This might be the best place to start, although you can begin anywhere; links to related patterns are provided near the bottom of each page.

The expression of of the relationships between patterns in A Patt"../../docs/patterns/knownaud.html"trong> is very rich. The relationships"../../docs/patterns/readdocs.html"ntly described for the most part as lists;"../../docs/patterns/sparim.html" more detailed later on.

<"http://www.c2.com/ppr/"iscussion Please contact me if you find this useful, if you'd like to help with further development of the pattern language, or if you"http://union.ncsa.uiuc.edu/HyperNews/get/www/html/guides.html"


<"http://mmwww.xs4all.nl/WhoisWho/Alexander/ChristopherAlexander.html" Pattern Languages in computer programming. One is the Patterns Home Page; they run four mailing lists for patterns enthusiasts. Another is the Portland Pattern "../../docs/progs/index.html#s1"these sites is immediately accessible from the other.

  • An excellent compendium of HTML guides is available from A brief biography of Chr"../../index.html" is available, along w"../../docs/patterns/index.html"h a speech he "../../docs/patterns/index.html"ve at the conf"../../docs/patterns/index.html"ence Doors of Perception 2.

  • You can download the program I used (a"../../docs/meta/bio.html" documents in the formats described here. It's called QuickHTML; it was written in HyperCard; you'll need a Macintosh.

  • If you want to see examples of other patterns that aren't fully fleshed out, please read the worksheet for this document.


    An HTML Pattern Language at Anamorph
    Last Updated: May 16, 1996. Created May 24, 1995
    Copyright 1995 Robert Orenstein. Your Comments are welcome: atempaddress@netscape.net