What are Design Patterns? What is a Pattern Language?According to Wikipedia, a Design Pattern can be described as follows:
"A pattern language is a structured method of describing good design practices within a field of expertise. It is characterized by:
- Noticing and naming the common problems in a field of interest,
- Describing the key characteristics of effective solutions for meeting some stated goal,
- Helping the designer move from problem to problem in a logical way, and
- Allowing for many different paths through the design process."
More on Pattern Languages
hereWhy might design patterns be useful in thinking about online (and offline) communities?There are many different technical and social aspects to community development. This project's intent is to document and share useful patterns (and anti-patterns!) that are found in communities.
What patterns are relevant in determining which features an online community should contain?A great presentation on design patterns in communities can be found in the presentation attached below. NOTE: This presentation focuses primarily on the technical patterns (ie. "features") that can be used in creating online communities. It does NOT address the more important issue of the interpersonal and social patterns that emerge.
The presentation above contains the following patterns:
- Quick Registration
- Login
- Welcome Area
- User Profile
- Avatars
- Users Gallery
- Buddy Lists
- Contacts / Friends
- Groups
- Invitations
- Shared Editing
- Reputation
- Voting
- Direct Message
- Chat
- Comments
- Forums
- Blogs
- Neighbors
- Friends-of-friends
- Activity Stream
What are the interpersonal patterns that appear in online communities?Expertise Patterns
Process Patterns
Other ResourcesA Pattern Language, by Christopher Alexander
Design Patterns, by the gang of four