Patterns for Personal Web Sites
There are many personal Web sites. The vast majority are mediocre. Some are bad. Fewer are good. An extremely small number are excellent.
These excellent sites -- and I use "excellent" subjectively -- fascinate me. Why is finding a new one such a delight? What distinguishes them from the rest? What unnamable yet instantly recognizable quality do they possess?
This is my attempt to answer some of these questions. My method is to distill the qualities of the best personal Web sites (and my own) into a set of patterns. These patterns can be used as guidelines for creating a personal Web site.
These patterns are for people who want to create a personal Web site that:
These patterns are not for people who want to create:
The intended audience for these patterns is people who have a working knowledge of HTML and Web site design.
This is not a discussion of what patterns are. If you're interested in patterns, there are better descriptions available than any I could write. Likewise, this is not an HTML or Web site design primer.
This collection of patterns is not a finished work. As patterns make themselves known, they'll be included. (Here are some Ideas Under Consideration.) Patterns may also be renamed or dropped. See the revision history for a summary of changes that have occurred.
This is not a pattern language in Christopher Alexander's sense of the term. I truly wish it were; it would please me greatly to present a complete pattern language, rather than the work in progress these patterns represent. With a few more years' work these patterns might complete their transformation into a pattern language, but as I write they are missing several important components:
Organization. The scope of Alexander's architectural patterns range from countries down to windows. His patterns form a hierarchy, starting at the widest scope and proceeding to details. In contrast, the patterns presented here are an amorphous set. While there are candidates for top-level patterns and low-level patterns, the connections between patterns do not follow a smooth downward flow. There are gaps in the hierarchy, and patterns that do not fit will within it. Hence, it's not developed enough to truly merit being called a pattern language.
Justification. Alexander's patterns were backed up by evidence of their correctness. While that's true for some of the patterns on these pages, others are here for a variety of reasons: they were useful or self-evident, they seemed like a good idea, or they gave that sense of delight that's the hallmark of a pattern.
Formal Presentation. Alexander's patterns are presented as flexible solutions to problems arising from conflicts between forces. The patterns on these pages forego almost all of the structured presentation that made Alexander's A Pattern Language famous. In particular, there is no introduction of patterns that give rise to a particular pattern. Also, the forces that engender each pattern are described very informally, if at all.
These patterns as a whole are not consistent. For example, the patterns Three Jump Maximum and Index Pages have different aims than Secret Garden. Yet each was important enough to include, despite the contradictions their presence creates.
Many of these patterns are not for everyone. This set of patterns has guided the growth of my site over the last seven years; your site undoubtedly has a different, possibly overlapping, set of patterns.
What you get out of these patterns is up to you. You can choose to adopt all, some, or none of them. Even if you adopt none, simply reading the patterns might give you ideas for improving your site.
The patterns are grouped by type:
The best starting point is the content patterns.
For an overview of how the patterns relate to each other, see the pattern map.
These patterns gestated in my head for several years, beginning when a friend described a Private Entrance to his site. I finally wrote them down and organized them enough to post on the Web in 2002. The first major revision came in 2003.
A summary of changes is available on the revision history page. It also provides downloadable copies of all versions of the site, old and new.
Many people have influenced my thoughts on Web site patterns, including:
Robert Orenstein's An HTML 2.0 Pattern Language. Orenstein's patterns apply to generic documents, but some are relevant to personal Web sites. Also, to paraphrase Laurie Anderson, "[the introduction to his pattern language] says everything I wanted to say, only better."
Mary E.S. Morris & Randy J. Hinrich's excellent 1996 book Web Page Design. Unlike most other Web-related books, it is about effective site design, rather than HTML and other technologies used to achieve that goal. Some of it's out of date, but the majority of it is timeless.
The Web site patterns on the Wiki Wiki Web.
Jakob Nielsen's Alertbox columns, which offer a wealth of advice on site usability.
Various friends and folks who've shared their thoughts on Web site design over the past few years.
The creators of several excellent personal Web sites. "Steal from the best."
Also, special thanks go to Ward Cunningham, for his invention of wiki. Without a wiki, I doubt these patterns ever would have made it out of my head.
If these patterns help you, or you take exception to them, please let me know. I consider these patterns a work in progress, and am interested in your comments.